diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9d5b9723..5ec37be2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,7 +6,7 @@ # @global-owner1 and @global-owner2 will be requested for # review when someone opens a pull request. #* @global-owner1 @global-owner2 -* @rehaddad @ashp @ios-xr/sl-api-dev-team +* @hshahul @smaini @gsubbann @xr/sl-api-dev # Order is important; the last matching pattern takes the most # precedence. When someone opens a pull request that only diff --git a/.github/workflows/proto-ci.yml b/.github/workflows/proto-ci.yml new file mode 100644 index 00000000..9187a080 --- /dev/null +++ b/.github/workflows/proto-ci.yml @@ -0,0 +1,100 @@ +name: Proto CI + +on: + pull_request: + branches: + - main + types: + - opened + - synchronize + - reopened + - ready_for_review + push: + branches: + - main + merge_group: + types: + - checks_requested + +permissions: + contents: read + +concurrency: + group: proto-ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + proto-lint: + name: proto-lint + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Check out repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Run Buf lint + uses: bufbuild/buf-action@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + pr_comment: false + lint: true + breaking: false + format: false + push: false + archive: false + + proto-breaking: + name: proto-breaking + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Check out repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Run Buf breaking check + uses: bufbuild/buf-action@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + pr_comment: false + lint: false + breaking: true + format: false + push: false + archive: false + + generated-bindings-up-to-date: + name: generated-bindings-up-to-date + runs-on: ubuntu-latest + timeout-minutes: 45 + + steps: + - name: Check out repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Regenerate bindings in Docker + shell: bash + run: | + set -euo pipefail + make clean + make bindings + + - name: Verify generated bindings are committed + shell: bash + run: | + set -euo pipefail + + git diff --exit-code + + if [[ -n "$(git status --porcelain)" ]]; then + echo "::error::Generated bindings are not up to date. Run 'make clean && make bindings' locally and commit the result." + git status --short + exit 1 + fi diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 00000000..75791b85 --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1,21 @@ +# Copyright (c) 2025 by Cisco Systems, Inc. +# All rights reserved. + +""" +Service Layer Object Model - Root BUILD file + +This module provides pre-generated protobuf bindings for IOS-XR Service Layer API. + +The actual bindings are exported from subdirectories: +- grpc/go/src/gengo/BUILD.bazel - Go protobuf bindings +- grpc/python/src/genpy/BUILD.bazel - Python protobuf bindings + +Source: https://gh-xr.scm.engit.cisco.com/xr/service-layer-objmodel +""" + +# Empty exports - actual targets are in subdirectories +exports_files( + ["MODULE.bazel"], + visibility = ["//visibility:public"], +) + diff --git a/Dockerfile b/Dockerfile index 423548d3..4730c0bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,11 +17,11 @@ RUN . /opt/venv/bin/activate COPY grpc/python/requirements.txt /tmp RUN pip3 install -r /tmp/requirements.txt -ARG GO_VER=1.19 +ARG GO_VER=1.24.3 ARG WS=/ws RUN mkdir -p ${WS} WORKDIR ${WS} -ARG PROTOC_VER=3.18.3 +ARG PROTOC_VER=32.0 # Install GO binary https://go.dev/doc/install RUN wget -qO- https://golang.org/dl/go${GO_VER}.linux-amd64.tar.gz | tar xzvf - -C /usr/local @@ -29,6 +29,13 @@ RUN wget -qO- https://golang.org/dl/go${GO_VER}.linux-amd64.tar.gz | tar xzvf - #Ensure PATH has GO binary path ENV PATH="${PATH}:/usr/local/go/bin" +# Allow callers to override Go module proxy and checksum settings, while +# providing sane defaults for public environments. +ARG GOPROXY=https://proxy.golang.org,direct +ARG GOSUMDB=sum.golang.org +ENV GOPROXY="${GOPROXY}" +ENV GOSUMDB="${GOSUMDB}" + # Avoid timezone prompts ENV DEBIAN_FRONTEND=noninteractive @@ -49,8 +56,8 @@ RUN unzip protoc-${PROTOC_VER}-linux-x86_64.zip -d /usr/local # Install protoc-gen-go and protoc-gen-go-grpc # Reference https://grpc.io/docs/languages/go/quickstart -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28 -RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2 +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.7 +RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1 # Above were installed in $HOME/go, since this is running as root ENV PATH="${PATH}:/root/go/bin" diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 00000000..d6bc1a53 --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,21 @@ +""" +Service Layer Object Model - Generated protobuf bindings for IOS-XR Service Layer API + +This module provides pre-generated bindings: +- Go protobuf bindings (grpc/go/src/gengo/) +- Python protobuf bindings (grpc/python/src/genpy/) + +Note: +- Proto files are NOT compiled by this module +- Bindings are pre-generated and committed (via 'make bindings') +- Exported as filegroups - XR shell component wraps them in proper libraries + +Source: https://gh-xr.scm.engit.cisco.com/xr/service-layer-objmodel +""" + +module( + name = "service_layer_objmodel", + version = "0.11.0-iosxr.0", +) + +# No Bazel dependencies needed - only exports filegroups diff --git a/Makefile b/Makefile index a2d9cbd8..80605ad7 100644 --- a/Makefile +++ b/Makefile @@ -1,62 +1,67 @@ -SHELL = /bin/bash -USER := $(shell id -un) +SHELL := /bin/bash + PWD := $(shell pwd) -IMAGE_NAME = slapi -IMAGE_TAG = latest -CONTAINER_NAME = slapi-container +IMAGE_NAME ?= slapi +IMAGE_TAG ?= latest +CONTAINER_NAME ?= slapi-container + +DOCKER_VOLUME ?= $(PWD):/slapi +DOCKER_WORKDIR ?= /slapi + +DOCKER_BUILD := docker build -t $(IMAGE_NAME):$(IMAGE_TAG) . -DOCKER_BUILD = docker build -t $(IMAGE_NAME) . +DOCKER_ENV := \ + -e "http_proxy=$(http_proxy)" \ + -e "https_proxy=$(https_proxy)" \ + -e "HTTP_PROXY=$(HTTP_PROXY)" \ + -e "HTTPS_PROXY=$(HTTPS_PROXY)" \ + -e "no_proxy=$(no_proxy)" \ + -e "NO_PROXY=$(NO_PROXY)" -ifeq ($(DOCKER_VOLUME),) -override DOCKER_VOLUME := "$(PWD):/slapi" -endif +DOCKER_RUN := docker run --name $(CONTAINER_NAME) --rm \ + -v "$(DOCKER_VOLUME)" \ + -w "$(DOCKER_WORKDIR)" \ + $(DOCKER_ENV) -ifeq ($(DOCKER_WORKDIR),) -override DOCKER_WORKDIR := "/slapi" -endif +DOCKER_RUN_TTY := docker run --name $(CONTAINER_NAME) --rm \ + -v "$(DOCKER_VOLUME)" \ + -w "$(DOCKER_WORKDIR)" \ + $(DOCKER_ENV) \ + -it -DOCKER_RUN := docker run --name $(CONTAINER_NAME) --rm=true --privileged \ - -v $(DOCKER_VOLUME) \ - -w $(DOCKER_WORKDIR) \ - -e "http_proxy=$(http_proxy)" \ - -e "https_proxy=$(https_proxy)" \ - -i$(if $(TERM),t,) +.PHONY: clean build bindings tutorial cpp-tutorial xr-docs dotnet-docs slapi-bash +.DEFAULT_GOAL := slapi-bash -# New clean target to remove the container and image clean: -docker rm -f $(CONTAINER_NAME) -docker rmi -f $(IMAGE_NAME):$(IMAGE_TAG) -.PHONY: slapi-bash -.DEFAULT_GOAL := slapi-bash - build: - $(DOCKER_BUILD) ; + $(DOCKER_BUILD) + +bindings: build + $(DOCKER_RUN) $(IMAGE_NAME):$(IMAGE_TAG) \ + bash -c "cd grpc/utils && ./gen-all.sh" tutorial: build bindings - $(DOCKER_RUN) -t $(IMAGE_NAME):$(IMAGE_TAG) \ - make -C grpc/go/src/tutorial + $(DOCKER_RUN) $(IMAGE_NAME):$(IMAGE_TAG) \ + make -C grpc/go/src/tutorial cpp-tutorial: build bindings - $(DOCKER_RUN) -t $(IMAGE_NAME):$(IMAGE_TAG) \ - bash -c "make -C grpc/cpp/src all && \ - make -C grpc/cpp/src install && \ - make -C grpc/cpp/src/tutorial && \ - make -C grpc/cpp/src/tutorial/rshuttle" - -bindings: build - $(DOCKER_RUN) -t $(IMAGE_NAME):$(IMAGE_TAG) \ - bash -c "cd grpc/utils && ./gen-all.sh" + $(DOCKER_RUN) $(IMAGE_NAME):$(IMAGE_TAG) \ + bash -c "make -C grpc/cpp/src all && \ + make -C grpc/cpp/src install && \ + make -C grpc/cpp/src/tutorial && \ + make -C grpc/cpp/src/tutorial/rshuttle" xr-docs: build - $(DOCKER_RUN) -t $(IMAGE_NAME):$(IMAGE_TAG) \ - bash -c "cd grpc/xrdocs/scripts && ./doc-gen.sh" + $(DOCKER_RUN) $(IMAGE_NAME):$(IMAGE_TAG) \ + bash -c "cd grpc/xrdocs/scripts && ./doc-gen.sh" dotnet-docs: build - $(DOCKER_RUN) -t $(IMAGE_NAME):$(IMAGE_TAG) \ - bash -c "cd grpc/dotnet/ && doxygen ./doxyfile" + $(DOCKER_RUN) $(IMAGE_NAME):$(IMAGE_TAG) \ + bash -c "cd grpc/dotnet && doxygen ./doxyfile" slapi-bash: build - $(DOCKER_RUN) -t $(IMAGE_NAME):$(IMAGE_TAG) bash - + $(DOCKER_RUN_TTY) $(IMAGE_NAME):$(IMAGE_TAG) bash diff --git a/README.md b/README.md index ed040a35..7dc24de3 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,19 @@ grpc/python/src/genpy grpc/cpp/src/gencpp grpc/dotnet/src/gencs ``` +### Go Module Identity + +The generated Go bindings under `grpc/go/src/gengo` are intended to behave as a +normal Go module. The module path is: + +``` +github.com/Cisco-Service-Layer/service-layer-objmodel/grpc/go/src/gengo +``` + +This allows the generated bindings to participate more cleanly in TPS and +future XR Go dependency workflows. The generated package name remains +`service_layer`. + The bindings can also be generated manually using protoc in an environment with the correct toolchain versions. The toolchain versions in the Dockerfile: * GO_VER: Go version * GRPC_VER: gRPC version @@ -200,3 +213,10 @@ This will generate html documentation in grpc/dotnet/docs/html/ We hope that the above was useful quick overview about the Service Layer API. We recommend that the reader go over the Python quick tutorial first and then go over the .proto files under grpc/protos (or look at the generated .html pages - these are not kept in this repo, but can be auto-generated from this repo). +## Notes + +In proto3, if the message field is implicit, and it is set to its default value, proto3 will not serialize this field and it will be omitted from the message payload. This is standard behavior due to the proto3 serialization rules and does not require any special handling in client applications. For more information, see the official documentation: + +For example, in the context of `SLAFGetMsgRsp` [grpc/protos/sl_af.proto](grpc/protos/sl_af.proto), if the `ClientID` field is set to 0, the `ClientID` field will not appear in the serialized response message. For any other client ID value, the field will be included in the response. + +Please note, this is a feature of the underlying technology (gRPC/proto3) and not specific to the SL-API. This note is included for clarity. diff --git a/grpc/cpp/src/gencpp/sl_af.grpc.pb.h b/grpc/cpp/src/gencpp/sl_af.grpc.pb.h index c6e92f66..ba2849d3 100644 --- a/grpc/cpp/src/gencpp/sl_af.grpc.pb.h +++ b/grpc/cpp/src/gencpp/sl_af.grpc.pb.h @@ -55,9 +55,13 @@ namespace service_layer { // If there are multiple clients intending to program the network // element using this API, the clients initiating a programming or get // RPC MUST pass a gRPC-context metadata identifying themselves. +// Metadata supports the following key-value pairs: +// "iosxr-slapi-clientid" : +// "iosxr-slapi-clientname": // The client application MUST set the gRPC metadata key -// named "iosxr-slapi-clientid" with a numeric string holding a -// number between 0 and 65535. +// "iosxr-slapi-clientid" which is mandatory. The optional gRPC metadata key +// "iosxr-slapi-clientname" may be specified to enable operational visibility. // // Each client application MUST use a unique client ID identifying itself // that is separate from other clients programming the server. If there @@ -67,6 +71,7 @@ namespace service_layer { // If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes // a default client id of 0 for that RPC invocation and associates // objects programmed by that RPC with the default client id of 0. +// "iosxr-slapi-clientname" gRPC metadata is optional. // // The co-ordination of the ClientId amongst these instances is outside // the scope of this specification. @@ -194,8 +199,10 @@ class SLAF final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service_layer::SLAFMsgRsp>>(PrepareAsyncSLAFOpRaw(context, request, cq)); } // - // Stream object operations + // Stream object operations. // + // The client MUST keep it's receive and send side of the stream up as long as there is + // interest in the responses. // // SLAFMsg.Oper = SL_OBJOP_ADD: // Object add. Fails if the objects already exists and is not stale. @@ -236,7 +243,7 @@ class SLAF final { // notifications are scoped to the RPC. On a RPC disconnection, // the client should re-establish the RPC and re-program // the notification requests. - // The caller MUST keep the RPC up as long as there is + // The client MUST keep it's receive and send side of the stream up as long as there is // interest in the notifications. // // For route redistribution, this call is used to get a stream @@ -342,8 +349,10 @@ class SLAF final { virtual void SLAFOp(::grpc::ClientContext* context, const ::service_layer::SLAFMsg* request, ::service_layer::SLAFMsgRsp* response, std::function) = 0; virtual void SLAFOp(::grpc::ClientContext* context, const ::service_layer::SLAFMsg* request, ::service_layer::SLAFMsgRsp* response, ::grpc::ClientUnaryReactor* reactor) = 0; // - // Stream object operations + // Stream object operations. // + // The client MUST keep it's receive and send side of the stream up as long as there is + // interest in the responses. // // SLAFMsg.Oper = SL_OBJOP_ADD: // Object add. Fails if the objects already exists and is not stale. @@ -368,7 +377,7 @@ class SLAF final { // notifications are scoped to the RPC. On a RPC disconnection, // the client should re-establish the RPC and re-program // the notification requests. - // The caller MUST keep the RPC up as long as there is + // The client MUST keep it's receive and send side of the stream up as long as there is // interest in the notifications. // // For route redistribution, this call is used to get a stream @@ -587,8 +596,10 @@ class SLAF final { // Delete of a non-existant object is returned as success. virtual ::grpc::Status SLAFOp(::grpc::ServerContext* context, const ::service_layer::SLAFMsg* request, ::service_layer::SLAFMsgRsp* response); // - // Stream object operations + // Stream object operations. // + // The client MUST keep it's receive and send side of the stream up as long as there is + // interest in the responses. // // SLAFMsg.Oper = SL_OBJOP_ADD: // Object add. Fails if the objects already exists and is not stale. @@ -613,7 +624,7 @@ class SLAF final { // notifications are scoped to the RPC. On a RPC disconnection, // the client should re-establish the RPC and re-program // the notification requests. - // The caller MUST keep the RPC up as long as there is + // The client MUST keep it's receive and send side of the stream up as long as there is // interest in the notifications. // // For route redistribution, this call is used to get a stream diff --git a/grpc/cpp/src/gencpp/sl_af.pb.cc b/grpc/cpp/src/gencpp/sl_af.pb.cc index 26872a07..e60e9b1d 100644 --- a/grpc/cpp/src/gencpp/sl_af.pb.cc +++ b/grpc/cpp/src/gencpp/sl_af.pb.cc @@ -101,46 +101,6 @@ struct SLAFVrfRegGetMsgRspDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLAFVrfRegGetMsgRspDefaultTypeInternal _SLAFVrfRegGetMsgRsp_default_instance_; -constexpr SLPathGroup_SLPath::SLPathGroup_SLPath( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : path_(nullptr){} -struct SLPathGroup_SLPathDefaultTypeInternal { - constexpr SLPathGroup_SLPathDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLPathGroup_SLPathDefaultTypeInternal() {} - union { - SLPathGroup_SLPath _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroup_SLPathDefaultTypeInternal _SLPathGroup_SLPath_default_instance_; -constexpr SLPathGroup_SLPathList::SLPathGroup_SLPathList( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : paths_(){} -struct SLPathGroup_SLPathListDefaultTypeInternal { - constexpr SLPathGroup_SLPathListDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLPathGroup_SLPathListDefaultTypeInternal() {} - union { - SLPathGroup_SLPathList _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroup_SLPathListDefaultTypeInternal _SLPathGroup_SLPathList_default_instance_; -constexpr SLPathGroup::SLPathGroup( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : pgflags_() - , _pgflags_cached_byte_size_(0) - , pathgroupid_(nullptr) - , admindistance_(0u) - , _oneof_case_{}{} -struct SLPathGroupDefaultTypeInternal { - constexpr SLPathGroupDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~SLPathGroupDefaultTypeInternal() {} - union { - SLPathGroup _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroupDefaultTypeInternal _SLPathGroup_default_instance_; constexpr SLMplsEntryKey::SLMplsEntryKey( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : label_(0u){} @@ -517,7 +477,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[36]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5faf_2eproto[33]; 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; @@ -573,31 +533,6 @@ const uint32_t TableStruct_sl_5faf_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( PROTOBUF_FIELD_OFFSET(::service_layer::SLAFVrfRegGetMsgRsp, table_), PROTOBUF_FIELD_OFFSET(::service_layer::SLAFVrfRegGetMsgRsp, entries_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPath, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPath, path_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPathList, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPathList, paths_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, _internal_metadata_), - ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, _oneof_case_[0]), - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - 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, 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_ @@ -854,36 +789,33 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 25, -1, -1, sizeof(::service_layer::SLAFVrfRegMsgRsp)}, { 33, -1, -1, sizeof(::service_layer::SLAFVrfRegGetMsg)}, { 40, -1, -1, sizeof(::service_layer::SLAFVrfRegGetMsgRsp)}, - { 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::SLMplsEntryKey)}, - { 82, -1, -1, sizeof(::service_layer::SLMplsEntry)}, - { 93, -1, -1, sizeof(::service_layer::SLAFIPRoute)}, - { 102, -1, -1, sizeof(::service_layer::SLAFObject)}, - { 112, -1, -1, sizeof(::service_layer::SLAFOpMsg)}, - { 123, -1, -1, sizeof(::service_layer::SLAFClientIDList)}, - { 130, -1, -1, sizeof(::service_layer::SLTableTypeList)}, - { 137, -1, -1, sizeof(::service_layer::SLAFObjectKey)}, - { 147, -1, -1, sizeof(::service_layer::SLAFGetMatch)}, - { 157, -1, -1, sizeof(::service_layer::SLAFGetMatchList)}, - { 164, -1, -1, sizeof(::service_layer::SLAFGetMsg)}, - { 177, -1, -1, sizeof(::service_layer::SLAFGetMsgRspEntry)}, - { 185, -1, -1, sizeof(::service_layer::SLAFGetMsgRsp)}, - { 195, -1, -1, sizeof(::service_layer::SLAFMsg)}, - { 204, -1, -1, sizeof(::service_layer::SLAFRes)}, - { 215, -1, -1, sizeof(::service_layer::SLAFMsgRsp)}, - { 223, -1, -1, sizeof(::service_layer::SLAFRedistRegMsg)}, - { 232, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey_SLNextHopKey)}, - { 242, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey)}, - { 250, -1, -1, sizeof(::service_layer::SLAFNextHopRegMsg)}, - { 257, -1, -1, sizeof(::service_layer::SLAFNotifRegReq)}, - { 267, -1, -1, sizeof(::service_layer::SLAFNotifReq)}, - { 276, -1, -1, sizeof(::service_layer::SLAFNotifRsp)}, - { 284, -1, -1, sizeof(::service_layer::SLNextHop)}, - { 297, -1, -1, sizeof(::service_layer::SLAFNotif_SLRedistMarker)}, - { 304, -1, -1, sizeof(::service_layer::SLAFNotif)}, - { 316, -1, -1, sizeof(::service_layer::SLAFNotifMsg)}, + { 50, -1, -1, sizeof(::service_layer::SLMplsEntryKey)}, + { 57, -1, -1, sizeof(::service_layer::SLMplsEntry)}, + { 68, -1, -1, sizeof(::service_layer::SLAFIPRoute)}, + { 77, -1, -1, sizeof(::service_layer::SLAFObject)}, + { 87, -1, -1, sizeof(::service_layer::SLAFOpMsg)}, + { 98, -1, -1, sizeof(::service_layer::SLAFClientIDList)}, + { 105, -1, -1, sizeof(::service_layer::SLTableTypeList)}, + { 112, -1, -1, sizeof(::service_layer::SLAFObjectKey)}, + { 122, -1, -1, sizeof(::service_layer::SLAFGetMatch)}, + { 132, -1, -1, sizeof(::service_layer::SLAFGetMatchList)}, + { 139, -1, -1, sizeof(::service_layer::SLAFGetMsg)}, + { 152, -1, -1, sizeof(::service_layer::SLAFGetMsgRspEntry)}, + { 160, -1, -1, sizeof(::service_layer::SLAFGetMsgRsp)}, + { 170, -1, -1, sizeof(::service_layer::SLAFMsg)}, + { 179, -1, -1, sizeof(::service_layer::SLAFRes)}, + { 190, -1, -1, sizeof(::service_layer::SLAFMsgRsp)}, + { 198, -1, -1, sizeof(::service_layer::SLAFRedistRegMsg)}, + { 207, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey_SLNextHopKey)}, + { 217, -1, -1, sizeof(::service_layer::SLAFNextHopRegKey)}, + { 225, -1, -1, sizeof(::service_layer::SLAFNextHopRegMsg)}, + { 232, -1, -1, sizeof(::service_layer::SLAFNotifRegReq)}, + { 242, -1, -1, sizeof(::service_layer::SLAFNotifReq)}, + { 251, -1, -1, sizeof(::service_layer::SLAFNotifRsp)}, + { 259, -1, -1, sizeof(::service_layer::SLNextHop)}, + { 272, -1, -1, sizeof(::service_layer::SLAFNotif_SLRedistMarker)}, + { 279, -1, -1, sizeof(::service_layer::SLAFNotif)}, + { 291, -1, -1, sizeof(::service_layer::SLAFNotifMsg)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -893,9 +825,6 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::service_layer::_SLAFVrfRegMsgRsp_default_instance_), reinterpret_cast(&::service_layer::_SLAFVrfRegGetMsg_default_instance_), reinterpret_cast(&::service_layer::_SLAFVrfRegGetMsgRsp_default_instance_), - 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_), @@ -944,120 +873,112 @@ const char descriptor_table_protodef_sl_5faf_2eproto[] PROTOBUF_SECTION_VARIABLE "\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\"\345\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\0221\n\010Priorit" - "y\030\005 \001(\0162\037.service_layer.SLUpdatePriority" - "\"\243\001\n\013SLAFIPRoute\0223\n\rIPRoutePrefix\030\001 \001(\0132" - "\034.service_layer.SLRoutePrefix\0221\n\013RouteCo" - "mmon\030\002 \001(\0132\034.service_layer.SLRouteCommon" - "\022,\n\010PathList\030\003 \003(\0132\032.service_layer.SLRou" - "tePath\"\246\001\n\nSLAFObject\022-\n\007IPRoute\030\001 \001(\0132\032" - ".service_layer.SLAFIPRouteH\000\022/\n\tMplsLabe" - "l\030\002 \001(\0132\032.service_layer.SLMplsEntryH\000\022/\n" - "\tPathGroup\030\003 \001(\0132\032.service_layer.SLPathG" - "roupH\000B\007\n\005entry\"\342\001\n\tSLAFOpMsg\022+\n\010AFObjec" - "t\030\001 \001(\0132\031.service_layer.SLAFObject\022\023\n\013Op" - "erationID\030\002 \001(\004\022,\n\007AckType\030\003 \001(\0162\033.servi" - "ce_layer.SLRspACKType\0221\n\nAckPermits\030\004 \003(" - "\0162\035.service_layer.SLRspACKPermit\0222\n\nAckC" - "adence\030\005 \001(\0162\036.service_layer.SLRspAckCad" - "ence\"(\n\020SLAFClientIDList\022\024\n\014ClientIDList" - "\030\001 \003(\004\"<\n\017SLTableTypeList\022)\n\005Table\030\001 \003(\016" - "2\032.service_layer.SLTableType\"\263\001\n\rSLAFObj" - "ectKey\0225\n\rIPRoutePrefix\030\001 \001(\0132\034.service_" - "layer.SLRoutePrefixH\000\0222\n\tMplsLabel\030\002 \001(\013" - "2\035.service_layer.SLMplsEntryKeyH\000\0220\n\013Pat" - "hGroupId\030\003 \001(\0132\031.service_layer.SLObjectI" - "dH\000B\005\n\003key\"t\n\014SLAFGetMatch\022+\n\003Key\030\001 \001(\0132" - "\034.service_layer.SLAFObjectKeyH\000\022\030\n\016PathG" - "roupRegex\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.service_layer.SLAFGetMatch\"\357\001\n\nSLA" - "FGetMsg\022\017\n\007VrfName\030\001 \001(\t\0227\n\014ClientIDList" - "\030\002 \001(\0132\037.service_layer.SLAFClientIDListH" - "\000\022\024\n\nAllClients\030\003 \001(\010H\000\0223\n\tTableList\030\004 \001" - "(\0132\036.service_layer.SLTableTypeListH\001\0229\n\016" - "RouteMatchList\030\005 \001(\0132\037.service_layer.SLA" - "FGetMatchListH\001B\010\n\006clientB\007\n\005match\"p\n\022SL" - "AFGetMsgRspEntry\022)\n\007AFOpMsg\030\001 \001(\0132\030.serv" - "ice_layer.SLAFOpMsg\022/\n\tFIBStatus\030\002 \001(\0162\034" - ".service_layer.SLAFFibStatus\"\226\001\n\rSLAFGet" - "MsgRsp\022/\n\tErrStatus\030\001 \001(\0132\034.service_laye" - "r.SLErrorStatus\022\017\n\007VrfName\030\002 \001(\t\022\020\n\010Clie" - "ntID\030\003 \001(\004\0221\n\006AFList\030\004 \003(\0132!.service_lay" - "er.SLAFGetMsgRspEntry\"m\n\007SLAFMsg\022\'\n\004Oper" - "\030\001 \001(\0162\031.service_layer.SLObjectOp\022\017\n\007Vrf" - "Name\030\002 \001(\t\022(\n\006OpList\030\003 \003(\0132\030.service_lay" - "er.SLAFOpMsg\"\275\001\n\007SLAFRes\022,\n\006Status\030\001 \001(\013" - "2\034.service_layer.SLErrorStatus\022)\n\003Key\030\002 " - "\001(\0132\034.service_layer.SLAFObjectKey\022\023\n\013Ope" - "rationID\030\003 \001(\004\022/\n\tFIBStatus\030\004 \001(\0162\034.serv" - "ice_layer.SLAFFibStatus\022\023\n\013ErrorString\030\005" - " \001(\t\"F\n\nSLAFMsgRsp\022\017\n\007VrfName\030\001 \001(\t\022\'\n\007R" - "esults\030\002 \003(\0132\026.service_layer.SLAFRes\"d\n\020" - "SLAFRedistRegMsg\022\020\n\010SrcProto\030\001 \001(\t\022\023\n\013Sr" - "cProtoTag\030\002 \001(\t\022)\n\005Table\030\003 \001(\0162\032.service" - "_layer.SLTableType\"\337\001\n\021SLAFNextHopRegKey" - "\022@\n\007NextHop\030\001 \001(\0132-.service_layer.SLAFNe" - "xtHopRegKey.SLNextHopKeyH\000\032z\n\014SLNextHopK" - "ey\022/\n\tNextHopIP\030\001 \001(\0132\034.service_layer.SL" - "RoutePrefix\022\022\n\nExactMatch\030\002 \001(\010\022\024\n\014Allow" - "Default\030\003 \001(\010\022\017\n\007Recurse\030\004 \001(\010B\014\n\nnextho" - "pkey\"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" - ".service_layer.SLAFRedistRegMsgH\000\0226\n\nNex" - "tHopReq\030\002 \001(\0132 .service_layer.SLAFNextHo" - "pRegMsgH\000\022\023\n\013OperationID\030\003 \001(\004B\t\n\007reques" - "t\"y\n\014SLAFNotifReq\022&\n\004Oper\030\001 \001(\0162\030.servic" - "e_layer.SLNotifOp\022\017\n\007VrfName\030\002 \001(\t\0220\n\010No" - "tifReq\030\003 \003(\0132\036.service_layer.SLAFNotifRe" - "gReq\"s\n\014SLAFNotifRsp\0220\n\010NotifReq\030\001 \001(\0132\036" - ".service_layer.SLAFNotifRegReq\0221\n\013NotifS" - "tatus\030\002 \001(\0132\034.service_layer.SLErrorStatu" - "s\"\361\001\n\tSLNextHop\0224\n\nNextHopKey\030\001 \001(\0132 .se" - "rvice_layer.SLAFNextHopRegKey\0225\n\017Resolvi" - "ngPrefix\030\002 \001(\0132\034.service_layer.SLRoutePr" - "efix\022\020\n\010SrcProto\030\003 \001(\t\022\023\n\013SrcProtoTag\030\004 " - "\001(\t\022\025\n\rAdminDistance\030\005 \001(\r\022\016\n\006Metric\030\006 \001" - "(\r\022)\n\005Paths\030\007 \003(\0132\032.service_layer.SLRout" - "ePath\"\343\002\n\tSLAFNotif\0222\n\013NotifStatus\030\001 \001(\013" - "2\033.service_layer.SLAFNotifRspH\000\022>\n\013Start" - "Marker\030\002 \001(\0132\'.service_layer.SLAFNotif.S" - "LRedistMarkerH\000\022<\n\tEndMarker\030\003 \001(\0132\'.ser" - "vice_layer.SLAFNotif.SLRedistMarkerH\000\0221\n" - "\014RedistObject\030\004 \001(\0132\031.service_layer.SLAF" - "ObjectH\000\022+\n\007NextHop\030\005 \001(\0132\030.service_laye" - "r.SLNextHopH\000\032;\n\016SLRedistMarker\022)\n\005Table" - "\030\001 \001(\0162\032.service_layer.SLTableTypeB\007\n\005Ev" - "ent\"K\n\014SLAFNotifMsg\022\017\n\007VrfName\030\001 \001(\t\022*\n\010" - "AFNotifs\030\003 \003(\0132\030.service_layer.SLAFNotif" - "2\310\003\n\004SLAF\022M\n\014SLAFVrfRegOp\022\034.service_laye" - "r.SLAFVrfRegMsg\032\037.service_layer.SLAFVrfR" - "egMsgRsp\022V\n\rSLAFVrfRegGet\022\037.service_laye" - "r.SLAFVrfRegGetMsg\032\".service_layer.SLAFV" - "rfRegGetMsgRsp0\001\022;\n\006SLAFOp\022\026.service_lay" - "er.SLAFMsg\032\031.service_layer.SLAFMsgRsp\022E\n" - "\014SLAFOpStream\022\026.service_layer.SLAFMsg\032\031." - "service_layer.SLAFMsgRsp(\0010\001\022D\n\007SLAFGet\022" - "\031.service_layer.SLAFGetMsg\032\034.service_lay" - "er.SLAFGetMsgRsp0\001\022O\n\017SLAFNotifStream\022\033." - "service_layer.SLAFNotifReq\032\033.service_lay" - "er.SLAFNotifMsg(\0010\001BQZOgithub.com/Cisco-" - "service-layer/service-layer-objmodel/grp" - "c/protos;service_layerb\006proto3" + "ice_layer.SLVrfReg\"\037\n\016SLMplsEntryKey\022\r\n\005" + "Label\030\001 \001(\r\"\345\001\n\013SLMplsEntry\022.\n\007MplsKey\030\001" + " \001(\0132\035.service_layer.SLMplsEntryKey\022\025\n\rA" + "dminDistance\030\002 \001(\r\022,\n\010PathList\030\003 \003(\0132\032.s" + "ervice_layer.SLRoutePath\022.\n\tMplsFlags\030\004 " + "\003(\0162\033.service_layer.SLRouteFlags\0221\n\010Prio" + "rity\030\005 \001(\0162\037.service_layer.SLUpdatePrior" + "ity\"\243\001\n\013SLAFIPRoute\0223\n\rIPRoutePrefix\030\001 \001" + "(\0132\034.service_layer.SLRoutePrefix\0221\n\013Rout" + "eCommon\030\002 \001(\0132\034.service_layer.SLRouteCom" + "mon\022,\n\010PathList\030\003 \003(\0132\032.service_layer.SL" + "RoutePath\"\246\001\n\nSLAFObject\022-\n\007IPRoute\030\001 \001(" + "\0132\032.service_layer.SLAFIPRouteH\000\022/\n\tMplsL" + "abel\030\002 \001(\0132\032.service_layer.SLMplsEntryH\000" + "\022/\n\tPathGroup\030\003 \001(\0132\032.service_layer.SLPa" + "thGroupH\000B\007\n\005entry\"\342\001\n\tSLAFOpMsg\022+\n\010AFOb" + "ject\030\001 \001(\0132\031.service_layer.SLAFObject\022\023\n" + "\013OperationID\030\002 \001(\004\022,\n\007AckType\030\003 \001(\0162\033.se" + "rvice_layer.SLRspACKType\0221\n\nAckPermits\030\004" + " \003(\0162\035.service_layer.SLRspACKPermit\0222\n\nA" + "ckCadence\030\005 \001(\0162\036.service_layer.SLRspAck" + "Cadence\"(\n\020SLAFClientIDList\022\024\n\014ClientIDL" + "ist\030\001 \003(\004\"<\n\017SLTableTypeList\022)\n\005Table\030\001 " + "\003(\0162\032.service_layer.SLTableType\"\263\001\n\rSLAF" + "ObjectKey\0225\n\rIPRoutePrefix\030\001 \001(\0132\034.servi" + "ce_layer.SLRoutePrefixH\000\0222\n\tMplsLabel\030\002 " + "\001(\0132\035.service_layer.SLMplsEntryKeyH\000\0220\n\013" + "PathGroupId\030\003 \001(\0132\031.service_layer.SLObje" + "ctIdH\000B\005\n\003key\"t\n\014SLAFGetMatch\022+\n\003Key\030\001 \001" + "(\0132\034.service_layer.SLAFObjectKeyH\000\022\030\n\016Pa" + "thGroupRegex\030\002 \001(\tH\000\022\024\n\nVxlanVniId\030\003 \001(\r" + "H\000B\007\n\005entry\">\n\020SLAFGetMatchList\022*\n\005Match" + "\030\001 \003(\0132\033.service_layer.SLAFGetMatch\"\357\001\n\n" + "SLAFGetMsg\022\017\n\007VrfName\030\001 \001(\t\0227\n\014ClientIDL" + "ist\030\002 \001(\0132\037.service_layer.SLAFClientIDLi" + "stH\000\022\024\n\nAllClients\030\003 \001(\010H\000\0223\n\tTableList\030" + "\004 \001(\0132\036.service_layer.SLTableTypeListH\001\022" + "9\n\016RouteMatchList\030\005 \001(\0132\037.service_layer." + "SLAFGetMatchListH\001B\010\n\006clientB\007\n\005match\"p\n" + "\022SLAFGetMsgRspEntry\022)\n\007AFOpMsg\030\001 \001(\0132\030.s" + "ervice_layer.SLAFOpMsg\022/\n\tFIBStatus\030\002 \001(" + "\0162\034.service_layer.SLAFFibStatus\"\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\"m\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\030.service_" + "layer.SLAFOpMsg\"\275\001\n\007SLAFRes\022,\n\006Status\030\001 " + "\001(\0132\034.service_layer.SLErrorStatus\022)\n\003Key" + "\030\002 \001(\0132\034.service_layer.SLAFObjectKey\022\023\n\013" + "OperationID\030\003 \001(\004\022/\n\tFIBStatus\030\004 \001(\0162\034.s" + "ervice_layer.SLAFFibStatus\022\023\n\013ErrorStrin" + "g\030\005 \001(\t\"F\n\nSLAFMsgRsp\022\017\n\007VrfName\030\001 \001(\t\022\'" + "\n\007Results\030\002 \003(\0132\026.service_layer.SLAFRes\"" + "d\n\020SLAFRedistRegMsg\022\020\n\010SrcProto\030\001 \001(\t\022\023\n" + "\013SrcProtoTag\030\002 \001(\t\022)\n\005Table\030\003 \001(\0162\032.serv" + "ice_layer.SLTableType\"\337\001\n\021SLAFNextHopReg" + "Key\022@\n\007NextHop\030\001 \001(\0132-.service_layer.SLA" + "FNextHopRegKey.SLNextHopKeyH\000\032z\n\014SLNextH" + "opKey\022/\n\tNextHopIP\030\001 \001(\0132\034.service_layer" + ".SLRoutePrefix\022\022\n\nExactMatch\030\002 \001(\010\022\024\n\014Al" + "lowDefault\030\003 \001(\010\022\017\n\007Recurse\030\004 \001(\010B\014\n\nnex" + "thopkey\"I\n\021SLAFNextHopRegMsg\0224\n\nNextHopK" + "ey\030\001 \001(\0132 .service_layer.SLAFNextHopRegK" + "ey\"\237\001\n\017SLAFNotifRegReq\0224\n\tRedistReq\030\001 \001(" + "\0132\037.service_layer.SLAFRedistRegMsgH\000\0226\n\n" + "NextHopReq\030\002 \001(\0132 .service_layer.SLAFNex" + "tHopRegMsgH\000\022\023\n\013OperationID\030\003 \001(\004B\t\n\007req" + "uest\"y\n\014SLAFNotifReq\022&\n\004Oper\030\001 \001(\0162\030.ser" + "vice_layer.SLNotifOp\022\017\n\007VrfName\030\002 \001(\t\0220\n" + "\010NotifReq\030\003 \003(\0132\036.service_layer.SLAFNoti" + "fRegReq\"s\n\014SLAFNotifRsp\0220\n\010NotifReq\030\001 \001(" + "\0132\036.service_layer.SLAFNotifRegReq\0221\n\013Not" + "ifStatus\030\002 \001(\0132\034.service_layer.SLErrorSt" + "atus\"\361\001\n\tSLNextHop\0224\n\nNextHopKey\030\001 \001(\0132 " + ".service_layer.SLAFNextHopRegKey\0225\n\017Reso" + "lvingPrefix\030\002 \001(\0132\034.service_layer.SLRout" + "ePrefix\022\020\n\010SrcProto\030\003 \001(\t\022\023\n\013SrcProtoTag" + "\030\004 \001(\t\022\025\n\rAdminDistance\030\005 \001(\r\022\016\n\006Metric\030" + "\006 \001(\r\022)\n\005Paths\030\007 \003(\0132\032.service_layer.SLR" + "outePath\"\343\002\n\tSLAFNotif\0222\n\013NotifStatus\030\001 " + "\001(\0132\033.service_layer.SLAFNotifRspH\000\022>\n\013St" + "artMarker\030\002 \001(\0132\'.service_layer.SLAFNoti" + "f.SLRedistMarkerH\000\022<\n\tEndMarker\030\003 \001(\0132\'." + "service_layer.SLAFNotif.SLRedistMarkerH\000" + "\0221\n\014RedistObject\030\004 \001(\0132\031.service_layer.S" + "LAFObjectH\000\022+\n\007NextHop\030\005 \001(\0132\030.service_l" + "ayer.SLNextHopH\000\032;\n\016SLRedistMarker\022)\n\005Ta" + "ble\030\001 \001(\0162\032.service_layer.SLTableTypeB\007\n" + "\005Event\"K\n\014SLAFNotifMsg\022\017\n\007VrfName\030\001 \001(\t\022" + "*\n\010AFNotifs\030\003 \003(\0132\030.service_layer.SLAFNo" + "tif2\310\003\n\004SLAF\022M\n\014SLAFVrfRegOp\022\034.service_l" + "ayer.SLAFVrfRegMsg\032\037.service_layer.SLAFV" + "rfRegMsgRsp\022V\n\rSLAFVrfRegGet\022\037.service_l" + "ayer.SLAFVrfRegGetMsg\032\".service_layer.SL" + "AFVrfRegGetMsgRsp0\001\022;\n\006SLAFOp\022\026.service_" + "layer.SLAFMsg\032\031.service_layer.SLAFMsgRsp" + "\022E\n\014SLAFOpStream\022\026.service_layer.SLAFMsg" + "\032\031.service_layer.SLAFMsgRsp(\0010\001\022D\n\007SLAFG" + "et\022\031.service_layer.SLAFGetMsg\032\034.service_" + "layer.SLAFGetMsgRsp0\001\022O\n\017SLAFNotifStream" + "\022\033.service_layer.SLAFNotifReq\032\033.service_" + "layer.SLAFNotifMsg(\0010\001BQZOgithub.com/Cis" + "co-service-layer/service-layer-objmodel/" + "grpc/protos;service_layerb\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5faf_2eproto_deps[2] = { &::descriptor_table_sl_5fcommon_5ftypes_2eproto, @@ -1065,8 +986,8 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor }; 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, 5270, descriptor_table_protodef_sl_5faf_2eproto, "sl_af.proto", - &descriptor_table_sl_5faf_2eproto_once, descriptor_table_sl_5faf_2eproto_deps, 2, 36, + false, false, 4953, descriptor_table_protodef_sl_5faf_2eproto, "sl_af.proto", + &descriptor_table_sl_5faf_2eproto_once, descriptor_table_sl_5faf_2eproto_deps, 2, 33, 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, }; @@ -2242,850 +2163,123 @@ void SLAFVrfRegGetMsgRsp::clear_errstatus() { if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { delete errstatus_; } - errstatus_ = nullptr; -} -void SLAFVrfRegGetMsgRsp::clear_entries() { - entries_.Clear(); -} -SLAFVrfRegGetMsgRsp::SLAFVrfRegGetMsgRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - entries_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:service_layer.SLAFVrfRegGetMsgRsp) -} -SLAFVrfRegGetMsgRsp::SLAFVrfRegGetMsgRsp(const SLAFVrfRegGetMsgRsp& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - entries_(from.entries_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_errstatus()) { - errstatus_ = new ::service_layer::SLErrorStatus(*from.errstatus_); - } else { - errstatus_ = nullptr; - } - ::memcpy(&clientid_, &from.clientid_, - static_cast(reinterpret_cast(&table_) - - reinterpret_cast(&clientid_)) + sizeof(table_)); - // @@protoc_insertion_point(copy_constructor:service_layer.SLAFVrfRegGetMsgRsp) -} - -inline void SLAFVrfRegGetMsgRsp::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&errstatus_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&table_) - - reinterpret_cast(&errstatus_)) + sizeof(table_)); -} - -SLAFVrfRegGetMsgRsp::~SLAFVrfRegGetMsgRsp() { - // @@protoc_insertion_point(destructor:service_layer.SLAFVrfRegGetMsgRsp) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void SLAFVrfRegGetMsgRsp::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete errstatus_; -} - -void SLAFVrfRegGetMsgRsp::ArenaDtor(void* object) { - SLAFVrfRegGetMsgRsp* _this = reinterpret_cast< SLAFVrfRegGetMsgRsp* >(object); - (void)_this; -} -void SLAFVrfRegGetMsgRsp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void SLAFVrfRegGetMsgRsp::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void SLAFVrfRegGetMsgRsp::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLAFVrfRegGetMsgRsp) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - entries_.Clear(); - if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { - delete errstatus_; - } - errstatus_ = nullptr; - ::memset(&clientid_, 0, static_cast( - reinterpret_cast(&table_) - - reinterpret_cast(&clientid_)) + sizeof(table_)); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SLAFVrfRegGetMsgRsp::_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 ErrStatus = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_errstatus(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // uint64 ClientID = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - clientid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .service_layer.SLTableType Table = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - _internal_set_table(static_cast<::service_layer::SLTableType>(val)); - } else - goto handle_unusual; - continue; - // repeated .service_layer.SLVrfReg Entries = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_entries(), 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 - 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* SLAFVrfRegGetMsgRsp::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFVrfRegGetMsgRsp) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // .service_layer.SLErrorStatus ErrStatus = 1; - if (this->_internal_has_errstatus()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 1, _Internal::errstatus(this), target, stream); - } - - // uint64 ClientID = 2; - if (this->_internal_clientid() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_clientid(), target); - } - - // .service_layer.SLTableType Table = 3; - if (this->_internal_table() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 3, this->_internal_table(), target); - } - - // repeated .service_layer.SLVrfReg Entries = 4; - for (unsigned int i = 0, - n = static_cast(this->_internal_entries_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, this->_internal_entries(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.SLAFVrfRegGetMsgRsp) - return target; -} - -size_t SLAFVrfRegGetMsgRsp::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFVrfRegGetMsgRsp) - 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.SLVrfReg Entries = 4; - total_size += 1UL * this->_internal_entries_size(); - for (const auto& msg : this->entries_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // .service_layer.SLErrorStatus ErrStatus = 1; - if (this->_internal_has_errstatus()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *errstatus_); - } - - // uint64 ClientID = 2; - if (this->_internal_clientid() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_clientid()); - } - - // .service_layer.SLTableType Table = 3; - if (this->_internal_table() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_table()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFVrfRegGetMsgRsp::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLAFVrfRegGetMsgRsp::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFVrfRegGetMsgRsp::GetClassData() const { return &_class_data_; } - -void SLAFVrfRegGetMsgRsp::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void SLAFVrfRegGetMsgRsp::MergeFrom(const SLAFVrfRegGetMsgRsp& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFVrfRegGetMsgRsp) - GOOGLE_DCHECK_NE(&from, this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - entries_.MergeFrom(from.entries_); - if (from._internal_has_errstatus()) { - _internal_mutable_errstatus()->::service_layer::SLErrorStatus::MergeFrom(from._internal_errstatus()); - } - if (from._internal_clientid() != 0) { - _internal_set_clientid(from._internal_clientid()); - } - if (from._internal_table() != 0) { - _internal_set_table(from._internal_table()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SLAFVrfRegGetMsgRsp::CopyFrom(const SLAFVrfRegGetMsgRsp& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFVrfRegGetMsgRsp) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SLAFVrfRegGetMsgRsp::IsInitialized() const { - return true; -} - -void SLAFVrfRegGetMsgRsp::InternalSwap(SLAFVrfRegGetMsgRsp* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - entries_.InternalSwap(&other->entries_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLAFVrfRegGetMsgRsp, table_) - + sizeof(SLAFVrfRegGetMsgRsp::table_) - - PROTOBUF_FIELD_OFFSET(SLAFVrfRegGetMsgRsp, errstatus_)>( - reinterpret_cast(&errstatus_), - reinterpret_cast(&other->errstatus_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SLAFVrfRegGetMsgRsp::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[5]); -} - -// =================================================================== - -class SLPathGroup_SLPath::_Internal { - public: - static const ::service_layer::SLRoutePath& path(const SLPathGroup_SLPath* msg); -}; - -const ::service_layer::SLRoutePath& -SLPathGroup_SLPath::_Internal::path(const SLPathGroup_SLPath* msg) { - return *msg->path_; -} -void SLPathGroup_SLPath::clear_path() { - if (GetArenaForAllocation() == nullptr && path_ != nullptr) { - delete path_; - } - path_ = nullptr; -} -SLPathGroup_SLPath::SLPathGroup_SLPath(::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.SLPathGroup.SLPath) -} -SLPathGroup_SLPath::SLPathGroup_SLPath(const SLPathGroup_SLPath& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_path()) { - path_ = new ::service_layer::SLRoutePath(*from.path_); - } else { - path_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:service_layer.SLPathGroup.SLPath) -} - -inline void SLPathGroup_SLPath::SharedCtor() { -path_ = nullptr; -} - -SLPathGroup_SLPath::~SLPathGroup_SLPath() { - // @@protoc_insertion_point(destructor:service_layer.SLPathGroup.SLPath) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void SLPathGroup_SLPath::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete path_; -} - -void SLPathGroup_SLPath::ArenaDtor(void* object) { - SLPathGroup_SLPath* _this = reinterpret_cast< SLPathGroup_SLPath* >(object); - (void)_this; -} -void SLPathGroup_SLPath::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void SLPathGroup_SLPath::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void SLPathGroup_SLPath::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLPathGroup.SLPath) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - if (GetArenaForAllocation() == nullptr && path_ != nullptr) { - delete path_; - } - path_ = nullptr; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SLPathGroup_SLPath::_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.SLRoutePath Path = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_path(), 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* SLPathGroup_SLPath::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPathGroup.SLPath) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // .service_layer.SLRoutePath Path = 1; - if (this->_internal_has_path()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 1, _Internal::path(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.SLPathGroup.SLPath) - return target; -} - -size_t SLPathGroup_SLPath::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPathGroup.SLPath) - 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.SLRoutePath Path = 1; - if (this->_internal_has_path()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *path_); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPathGroup_SLPath::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLPathGroup_SLPath::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPathGroup_SLPath::GetClassData() const { return &_class_data_; } - -void SLPathGroup_SLPath::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void SLPathGroup_SLPath::MergeFrom(const SLPathGroup_SLPath& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPathGroup.SLPath) - GOOGLE_DCHECK_NE(&from, this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_path()) { - _internal_mutable_path()->::service_layer::SLRoutePath::MergeFrom(from._internal_path()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SLPathGroup_SLPath::CopyFrom(const SLPathGroup_SLPath& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPathGroup.SLPath) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SLPathGroup_SLPath::IsInitialized() const { - return true; -} - -void SLPathGroup_SLPath::InternalSwap(SLPathGroup_SLPath* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(path_, other->path_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup_SLPath::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[6]); -} - -// =================================================================== - -class SLPathGroup_SLPathList::_Internal { - public: -}; - -SLPathGroup_SLPathList::SLPathGroup_SLPathList(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - paths_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:service_layer.SLPathGroup.SLPathList) -} -SLPathGroup_SLPathList::SLPathGroup_SLPathList(const SLPathGroup_SLPathList& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - paths_(from.paths_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:service_layer.SLPathGroup.SLPathList) -} - -inline void SLPathGroup_SLPathList::SharedCtor() { -} - -SLPathGroup_SLPathList::~SLPathGroup_SLPathList() { - // @@protoc_insertion_point(destructor:service_layer.SLPathGroup.SLPathList) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void SLPathGroup_SLPathList::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void SLPathGroup_SLPathList::ArenaDtor(void* object) { - SLPathGroup_SLPathList* _this = reinterpret_cast< SLPathGroup_SLPathList* >(object); - (void)_this; -} -void SLPathGroup_SLPathList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void SLPathGroup_SLPathList::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void SLPathGroup_SLPathList::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLPathGroup.SLPathList) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - paths_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* SLPathGroup_SLPathList::_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.SLPathGroup.SLPath Paths = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - 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<10>(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* SLPathGroup_SLPathList::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPathGroup.SLPathList) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .service_layer.SLPathGroup.SLPath Paths = 1; - 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(1, this->_internal_paths(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.SLPathGroup.SLPathList) - return target; -} - -size_t SLPathGroup_SLPathList::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPathGroup.SLPathList) - 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.SLPathGroup.SLPath Paths = 1; - total_size += 1UL * this->_internal_paths_size(); - for (const auto& msg : this->paths_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPathGroup_SLPathList::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLPathGroup_SLPathList::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPathGroup_SLPathList::GetClassData() const { return &_class_data_; } - -void SLPathGroup_SLPathList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void SLPathGroup_SLPathList::MergeFrom(const SLPathGroup_SLPathList& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPathGroup.SLPathList) - GOOGLE_DCHECK_NE(&from, this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - paths_.MergeFrom(from.paths_); - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void SLPathGroup_SLPathList::CopyFrom(const SLPathGroup_SLPathList& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPathGroup.SLPathList) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SLPathGroup_SLPathList::IsInitialized() const { - return true; -} - -void SLPathGroup_SLPathList::InternalSwap(SLPathGroup_SLPathList* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - paths_.InternalSwap(&other->paths_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup_SLPathList::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[7]); -} - -// =================================================================== - -class SLPathGroup::_Internal { - public: - static const ::service_layer::SLObjectId& pathgroupid(const SLPathGroup* msg); - static const ::service_layer::SLPathGroup_SLPathList& pathlist(const SLPathGroup* msg); -}; - -const ::service_layer::SLObjectId& -SLPathGroup::_Internal::pathgroupid(const SLPathGroup* msg) { - return *msg->pathgroupid_; -} -const ::service_layer::SLPathGroup_SLPathList& -SLPathGroup::_Internal::pathlist(const SLPathGroup* msg) { - return *msg->entry_.pathlist_; -} -void SLPathGroup::clear_pathgroupid() { - if (GetArenaForAllocation() == nullptr && pathgroupid_ != nullptr) { - delete pathgroupid_; - } - pathgroupid_ = nullptr; -} -void SLPathGroup::set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList* pathlist) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_entry(); - if (pathlist) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPathGroup_SLPathList>::GetOwningArena(pathlist); - if (message_arena != submessage_arena) { - pathlist = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pathlist, submessage_arena); - } - set_has_pathlist(); - entry_.pathlist_ = pathlist; - } - // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.PathList) + errstatus_ = nullptr; +} +void SLAFVrfRegGetMsgRsp::clear_entries() { + entries_.Clear(); } -SLPathGroup::SLPathGroup(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SLAFVrfRegGetMsgRsp::SLAFVrfRegGetMsgRsp(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - pgflags_(arena) { + entries_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:service_layer.SLPathGroup) + // @@protoc_insertion_point(arena_constructor:service_layer.SLAFVrfRegGetMsgRsp) } -SLPathGroup::SLPathGroup(const SLPathGroup& from) +SLAFVrfRegGetMsgRsp::SLAFVrfRegGetMsgRsp(const SLAFVrfRegGetMsgRsp& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - pgflags_(from.pgflags_) { + entries_(from.entries_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_pathgroupid()) { - pathgroupid_ = new ::service_layer::SLObjectId(*from.pathgroupid_); + if (from._internal_has_errstatus()) { + errstatus_ = new ::service_layer::SLErrorStatus(*from.errstatus_); } else { - pathgroupid_ = nullptr; - } - admindistance_ = from.admindistance_; - clear_has_entry(); - switch (from.entry_case()) { - case kPathList: { - _internal_mutable_pathlist()->::service_layer::SLPathGroup_SLPathList::MergeFrom(from._internal_pathlist()); - break; - } - case ENTRY_NOT_SET: { - break; - } + errstatus_ = nullptr; } - // @@protoc_insertion_point(copy_constructor:service_layer.SLPathGroup) + ::memcpy(&clientid_, &from.clientid_, + static_cast(reinterpret_cast(&table_) - + reinterpret_cast(&clientid_)) + sizeof(table_)); + // @@protoc_insertion_point(copy_constructor:service_layer.SLAFVrfRegGetMsgRsp) } -inline void SLPathGroup::SharedCtor() { +inline void SLAFVrfRegGetMsgRsp::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&pathgroupid_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&admindistance_) - - reinterpret_cast(&pathgroupid_)) + sizeof(admindistance_)); -clear_has_entry(); + reinterpret_cast(&errstatus_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&table_) - + reinterpret_cast(&errstatus_)) + sizeof(table_)); } -SLPathGroup::~SLPathGroup() { - // @@protoc_insertion_point(destructor:service_layer.SLPathGroup) +SLAFVrfRegGetMsgRsp::~SLAFVrfRegGetMsgRsp() { + // @@protoc_insertion_point(destructor:service_layer.SLAFVrfRegGetMsgRsp) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLPathGroup::SharedDtor() { +inline void SLAFVrfRegGetMsgRsp::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete pathgroupid_; - if (has_entry()) { - clear_entry(); - } + if (this != internal_default_instance()) delete errstatus_; } -void SLPathGroup::ArenaDtor(void* object) { - SLPathGroup* _this = reinterpret_cast< SLPathGroup* >(object); +void SLAFVrfRegGetMsgRsp::ArenaDtor(void* object) { + SLAFVrfRegGetMsgRsp* _this = reinterpret_cast< SLAFVrfRegGetMsgRsp* >(object); (void)_this; } -void SLPathGroup::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLAFVrfRegGetMsgRsp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLPathGroup::SetCachedSize(int size) const { +void SLAFVrfRegGetMsgRsp::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLPathGroup::clear_entry() { -// @@protoc_insertion_point(one_of_clear_start:service_layer.SLPathGroup) - switch (entry_case()) { - case kPathList: { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathlist_; - } - break; - } - case ENTRY_NOT_SET: { - break; - } - } - _oneof_case_[0] = ENTRY_NOT_SET; -} - - -void SLPathGroup::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLPathGroup) +void SLAFVrfRegGetMsgRsp::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLAFVrfRegGetMsgRsp) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - pgflags_.Clear(); - if (GetArenaForAllocation() == nullptr && pathgroupid_ != nullptr) { - delete pathgroupid_; + entries_.Clear(); + if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { + delete errstatus_; } - pathgroupid_ = nullptr; - admindistance_ = 0u; - clear_entry(); + errstatus_ = nullptr; + ::memset(&clientid_, 0, static_cast( + reinterpret_cast(&table_) - + reinterpret_cast(&clientid_)) + sizeof(table_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLPathGroup::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLAFVrfRegGetMsgRsp::_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.SLObjectId PathGroupId = 1; + // .service_layer.SLErrorStatus ErrStatus = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_pathgroupid(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_errstatus(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // uint32 AdminDistance = 2; + // uint64 ClientID = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - admindistance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + clientid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .service_layer.SLPathGroup.SLPathList PathList = 3; + // .service_layer.SLTableType Table = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_pathlist(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); + _internal_set_table(static_cast<::service_layer::SLTableType>(val)); } else goto handle_unusual; continue; - // repeated .service_layer.SLRouteFlags PgFlags = 4; + // repeated .service_layer.SLVrfReg Entries = 4; case 4: 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)); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_entries(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr)); } else goto handle_unusual; continue; @@ -3112,171 +2306,144 @@ const char* SLPathGroup::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID #undef CHK_ } -uint8_t* SLPathGroup::_InternalSerialize( +uint8_t* SLAFVrfRegGetMsgRsp::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPathGroup) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLAFVrfRegGetMsgRsp) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLObjectId PathGroupId = 1; - if (this->_internal_has_pathgroupid()) { + // .service_layer.SLErrorStatus ErrStatus = 1; + if (this->_internal_has_errstatus()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 1, _Internal::pathgroupid(this), target, stream); + 1, _Internal::errstatus(this), target, stream); } - // uint32 AdminDistance = 2; - if (this->_internal_admindistance() != 0) { + // uint64 ClientID = 2; + if (this->_internal_clientid() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_admindistance(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_clientid(), target); } - // .service_layer.SLPathGroup.SLPathList PathList = 3; - if (_internal_has_pathlist()) { + // .service_layer.SLTableType Table = 3; + if (this->_internal_table() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 3, _Internal::pathlist(this), target, stream); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 3, this->_internal_table(), 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); - } + // repeated .service_layer.SLVrfReg Entries = 4; + for (unsigned int i = 0, + n = static_cast(this->_internal_entries_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(4, this->_internal_entries(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.SLPathGroup) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLAFVrfRegGetMsgRsp) return target; } -size_t SLPathGroup::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPathGroup) +size_t SLAFVrfRegGetMsgRsp::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLAFVrfRegGetMsgRsp) 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.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; + // repeated .service_layer.SLVrfReg Entries = 4; + total_size += 1UL * this->_internal_entries_size(); + for (const auto& msg : this->entries_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // .service_layer.SLObjectId PathGroupId = 1; - if (this->_internal_has_pathgroupid()) { + // .service_layer.SLErrorStatus ErrStatus = 1; + if (this->_internal_has_errstatus()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *pathgroupid_); + *errstatus_); } - // uint32 AdminDistance = 2; - if (this->_internal_admindistance() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_admindistance()); + // uint64 ClientID = 2; + if (this->_internal_clientid() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_clientid()); } - switch (entry_case()) { - // .service_layer.SLPathGroup.SLPathList PathList = 3; - case kPathList: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *entry_.pathlist_); - break; - } - case ENTRY_NOT_SET: { - break; - } + // .service_layer.SLTableType Table = 3; + if (this->_internal_table() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_table()); } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPathGroup::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLAFVrfRegGetMsgRsp::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLPathGroup::MergeImpl + SLAFVrfRegGetMsgRsp::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPathGroup::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLAFVrfRegGetMsgRsp::GetClassData() const { return &_class_data_; } -void SLPathGroup::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLAFVrfRegGetMsgRsp::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 SLPathGroup::MergeFrom(const SLPathGroup& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPathGroup) +void SLAFVrfRegGetMsgRsp::MergeFrom(const SLAFVrfRegGetMsgRsp& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLAFVrfRegGetMsgRsp) GOOGLE_DCHECK_NE(&from, this); 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()); + entries_.MergeFrom(from.entries_); + if (from._internal_has_errstatus()) { + _internal_mutable_errstatus()->::service_layer::SLErrorStatus::MergeFrom(from._internal_errstatus()); } - if (from._internal_admindistance() != 0) { - _internal_set_admindistance(from._internal_admindistance()); + if (from._internal_clientid() != 0) { + _internal_set_clientid(from._internal_clientid()); } - switch (from.entry_case()) { - case kPathList: { - _internal_mutable_pathlist()->::service_layer::SLPathGroup_SLPathList::MergeFrom(from._internal_pathlist()); - break; - } - case ENTRY_NOT_SET: { - break; - } + if (from._internal_table() != 0) { + _internal_set_table(from._internal_table()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void SLPathGroup::CopyFrom(const SLPathGroup& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPathGroup) +void SLAFVrfRegGetMsgRsp::CopyFrom(const SLAFVrfRegGetMsgRsp& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLAFVrfRegGetMsgRsp) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLPathGroup::IsInitialized() const { +bool SLAFVrfRegGetMsgRsp::IsInitialized() const { return true; } -void SLPathGroup::InternalSwap(SLPathGroup* other) { +void SLAFVrfRegGetMsgRsp::InternalSwap(SLAFVrfRegGetMsgRsp* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - pgflags_.InternalSwap(&other->pgflags_); + entries_.InternalSwap(&other->entries_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLPathGroup, admindistance_) - + sizeof(SLPathGroup::admindistance_) - - PROTOBUF_FIELD_OFFSET(SLPathGroup, pathgroupid_)>( - reinterpret_cast(&pathgroupid_), - reinterpret_cast(&other->pathgroupid_)); - swap(entry_, other->entry_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + PROTOBUF_FIELD_OFFSET(SLAFVrfRegGetMsgRsp, table_) + + sizeof(SLAFVrfRegGetMsgRsp::table_) + - PROTOBUF_FIELD_OFFSET(SLAFVrfRegGetMsgRsp, errstatus_)>( + reinterpret_cast(&errstatus_), + reinterpret_cast(&other->errstatus_)); } -::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLAFVrfRegGetMsgRsp::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[8]); + file_level_metadata_sl_5faf_2eproto[5]); } // =================================================================== @@ -3454,7 +2621,7 @@ void SLMplsEntryKey::InternalSwap(SLMplsEntryKey* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[6]); } // =================================================================== @@ -3790,7 +2957,7 @@ void SLMplsEntry::InternalSwap(SLMplsEntry* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[7]); } // =================================================================== @@ -4082,7 +3249,7 @@ void SLAFIPRoute::InternalSwap(SLAFIPRoute* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[8]); } // =================================================================== @@ -4141,7 +3308,9 @@ void SLAFObject::set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup clear_entry(); if (pathgroup) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPathGroup>::GetOwningArena(pathgroup); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroup)); if (message_arena != submessage_arena) { pathgroup = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, pathgroup, submessage_arena); @@ -4151,6 +3320,14 @@ void SLAFObject::set_allocated_pathgroup(::service_layer::SLPathGroup* pathgroup } // @@protoc_insertion_point(field_set_allocated:service_layer.SLAFObject.PathGroup) } +void SLAFObject::clear_pathgroup() { + if (_internal_has_pathgroup()) { + if (GetArenaForAllocation() == nullptr) { + delete entry_.pathgroup_; + } + clear_has_entry(); + } +} SLAFObject::SLAFObject(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -4439,7 +3616,7 @@ void SLAFObject::InternalSwap(SLAFObject* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[9]); } // =================================================================== @@ -4764,7 +3941,7 @@ void SLAFOpMsg::InternalSwap(SLAFOpMsg* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[10]); } // =================================================================== @@ -4956,7 +4133,7 @@ void SLAFClientIDList::InternalSwap(SLAFClientIDList* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[11]); } // =================================================================== @@ -5152,7 +4329,7 @@ void SLTableTypeList::InternalSwap(SLTableTypeList* other) { ::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]); + file_level_metadata_sl_5faf_2eproto[12]); } // =================================================================== @@ -5529,7 +4706,7 @@ void SLAFObjectKey::InternalSwap(SLAFObjectKey* other) { ::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[16]); + file_level_metadata_sl_5faf_2eproto[13]); } // =================================================================== @@ -5842,7 +5019,7 @@ void SLAFGetMatch::InternalSwap(SLAFGetMatch* other) { ::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[17]); + file_level_metadata_sl_5faf_2eproto[14]); } // =================================================================== @@ -6027,7 +5204,7 @@ void SLAFGetMatchList::InternalSwap(SLAFGetMatchList* other) { ::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[18]); + file_level_metadata_sl_5faf_2eproto[15]); } // =================================================================== @@ -6499,7 +5676,7 @@ void SLAFGetMsg::InternalSwap(SLAFGetMsg* other) { ::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[19]); + file_level_metadata_sl_5faf_2eproto[16]); } // =================================================================== @@ -6729,7 +5906,7 @@ void SLAFGetMsgRspEntry::InternalSwap(SLAFGetMsgRspEntry* other) { ::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[20]); + file_level_metadata_sl_5faf_2eproto[17]); } // =================================================================== @@ -7046,7 +6223,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[21]); + file_level_metadata_sl_5faf_2eproto[18]); } // =================================================================== @@ -7311,7 +6488,7 @@ 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[22]); + file_level_metadata_sl_5faf_2eproto[19]); } // =================================================================== @@ -7665,7 +6842,7 @@ void SLAFRes::InternalSwap(SLAFRes* other) { ::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[23]); + file_level_metadata_sl_5faf_2eproto[20]); } // =================================================================== @@ -7901,7 +7078,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[24]); + file_level_metadata_sl_5faf_2eproto[21]); } // =================================================================== @@ -8182,7 +7359,7 @@ 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[25]); + file_level_metadata_sl_5faf_2eproto[22]); } // =================================================================== @@ -8463,7 +7640,7 @@ void SLAFNextHopRegKey_SLNextHopKey::InternalSwap(SLAFNextHopRegKey_SLNextHopKey ::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[26]); + file_level_metadata_sl_5faf_2eproto[23]); } // =================================================================== @@ -8706,7 +7883,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[27]); + file_level_metadata_sl_5faf_2eproto[24]); } // =================================================================== @@ -8901,7 +8078,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[28]); + file_level_metadata_sl_5faf_2eproto[25]); } // =================================================================== @@ -9227,7 +8404,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[29]); + file_level_metadata_sl_5faf_2eproto[26]); } // =================================================================== @@ -9492,7 +8669,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[30]); + file_level_metadata_sl_5faf_2eproto[27]); } // =================================================================== @@ -9742,7 +8919,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[31]); + file_level_metadata_sl_5faf_2eproto[28]); } // =================================================================== @@ -10178,7 +9355,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[32]); + file_level_metadata_sl_5faf_2eproto[29]); } // =================================================================== @@ -10359,7 +9536,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[33]); + file_level_metadata_sl_5faf_2eproto[30]); } // =================================================================== @@ -10830,7 +10007,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[34]); + file_level_metadata_sl_5faf_2eproto[31]); } // =================================================================== @@ -11066,7 +10243,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[35]); + file_level_metadata_sl_5faf_2eproto[32]); } // @@protoc_insertion_point(namespace_scope) @@ -11090,15 +10267,6 @@ template<> PROTOBUF_NOINLINE ::service_layer::SLAFVrfRegGetMsg* Arena::CreateMay template<> PROTOBUF_NOINLINE ::service_layer::SLAFVrfRegGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLAFVrfRegGetMsgRsp >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLAFVrfRegGetMsgRsp >(arena); } -template<> PROTOBUF_NOINLINE ::service_layer::SLPathGroup_SLPath* Arena::CreateMaybeMessage< ::service_layer::SLPathGroup_SLPath >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLPathGroup_SLPath >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLPathGroup_SLPathList* Arena::CreateMaybeMessage< ::service_layer::SLPathGroup_SLPathList >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLPathGroup_SLPathList >(arena); -} -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); } diff --git a/grpc/cpp/src/gencpp/sl_af.pb.h b/grpc/cpp/src/gencpp/sl_af.pb.h index 40560d23..5a5a8095 100644 --- a/grpc/cpp/src/gencpp/sl_af.pb.h +++ b/grpc/cpp/src/gencpp/sl_af.pb.h @@ -48,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[36] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[33] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -152,15 +152,6 @@ extern SLMplsEntryKeyDefaultTypeInternal _SLMplsEntryKey_default_instance_; class SLNextHop; struct SLNextHopDefaultTypeInternal; extern SLNextHopDefaultTypeInternal _SLNextHop_default_instance_; -class SLPathGroup; -struct SLPathGroupDefaultTypeInternal; -extern SLPathGroupDefaultTypeInternal _SLPathGroup_default_instance_; -class SLPathGroup_SLPath; -struct SLPathGroup_SLPathDefaultTypeInternal; -extern SLPathGroup_SLPathDefaultTypeInternal _SLPathGroup_SLPath_default_instance_; -class SLPathGroup_SLPathList; -struct SLPathGroup_SLPathListDefaultTypeInternal; -extern SLPathGroup_SLPathListDefaultTypeInternal _SLPathGroup_SLPathList_default_instance_; class SLTableTypeList; struct SLTableTypeListDefaultTypeInternal; extern SLTableTypeListDefaultTypeInternal _SLTableTypeList_default_instance_; @@ -198,9 +189,6 @@ template<> ::service_layer::SLAFVrfRegMsgRsp* Arena::CreateMaybeMessage<::servic 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 { @@ -1239,542 +1227,6 @@ class SLAFVrfRegGetMsgRsp final : }; // ------------------------------------------------------------------- -class SLPathGroup_SLPath final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPathGroup.SLPath) */ { - public: - inline SLPathGroup_SLPath() : SLPathGroup_SLPath(nullptr) {} - ~SLPathGroup_SLPath() override; - explicit constexpr SLPathGroup_SLPath(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SLPathGroup_SLPath(const SLPathGroup_SLPath& from); - SLPathGroup_SLPath(SLPathGroup_SLPath&& from) noexcept - : SLPathGroup_SLPath() { - *this = ::std::move(from); - } - - inline SLPathGroup_SLPath& operator=(const SLPathGroup_SLPath& from) { - CopyFrom(from); - return *this; - } - inline SLPathGroup_SLPath& operator=(SLPathGroup_SLPath&& 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 SLPathGroup_SLPath& default_instance() { - return *internal_default_instance(); - } - static inline const SLPathGroup_SLPath* internal_default_instance() { - return reinterpret_cast( - &_SLPathGroup_SLPath_default_instance_); - } - static constexpr int kIndexInFileMessages = - 6; - - friend void swap(SLPathGroup_SLPath& a, SLPathGroup_SLPath& b) { - a.Swap(&b); - } - inline void Swap(SLPathGroup_SLPath* 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(SLPathGroup_SLPath* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SLPathGroup_SLPath* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLPathGroup_SLPath& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLPathGroup_SLPath& 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(SLPathGroup_SLPath* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLPathGroup.SLPath"; - } - protected: - explicit SLPathGroup_SLPath(::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 { - kPathFieldNumber = 1, - }; - // .service_layer.SLRoutePath Path = 1; - bool has_path() const; - private: - bool _internal_has_path() const; - public: - void clear_path(); - const ::service_layer::SLRoutePath& path() const; - PROTOBUF_NODISCARD ::service_layer::SLRoutePath* release_path(); - ::service_layer::SLRoutePath* mutable_path(); - void set_allocated_path(::service_layer::SLRoutePath* path); - private: - const ::service_layer::SLRoutePath& _internal_path() const; - ::service_layer::SLRoutePath* _internal_mutable_path(); - public: - void unsafe_arena_set_allocated_path( - ::service_layer::SLRoutePath* path); - ::service_layer::SLRoutePath* unsafe_arena_release_path(); - - // @@protoc_insertion_point(class_scope:service_layer.SLPathGroup.SLPath) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::service_layer::SLRoutePath* path_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_sl_5faf_2eproto; -}; -// ------------------------------------------------------------------- - -class SLPathGroup_SLPathList final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPathGroup.SLPathList) */ { - public: - inline SLPathGroup_SLPathList() : SLPathGroup_SLPathList(nullptr) {} - ~SLPathGroup_SLPathList() override; - explicit constexpr SLPathGroup_SLPathList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SLPathGroup_SLPathList(const SLPathGroup_SLPathList& from); - SLPathGroup_SLPathList(SLPathGroup_SLPathList&& from) noexcept - : SLPathGroup_SLPathList() { - *this = ::std::move(from); - } - - inline SLPathGroup_SLPathList& operator=(const SLPathGroup_SLPathList& from) { - CopyFrom(from); - return *this; - } - inline SLPathGroup_SLPathList& operator=(SLPathGroup_SLPathList&& 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 SLPathGroup_SLPathList& default_instance() { - return *internal_default_instance(); - } - static inline const SLPathGroup_SLPathList* internal_default_instance() { - return reinterpret_cast( - &_SLPathGroup_SLPathList_default_instance_); - } - static constexpr int kIndexInFileMessages = - 7; - - friend void swap(SLPathGroup_SLPathList& a, SLPathGroup_SLPathList& b) { - a.Swap(&b); - } - inline void Swap(SLPathGroup_SLPathList* 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(SLPathGroup_SLPathList* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SLPathGroup_SLPathList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLPathGroup_SLPathList& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLPathGroup_SLPathList& 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(SLPathGroup_SLPathList* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLPathGroup.SLPathList"; - } - protected: - explicit SLPathGroup_SLPathList(::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 = 1, - }; - // repeated .service_layer.SLPathGroup.SLPath Paths = 1; - int paths_size() const; - private: - int _internal_paths_size() const; - public: - void clear_paths(); - ::service_layer::SLPathGroup_SLPath* mutable_paths(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >* - mutable_paths(); - private: - const ::service_layer::SLPathGroup_SLPath& _internal_paths(int index) const; - ::service_layer::SLPathGroup_SLPath* _internal_add_paths(); - public: - const ::service_layer::SLPathGroup_SLPath& paths(int index) const; - ::service_layer::SLPathGroup_SLPath* add_paths(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >& - paths() const; - - // @@protoc_insertion_point(class_scope:service_layer.SLPathGroup.SLPathList) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath > paths_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_sl_5faf_2eproto; -}; -// ------------------------------------------------------------------- - -class SLPathGroup final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPathGroup) */ { - public: - inline SLPathGroup() : SLPathGroup(nullptr) {} - ~SLPathGroup() override; - explicit constexpr SLPathGroup(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SLPathGroup(const SLPathGroup& from); - SLPathGroup(SLPathGroup&& from) noexcept - : SLPathGroup() { - *this = ::std::move(from); - } - - inline SLPathGroup& operator=(const SLPathGroup& from) { - CopyFrom(from); - return *this; - } - inline SLPathGroup& operator=(SLPathGroup&& 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 SLPathGroup& default_instance() { - return *internal_default_instance(); - } - enum EntryCase { - kPathList = 3, - ENTRY_NOT_SET = 0, - }; - - static inline const SLPathGroup* internal_default_instance() { - return reinterpret_cast( - &_SLPathGroup_default_instance_); - } - static constexpr int kIndexInFileMessages = - 8; - - friend void swap(SLPathGroup& a, SLPathGroup& b) { - a.Swap(&b); - } - inline void Swap(SLPathGroup* 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(SLPathGroup* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - SLPathGroup* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLPathGroup& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLPathGroup& 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(SLPathGroup* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLPathGroup"; - } - protected: - explicit SLPathGroup(::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 SLPathGroup_SLPath SLPath; - typedef SLPathGroup_SLPathList SLPathList; - - // accessors ------------------------------------------------------- - - enum : int { - kPgFlagsFieldNumber = 4, - kPathGroupIdFieldNumber = 1, - kAdminDistanceFieldNumber = 2, - 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: - bool _internal_has_pathgroupid() const; - public: - 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: - 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(); - - // 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: - - // .service_layer.SLPathGroup.SLPathList PathList = 3; - bool has_pathlist() const; - private: - bool _internal_has_pathlist() const; - public: - void clear_pathlist(); - const ::service_layer::SLPathGroup_SLPathList& pathlist() const; - PROTOBUF_NODISCARD ::service_layer::SLPathGroup_SLPathList* release_pathlist(); - ::service_layer::SLPathGroup_SLPathList* mutable_pathlist(); - void set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList* pathlist); - private: - const ::service_layer::SLPathGroup_SLPathList& _internal_pathlist() const; - ::service_layer::SLPathGroup_SLPathList* _internal_mutable_pathlist(); - public: - void unsafe_arena_set_allocated_pathlist( - ::service_layer::SLPathGroup_SLPathList* pathlist); - ::service_layer::SLPathGroup_SLPathList* unsafe_arena_release_pathlist(); - - void clear_entry(); - EntryCase entry_case() const; - // @@protoc_insertion_point(class_scope:service_layer.SLPathGroup) - private: - class _Internal; - void set_has_pathlist(); - - 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::RepeatedField pgflags_; - mutable std::atomic _pgflags_cached_byte_size_; - ::service_layer::SLObjectId* pathgroupid_; - uint32_t admindistance_; - union EntryUnion { - constexpr EntryUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::service_layer::SLPathGroup_SLPathList* pathlist_; - } entry_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - - friend struct ::TableStruct_sl_5faf_2eproto; -}; -// ------------------------------------------------------------------- - class SLMplsEntryKey final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLMplsEntryKey) */ { public: @@ -1823,7 +1275,7 @@ class SLMplsEntryKey final : &_SLMplsEntryKey_default_instance_); } static constexpr int kIndexInFileMessages = - 9; + 6; friend void swap(SLMplsEntryKey& a, SLMplsEntryKey& b) { a.Swap(&b); @@ -1969,7 +1421,7 @@ class SLMplsEntry final : &_SLMplsEntry_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 7; friend void swap(SLMplsEntry& a, SLMplsEntry& b) { a.Swap(&b); @@ -2186,7 +1638,7 @@ class SLAFIPRoute final : &_SLAFIPRoute_default_instance_); } static constexpr int kIndexInFileMessages = - 11; + 8; friend void swap(SLAFIPRoute& a, SLAFIPRoute& b) { a.Swap(&b); @@ -2388,7 +1840,7 @@ class SLAFObject final : &_SLAFObject_default_instance_); } static constexpr int kIndexInFileMessages = - 12; + 9; friend void swap(SLAFObject& a, SLAFObject& b) { a.Swap(&b); @@ -2597,7 +2049,7 @@ class SLAFOpMsg final : &_SLAFOpMsg_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 10; friend void swap(SLAFOpMsg& a, SLAFOpMsg& b) { a.Swap(&b); @@ -2805,7 +2257,7 @@ class SLAFClientIDList final : &_SLAFClientIDList_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 11; friend void swap(SLAFClientIDList& a, SLAFClientIDList& b) { a.Swap(&b); @@ -2965,7 +2417,7 @@ class SLTableTypeList final : &_SLTableTypeList_default_instance_); } static constexpr int kIndexInFileMessages = - 15; + 12; friend void swap(SLTableTypeList& a, SLTableTypeList& b) { a.Swap(&b); @@ -3127,7 +2579,7 @@ class SLAFObjectKey final : &_SLAFObjectKey_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 13; friend void swap(SLAFObjectKey& a, SLAFObjectKey& b) { a.Swap(&b); @@ -3343,7 +2795,7 @@ class SLAFGetMatch final : &_SLAFGetMatch_default_instance_); } static constexpr int kIndexInFileMessages = - 17; + 14; friend void swap(SLAFGetMatch& a, SLAFGetMatch& b) { a.Swap(&b); @@ -3547,7 +2999,7 @@ class SLAFGetMatchList final : &_SLAFGetMatchList_default_instance_); } static constexpr int kIndexInFileMessages = - 18; + 15; friend void swap(SLAFGetMatchList& a, SLAFGetMatchList& b) { a.Swap(&b); @@ -3714,7 +3166,7 @@ class SLAFGetMsg final : &_SLAFGetMsg_default_instance_); } static constexpr int kIndexInFileMessages = - 19; + 16; friend void swap(SLAFGetMsg& a, SLAFGetMsg& b) { a.Swap(&b); @@ -3964,7 +3416,7 @@ class SLAFGetMsgRspEntry final : &_SLAFGetMsgRspEntry_default_instance_); } static constexpr int kIndexInFileMessages = - 20; + 17; friend void swap(SLAFGetMsgRspEntry& a, SLAFGetMsgRspEntry& b) { a.Swap(&b); @@ -4130,7 +3582,7 @@ class SLAFGetMsgRsp final : &_SLAFGetMsgRsp_default_instance_); } static constexpr int kIndexInFileMessages = - 21; + 18; friend void swap(SLAFGetMsgRsp& a, SLAFGetMsgRsp& b) { a.Swap(&b); @@ -4332,7 +3784,7 @@ class SLAFMsg final : &_SLAFMsg_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 19; friend void swap(SLAFMsg& a, SLAFMsg& b) { a.Swap(&b); @@ -4514,7 +3966,7 @@ class SLAFRes final : &_SLAFRes_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 20; friend void swap(SLAFRes& a, SLAFRes& b) { a.Swap(&b); @@ -4727,7 +4179,7 @@ class SLAFMsgRsp final : &_SLAFMsgRsp_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 21; friend void swap(SLAFMsgRsp& a, SLAFMsgRsp& b) { a.Swap(&b); @@ -4898,7 +4350,7 @@ class SLAFRedistRegMsg final : &_SLAFRedistRegMsg_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 22; friend void swap(SLAFRedistRegMsg& a, SLAFRedistRegMsg& b) { a.Swap(&b); @@ -5076,7 +4528,7 @@ class SLAFNextHopRegKey_SLNextHopKey final : &_SLAFNextHopRegKey_SLNextHopKey_default_instance_); } static constexpr int kIndexInFileMessages = - 26; + 23; friend void swap(SLAFNextHopRegKey_SLNextHopKey& a, SLAFNextHopRegKey_SLNextHopKey& b) { a.Swap(&b); @@ -5269,7 +4721,7 @@ class SLAFNextHopRegKey final : &_SLAFNextHopRegKey_default_instance_); } static constexpr int kIndexInFileMessages = - 27; + 24; friend void swap(SLAFNextHopRegKey& a, SLAFNextHopRegKey& b) { a.Swap(&b); @@ -5438,7 +4890,7 @@ class SLAFNextHopRegMsg final : &_SLAFNextHopRegMsg_default_instance_); } static constexpr int kIndexInFileMessages = - 28; + 25; friend void swap(SLAFNextHopRegMsg& a, SLAFNextHopRegMsg& b) { a.Swap(&b); @@ -5599,7 +5051,7 @@ class SLAFNotifRegReq final : &_SLAFNotifRegReq_default_instance_); } static constexpr int kIndexInFileMessages = - 29; + 26; friend void swap(SLAFNotifRegReq& a, SLAFNotifRegReq& b) { a.Swap(&b); @@ -5798,7 +5250,7 @@ class SLAFNotifReq final : &_SLAFNotifReq_default_instance_); } static constexpr int kIndexInFileMessages = - 30; + 27; friend void swap(SLAFNotifReq& a, SLAFNotifReq& b) { a.Swap(&b); @@ -5980,7 +5432,7 @@ class SLAFNotifRsp final : &_SLAFNotifRsp_default_instance_); } static constexpr int kIndexInFileMessages = - 31; + 28; friend void swap(SLAFNotifRsp& a, SLAFNotifRsp& b) { a.Swap(&b); @@ -6155,7 +5607,7 @@ class SLNextHop final : &_SLNextHop_default_instance_); } static constexpr int kIndexInFileMessages = - 32; + 29; friend void swap(SLNextHop& a, SLNextHop& b) { a.Swap(&b); @@ -6404,7 +5856,7 @@ class SLAFNotif_SLRedistMarker final : &_SLAFNotif_SLRedistMarker_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 30; friend void swap(SLAFNotif_SLRedistMarker& a, SLAFNotif_SLRedistMarker& b) { a.Swap(&b); @@ -6559,7 +6011,7 @@ class SLAFNotif final : &_SLAFNotif_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 31; friend void swap(SLAFNotif& a, SLAFNotif& b) { a.Swap(&b); @@ -6812,7 +6264,7 @@ class SLAFNotifMsg final : &_SLAFNotifMsg_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 32; friend void swap(SLAFNotifMsg& a, SLAFNotifMsg& b) { a.Swap(&b); @@ -7598,376 +7050,6 @@ SLAFVrfRegGetMsgRsp::entries() const { // ------------------------------------------------------------------- -// 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*>(path_); - } - if (path) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(path)); - if (message_arena != submessage_arena) { - path = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, path, submessage_arena); - } - - } else { - - } - path_ = path; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.SLPath.Path) -} - -// ------------------------------------------------------------------- - -// 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(); -} -inline void SLPathGroup_SLPathList::clear_paths() { - paths_.Clear(); -} -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::SLPathGroup_SLPath >* -SLPathGroup_SLPathList::mutable_paths() { - // @@protoc_insertion_point(field_mutable_list:service_layer.SLPathGroup.SLPathList.Paths) - return &paths_; -} -inline const ::service_layer::SLPathGroup_SLPath& SLPathGroup_SLPathList::_internal_paths(int index) const { - return paths_.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 ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::_internal_add_paths() { - return paths_.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) - 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_; -} - -// ------------------------------------------------------------------- - -// SLPathGroup - -// .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(); -} -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::SLObjectId& SLPathGroup::pathgroupid() const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PathGroupId) - return _internal_pathgroupid(); -} -inline void SLPathGroup::unsafe_arena_set_allocated_pathgroupid( - ::service_layer::SLObjectId* pathgroupid) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid_); - } - pathgroupid_ = pathgroupid; - if (pathgroupid) { - - } else { - - } - // @@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); - } -#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 ::service_layer::SLObjectId* SLPathGroup::_internal_mutable_pathgroupid() { - - if (pathgroupid_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLObjectId>(GetArenaForAllocation()); - pathgroupid_ = p; - } - return pathgroupid_; -} -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 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; - } - // @@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()); - } - 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; -} - -// repeated .service_layer.SLRouteFlags PgFlags = 4; -inline int SLPathGroup::_internal_pgflags_size() const { - return pgflags_.size(); -} -inline int SLPathGroup::pgflags_size() const { - return _internal_pgflags_size(); -} -inline void SLPathGroup::clear_pgflags() { - pgflags_.Clear(); -} -inline ::service_layer::SLRouteFlags SLPathGroup::_internal_pgflags(int index) const { - return static_cast< ::service_layer::SLRouteFlags >(pgflags_.Get(index)); -} -inline ::service_layer::SLRouteFlags SLPathGroup::pgflags(int index) const { - // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PgFlags) - return _internal_pgflags(index); -} -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 void SLPathGroup::_internal_add_pgflags(::service_layer::SLRouteFlags value) { - pgflags_.Add(value); -} -inline void SLPathGroup::add_pgflags(::service_layer::SLRouteFlags value) { - _internal_add_pgflags(value); - // @@protoc_insertion_point(field_add:service_layer.SLPathGroup.PgFlags) -} -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(); -} - -inline bool SLPathGroup::has_entry() const { - return entry_case() != ENTRY_NOT_SET; -} -inline void SLPathGroup::clear_has_entry() { - _oneof_case_[0] = ENTRY_NOT_SET; -} -inline SLPathGroup::EntryCase SLPathGroup::entry_case() const { - return SLPathGroup::EntryCase(_oneof_case_[0]); -} -// ------------------------------------------------------------------- - // SLMplsEntryKey // uint32 Label = 1; @@ -8579,14 +7661,6 @@ inline bool SLAFObject::has_pathgroup() const { inline void SLAFObject::set_has_pathgroup() { _oneof_case_[0] = kPathGroup; } -inline void SLAFObject::clear_pathgroup() { - if (_internal_has_pathgroup()) { - if (GetArenaForAllocation() == nullptr) { - delete entry_.pathgroup_; - } - clear_has_entry(); - } -} inline ::service_layer::SLPathGroup* SLAFObject::release_pathgroup() { // @@protoc_insertion_point(field_release:service_layer.SLAFObject.PathGroup) if (_internal_has_pathgroup()) { @@ -12407,12 +11481,6 @@ SLAFNotifMsg::afnotifs() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/grpc/cpp/src/gencpp/sl_common_types.pb.cc b/grpc/cpp/src/gencpp/sl_common_types.pb.cc index 77384067..82964879 100644 --- a/grpc/cpp/src/gencpp/sl_common_types.pb.cc +++ b/grpc/cpp/src/gencpp/sl_common_types.pb.cc @@ -186,383 +186,485 @@ 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\"\211" - "h\n\rSLErrorStatus\0224\n\006Status\030\001 \001(\0162$.servi" - "ce_layer.SLErrorStatus.SLErrno\"\301g\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" - "R\020\006\022\024\n\020SL_NOT_AVAILABLE\020\007\022\033\n\027SL_STREAM_N" - "OT_SUPPORTED\020\010\022\016\n\nSL_ENOTSUP\020\t\022\017\n\013SL_SOM" - "E_ERR\020\n\022\016\n\nSL_TIMEOUT\020\013\022\021\n\rSL_NOTIF_TERM" - "\020\014\022\020\n\014SL_AUTH_FAIL\020\r\022\035\n\031SL_ACK_TYPE_NOT_" - "SUPPORTED\020\016\022\031\n\024SL_INIT_START_OFFSET\020\200\n\022\030" - "\n\023SL_INIT_STATE_CLEAR\020\201\n\022\030\n\023SL_INIT_STAT" - "E_READY\020\202\n\022\034\n\027SL_INIT_UNSUPPORTED_VER\020\203\n" - "\022#\n\036SL_INIT_SERVER_NOT_INITIALIZED\020\204\n\022&\n" - "!SL_INIT_SERVER_MODE_CHANGE_FAILED\020\205\n\022\034\n" - "\027SL_RPC_VRF_START_OFFSET\020\200 \022%\n SL_RPC_VR" - "F_TOO_MANY_VRF_REG_MSGS\020\201 \022&\n!SL_RPC_VRF" - "_SERVER_NOT_INITIALIZED\020\202 \022&\n!SL_RPC_VRF" - "_OP_NOTSUP_WITH_AUTOREG\020\203 \022\030\n\023SL_VRF_STA" - "RT_OFFSET\020\200@\022\030\n\023SL_VRF_NAME_TOOLONG\020\201@\022\025" - "\n\020SL_VRF_NOT_FOUND\020\202@\022\027\n\022SL_VRF_NO_TABLE" - "_ID\020\203@\022&\n!SL_VRF_REG_INVALID_ADMIN_DISTA" - "NCE\020\204@\022\031\n\024SL_VRF_TABLE_ADD_ERR\020\205@\022\"\n\035SL_" - "VRF_TABLE_REGISTRATION_ERR\020\206@\022$\n\037SL_VRF_" - "TABLE_UNREGISTRATION_ERR\020\207@\022\031\n\024SL_VRF_TA" - "BLE_EOF_ERR\020\210@\022 \n\033SL_VRF_REG_VRF_NAME_MI" - "SSING\020\211@\022\'\n\"SL_VRF_V4_ROUTE_REPLAY_FATAL" - "_ERROR\020\220@\022\'\n\"SL_VRF_V6_ROUTE_REPLAY_FATA" - "L_ERROR\020\221@\022\036\n\031SL_VRF_V4_ROUTE_REPLAY_OK\020" - "\222@\022\036\n\031SL_VRF_V6_ROUTE_REPLAY_OK\020\223@\022\036\n\031SL" - "_RPC_ROUTE_START_OFFSET\020\200`\022!\n\034SL_RPC_ROU" - "TE_TOO_MANY_ROUTES\020\201`\022\"\n\035SL_RPC_ROUTE_VR" - "F_NAME_TOOLONG\020\202`\022\037\n\032SL_RPC_ROUTE_VRF_NO" - "T_FOUND\020\203`\022\036\n\031SL_RPC_ROUTE_VRF_NO_TABLE\020" - "\204`\022*\n%SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTE" - "RED\020\205`\022\"\n\035SL_RPC_ROUTE_VRF_NAME_MISSING\020" - "\206`\022(\n#SL_RPC_ROUTE_INIT_MODE_INCOMPATIBL" - "E\020\207`\022(\n#SL_RPC_ROUTE_SERVER_NOT_INITIALI" - "ZED\020\210`\022)\n$SL_RPC_ROUTE_NOTIF_SRC_PROTO_T" - "OOLONG\020\211`\022-\n(SL_RPC_ROUTE_NOTIF_SRC_PROT" - "O_TAG_TOOLONG\020\212`\022#\n\036SL_RPC_ROUTE_GET_MAT" - "CH_INVALID\020\213`\022\"\n\035SL_RPC_ROUTE_GET_MATCH_" - "NOTSUP\020\214`\022\033\n\025SL_ROUTE_START_OFFSET\020\200\200\001\022\033" - "\n\025SL_ROUTE_ADD_NO_PATHS\020\201\200\001\022\036\n\030SL_ROUTE_" - "UPDATE_NO_PATHS\020\202\200\001\022!\n\033SL_ROUTE_INVALID_" - "PREFIX_LEN\020\203\200\001\022%\n\037SL_ROUTE_INVALID_ADMIN" - "_DISTANCE\020\204\200\001\022 \n\032SL_ROUTE_INVALID_NUM_PA" - "THS\020\205\200\001\022 \n\032SL_ROUTE_INVALID_PREFIX_SZ\020\206\200" - "\001\022\035\n\027SL_ROUTE_INVALID_PREFIX\020\207\200\001\022*\n$SL_R" - "OUTE_ERR_RIB_TABLE_LIMIT_REACHED\020\210\200\001\022#\n\035" - "SL_ROUTE_ERR_RIB_INVALID_ARGS\020\211\200\001\022\'\n!SL_" - "ROUTE_ERR_RIB_PATH_TABLE_LIMIT\020\212\200\001\022#\n\035SL" - "_ROUTE_ERR_RIB_TOOMANYPATHS\020\213\200\001\022\025\n\017SL_RO" - "UTE_EEXIST\020\214\200\001\022\034\n\026SL_ROUTE_HOST_BITS_SET" - "\020\215\200\001\022#\n\035SL_ROUTE_INVALID_PREFIX_MCAST\020\216\200" - "\001\022 \n\032SL_ROUTE_PATH_AFI_MISMATCH\020\217\200\001\022$\n\036S" - "L_ROUTE_TOOMANY_PRIMARY_PATHS\020\220\200\001\022#\n\035SL_" - "ROUTE_TOOMANY_BACKUP_PATHS\020\221\200\001\022\027\n\021SL_ROU" - "TE_DB_NOMEM\020\222\200\001\022\"\n\034SL_ROUTE_INVALID_LOCA" - "L_LABEL\020\223\200\001\022\034\n\026SL_ROUTE_INVALID_FLAGS\020\224\200" - "\001\022\037\n\031SL_ROUTE_INVALID_PRIORITY\020\225\200\001\022\032\n\024SL" - "_PATH_START_OFFSET\020\200\240\001\022\031\n\023SL_PATH_NH_NO_" - "TABLE\020\201\240\001\022\037\n\031SL_PATH_NH_INTF_NOT_FOUND\020\202" - "\240\001\022!\n\033SL_PATH_INVALID_LABEL_COUNT\020\203\240\001\022\030\n" - "\022SL_PATH_INVALID_ID\020\204\240\001\022\036\n\030SL_PATH_VRF_N" - "AME_TOOLONG\020\205\240\001\022\"\n\034SL_PATH_NH_INTF_NAME_" - "TOOLONG\020\206\240\001\022 \n\032SL_PATH_NH_INVALID_ADDR_S" - "Z\020\207\240\001\022!\n\033SL_PATH_NH_INF_NAME_MISSING\020\210\240\001" - "\022#\n\035SL_PATH_INVALID_NEXT_HOP_ADDR\020\211\240\001\022\'\n" - "!SL_PATH_INVALID_REMOTE_ADDR_COUNT\020\212\240\001\022$" - "\n\036SL_PATH_REMOTE_ADDR_INVALID_SZ\020\213\240\001\022&\n " - "SL_PATH_REMOTE_ADDR_AFI_MISMATCH\020\214\240\001\022&\n " - "SL_PATH_INVALID_PROTECTED_BITMAP\020\215\240\001\022)\n#" - "SL_PATH_BACKUP_MISSING_PRIMARY_PATH\020\216\240\001\022" - "!\n\033SL_PATH_PRIMARY_ID_REPEATED\020\217\240\001\022 \n\032SL" - "_PATH_BACKUP_ID_REPEATED\020\220\240\001\022*\n$SL_PATH_" - "PRIMARY_TOOMANY_BACKUP_PATHS\020\221\240\001\022$\n\036SL_P" - "ATH_PRIMARY_TOOMANY_LABELS\020\222\240\001\022)\n#SL_PAT" - "H_PRIMARY_TOOMANY_REMOTE_ADDR\020\223\240\001\022!\n\033SL_" - "PATH_REMOTE_ADDR_INVALID\020\224\240\001\022\033\n\025SL_PATH_" - "INVALID_LABEL\020\225\240\001\022(\n\"SL_PATH_ROUTER_MAC_" - "ADDR_INVALID_SZ\020\226\240\001\022#\n\035SL_PATH_BACKUP_TO" - "OMANY_LABELS\020\227\240\001\022\031\n\023SL_PATH_INVALID_VNI\020" - "\230\240\001\022 \n\032SL_PATH_INVALID_ENCAP_ADDR\020\231\240\001\022(\n" - "\"SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH\020\232\240\001\022" - "\033\n\025SL_PATH_RTR_MAC_NOSUP\020\233\240\001\022!\n\033SL_PATH_" - "ENCAP_TYPE_MISMATCH\020\234\240\001\022\035\n\027SL_RPC_BFD_ST" - "ART_OFFSET\020\200\300\001\022&\n SL_RPC_BFD_TOO_MANY_BF" - "D_SESSIONS\020\201\300\001\022\"\n\034SL_RPC_BFD_API_BAD_PAR" - "AMETER\020\202\300\001\022*\n$SL_RPC_BFD_API_CLIENT_NOT_" - "REGISTERED\020\203\300\001\022#\n\035SL_RPC_BFD_API_INTERNA" - "L_ERROR\020\204\300\001\022\'\n!SL_RPC_BFD_SERVER_NOT_INI" - "TIALIZED\020\205\300\001\022\"\n\034SL_RPC_BFD_V4_NOT_REGIST" - "ERED\020\206\300\001\022\"\n\034SL_RPC_BFD_V6_NOT_REGISTERED" - "\020\207\300\001\022\031\n\023SL_BFD_START_OFFSET\020\200\340\001\022\036\n\030SL_BF" - "D_INTF_NAME_TOOLONG\020\201\340\001\022\033\n\025SL_BFD_INTF_N" - "OT_FOUND\020\202\340\001\022\036\n\030SL_BFD_INVALID_ATTRIBUTE" - "\020\203\340\001\022\036\n\030SL_BFD_INTF_NAME_MISSING\020\204\340\001\022\036\n\030" - "SL_BFD_INVALID_NBR_MCAST\020\205\340\001\022\030\n\022SL_BFD_I" - "NVALID_NBR\020\206\340\001\022\035\n\027SL_BFD_VRF_NAME_TOOLON" - "G\020\207\340\001\022\032\n\024SL_BFD_BAD_PARAMETER\020\210\340\001\022\037\n\031SL_" - "BFD_API_INTERNAL_ERROR\020\211\340\001\022\032\n\024SL_BFD_VRF" - "_NOT_FOUND\020\212\340\001\022 \n\032SL_BFD_INVALID_PREFIX_" - "SIZE\020\213\340\001\022!\n\033SL_BFD_INVALID_SESSION_TYPE\020" - "\214\340\001\022\030\n\022SL_BFD_INVALID_VRF\020\215\340\001\022\036\n\030SL_BFD_" - "SESSION_NOT_FOUND\020\216\340\001\022\033\n\025SL_BFD_SESSION_" - "EXISTS\020\217\340\001\022\036\n\030SL_BFD_INTERNAL_DB_ERROR\020\220" - "\340\001\022\033\n\025SL_BFD_RECOVERY_ERROR\020\221\340\001\022\036\n\030SL_RP" - "C_MPLS_START_OFFSET\020\200\200\002\022#\n\035SL_RPC_MPLS_I" - "LM_TOO_MANY_ILMS\020\201\200\002\022(\n\"SL_RPC_MPLS_SERV" - "ER_NOT_INITIALIZED\020\202\200\002\022(\n\"SL_RPC_MPLS_IN" - "IT_MODE_INCOMPATIBLE\020\203\200\002\022/\n)SL_RPC_MPLS_" - "LABEL_BLK_TOO_MANY_LABEL_BLKS\020\204\200\002\022 \n\032SL_" - "RPC_MPLS_NOT_REGISTERED\020\205\200\002\022\027\n\021SL_ILM_ER" - "R_OFFSET\020\200\240\002\022\027\n\021SL_ILM_ADD_FAILED\020\201\240\002\022\033\n" - "\025SL_ILM_LSD_ADD_FAILED\020\202\240\002\022\036\n\030SL_ILM_INV" - "ALID_NUM_NHLFE\020\203\240\002\022\032\n\024SL_ILM_INVALID_LAB" - "EL\020\204\240\002\022\032\n\024SL_ILM_DELETE_FAILED\020\205\240\002\022\036\n\030SL" - "_ILM_LSD_DELETE_FAILED\020\206\240\002\022#\n\035SL_ILM_TOO" - "MANY_PRIMARY_NHLFES\020\207\240\002\022\"\n\034SL_ILM_TOOMAN" - "Y_BACKUP_NHLFES\020\210\240\002\022\'\n!SL_ILM_LSD_ADD_LA" - "BEL_ALLOC_FAILED\020\211\240\002\022%\n\037SL_ILM_LSD_NHLFE" - "_INVALID_ATTRIB\020\212\240\002\022\023\n\rSL_ILM_EEXIST\020\213\240\002" - "\022\025\n\017SL_ILM_DB_NOMEM\020\214\240\002\022\035\n\027SL_ILM_INVALI" - "D_ELSP_EXP\020\215\240\002\022)\n#SL_ILM_ELSP_EXP_OR_DFL" - "T_ALREADY_SET\020\216\240\002\022\031\n\023SL_ILM_ADD_NO_PATHS" - "\020\217\240\002\022\034\n\026SL_ILM_UPDATE_NO_PATHS\020\220\240\002\022\035\n\027SL" - "_ILM_UNSUPPORTED_ELSP\020\221\240\002\022&\n SL_ILM_LABE" - "L_TOOMANY_EXP_CLASSES\020\222\240\002\022\037\n\031SL_ILM_REPL" - "AY_FATAL_ERROR\020\223\240\002\022\026\n\020SL_ILM_REPLAY_OK\020\224" - "\240\002\022\037\n\031SL_ILM_INVALID_PREFIX_LEN\020\225\240\002\022\032\n\024S" - "L_ILM_HOST_BITS_SET\020\226\240\002\022\036\n\030SL_ILM_INVALI" - "D_PREFIX_SZ\020\227\240\002\022\033\n\025SL_ILM_INVALID_PREFIX" - "\020\230\240\002\022!\n\033SL_ILM_INVALID_PREFIX_MCAST\020\231\240\002\022" - "\035\n\027SL_ILM_VRF_NAME_TOOLONG\020\240\240\002\022\034\n\026SL_ILM" - "_VRF_NO_TABLE_ID\020\241\240\002\022\035\n\027SL_ILM_VRF_NAME_" - "MISSING\020\242\240\002\022\031\n\023SL_NHLFE_ERR_OFFSET\020\200\300\002\022\032" - "\n\024SL_NHLFE_NH_NO_TABLE\020\201\300\002\022!\n\033SL_NHLFE_N" - "H_INVALID_ADDR_SZ\020\202\300\002\022$\n\036SL_NHLFE_INVALI" - "D_NEXT_HOP_ADDR\020\203\300\002\022\037\n\031SL_NHLFE_VRF_NAME" - "_TOOLONG\020\204\300\002\022\"\n\034SL_NHLFE_NH_INF_NAME_MIS" - "SING\020\205\300\002\022#\n\035SL_NHLFE_NH_INTF_NAME_TOOLON" - "G\020\206\300\002\022\"\n\034SL_NHLFE_INVALID_LABEL_COUNT\020\207\300" - "\002\022\036\n\030SL_NHLFE_INVALID_PATH_ID\020\210\300\002\022\034\n\026SL_" - "NHLFE_INVALID_LABEL\020\211\300\002\022\'\n!SL_NHLFE_INVA" - "LID_PROTECTED_BITMAP\020\212\300\002\022(\n\"SL_NHLFE_INV" - "ALID_REMOTE_ADDR_COUNT\020\213\300\002\022%\n\037SL_NHLFE_R" - "EMOTE_ADDR_INVALID_SZ\020\214\300\002\022%\n\037SL_NHLFE_PR" - "IMARY_TOOMANY_LABELS\020\215\300\002\022*\n$SL_NHLFE_PRI" - "MARY_TOOMANY_REMOTE_ADDR\020\216\300\002\022!\n\033SL_NHLFE" - "_BACKUP_ID_REPEATED\020\217\300\002\022\"\n\034SL_NHLFE_PRIM" - "ARY_ID_REPEATED\020\220\300\002\022,\n&SL_NHLFE_BACKUP_P" - "ROTECTED_BITMAP_EMPTY\020\221\300\002\022+\n%SL_NHLFE_PR" - "IMARY_TOOMANY_BACKUP_PATHS\020\222\300\002\022\"\n\034SL_NHL" - "FE_REMOTE_ADDR_INVALID\020\223\300\002\022*\n$SL_NHLFE_B" - "ACKUP_MISSING_PRIMARY_PATH\020\224\300\002\022\037\n\031SL_NHL" - "FE_NEXT_HOP_MISSING\020\225\300\002\022#\n\035SL_NHLFE_LABE" - "L_ACTION_INVALID\020\226\300\002\022 \n\032SL_NHLFE_NH_INTF" - "_NOT_FOUND\020\227\300\002\022\032\n\024SL_NHLFE_OPER_FAILED\020\230" - "\300\002\022#\n\035SL_NHLFE_LABEL_ACTION_MISSING\020\231\300\002\022" - "\035\n\027SL_NHLFE_EXP_SET_FAILED\020\232\300\002\022*\n$SL_NHL" - "FE_ELSP_PROTECTION_UNSUPPORTED\020\233\300\002\022\037\n\031SL" - "_NHLFE_INVALID_ELSP_EXP\020\234\300\002\022$\n\036SL_NHLFE_" - "INVALID_PATH_PRIORITY\020\235\300\002\022\"\n\034SL_NHLFE_IN" - "VALID_LOAD_METRIC\020\236\300\002\022\034\n\026SL_NHLFE_INVALI" - "D_SETID\020\237\300\002\022%\n\037SL_NHLFE_INVALID_SETID_PR" - "IORITY\020\240\300\002\022.\n(SL_NHLFE_INVALID_MULTIPLE_" - "PRIMARY_SETIDS\020\241\300\002\022$\n\036SL_NHLFE_NON_CONTI" - "GUOUS_SETIDS\020\242\300\002\022!\n\033SL_NHLFE_NON_CONTIGU" - "OUS_EXP\020\243\300\002\022\'\n!SL_NHLFE_INCONSISTENT_EXP" - "_ON_PATH\020\244\300\002\022\035\n\027SL_LABEL_BLK_ERR_OFFSET\020" - "\200\340\002\022!\n\033SL_LABEL_BLK_LSD_ADD_FAILED\020\201\340\002\022$" - "\n\036SL_LABEL_BLK_LSD_DELETE_FAILED\020\202\340\002\022*\n$" - "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND\020\203\340\002" - "\022\'\n!SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE\020\204\340" - "\002\022%\n\037SL_LABEL_BLK_LSD_INVALID_ATTRIB\020\205\340\002" - "\022%\n\037SL_LABEL_BLK_INVALID_BLOCK_SIZE\020\206\340\002\022" - "&\n SL_LABEL_BLK_INVALID_START_LABEL\020\207\340\002\022" - "\031\n\023SL_LABEL_BLK_EEXIST\020\210\340\002\022\033\n\025SL_LABEL_B" - "LK_DB_NOMEM\020\211\340\002\022\037\n\031SL_LABEL_BLK_TYPE_INV" - "ALID\020\212\340\002\022&\n SL_LABEL_BLK_CLIENT_NAME_TOO" - "LONG\020\213\340\002\022\034\n\026SL_MPLS_REG_ERR_OFFSET\020\200\200\003\022\025" - "\n\017SL_MPLS_REG_ERR\020\201\200\003\022\027\n\021SL_MPLS_UNREG_E" - "RR\020\202\200\003\022\025\n\017SL_MPLS_EOF_ERR\020\203\200\003\022\036\n\030SL_RPC_" - "INTF_START_OFFSET\020\200\240\003\022%\n\037SL_RPC_INTF_TOO" - "_MANY_INTERFACES\020\201\240\003\022(\n\"SL_RPC_INTF_SERV" - "ER_NOT_INITIALIZED\020\202\240\003\022+\n%SL_RPC_INTF_AP" - "I_CLIENT_NOT_REGISTERED\020\203\240\003\022\032\n\024SL_INTF_S" - "TART_OFFSET\020\200\300\003\022$\n\036SL_INTF_INTERFACE_NAM" - "E_MISSING\020\201\300\003\022$\n\036SL_INTF_INTERFACE_NAME_" - "TOOLONG\020\202\300\003\022\037\n\031SL_INTF_INTERFACE_REG_ERR" - "\020\203\300\003\022\037\n\031SL_INTF_INTERNAL_DB_ERROR\020\204\300\003\022\034\n" - "\026SL_INTF_RECOVERY_ERROR\020\205\300\003\022\036\n\030SL_INTF_I" - "NTERFACE_EXISTS\020\206\300\003\022!\n\033SL_INTF_INTERFACE" - "_NOT_FOUND\020\207\300\003\022+\n%SL_INTF_INTERFACE_STAT" - "E_NOT_SUPPORTED\020\210\300\003\022\034\n\026SL_L2_REG_START_O" - "FFSET\020\200\340\003\022\034\n\026SL_L2_REGISTRATION_ERR\020\201\340\003\022" - "\036\n\030SL_L2_UNREGISTRATION_ERR\020\202\340\003\022\023\n\rSL_L2" - "_EOF_ERR\020\203\340\003\022&\n SL_L2_REG_INVALID_ADMIN_" - "DISTANCE\020\204\340\003\022\034\n\026SL_L2_REG_IS_DUPLICATE\020\205" - "\340\003\022&\n SL_L2_REG_SERVER_NOT_INITIALIZED\020\206" - "\340\003\022#\n\035SL_RPC_L2_BD_REG_START_OFFSET\020\200\200\004\022" - "#\n\035SL_RPC_L2_BD_REG_NAME_MISSING\020\201\200\004\022$\n\036" - "SL_RPC_L2_BD_REG_TOO_MANY_MSGS\020\202\200\004\022-\n\'SL" - "_RPC_L2_BD_REG_SERVER_NOT_INITIALIZED\020\203\200" - "\004\022,\n&SL_RPC_L2_BD_REG_CLIENT_NOT_REGISTE" - "RED\020\204\200\004\022\037\n\031SL_L2_BD_REG_START_OFFSET\020\200\240\004" - "\022\037\n\031SL_L2_BD_REGISTRATION_ERR\020\201\240\004\022!\n\033SL_" - "L2_BD_UNREGISTRATION_ERR\020\202\240\004\022\026\n\020SL_L2_BD" - "_EOF_ERR\020\203\240\004\022 \n\032SL_L2_BD_REG_NAME_TOO_LO" - "NG\020\204\240\004\022\037\n\031SL_L2_BD_REG_BD_NOT_FOUND\020\205\240\004\022" - "\"\n\034SL_RPC_L2_ROUTE_START_OFFSET\020\200\300\004\022#\n\035S" - "L_RPC_L2_ROUTE_TOO_MANY_MSGS\020\201\300\004\022,\n&SL_R" - "PC_L2_ROUTE_SERVER_NOT_INITIALIZED\020\202\300\004\022+" - "\n%SL_RPC_L2_ROUTE_CLIENT_NOT_REGISTERED\020" - "\203\300\004\022\036\n\030SL_L2_ROUTE_START_OFFSET\020\200\340\004\022!\n\033S" - "L_L2_ROUTE_BD_NAME_MISSING\020\201\340\004\022!\n\033SL_L2_" - "ROUTE_BD_NAME_TOOLONG\020\202\340\004\022\036\n\030SL_L2_ROUTE" - "_BD_NOT_FOUND\020\203\340\004\022#\n\035SL_L2_ROUTE_BD_NOT_" - "REGISTERED\020\204\340\004\022\036\n\030SL_L2_ROUTE_INVALID_AR" - "GS\020\205\340\004\022\"\n\034SL_RPC_L2_NOTIF_START_OFFSET\020\201" - "\200\005\022,\n&SL_RPC_L2_NOTIF_SERVER_NOT_INITIAL" - "IZED\020\202\200\005\022+\n%SL_RPC_L2_NOTIF_CLIENT_NOT_R" - "EGISTERED\020\203\200\005\022 \n\032SL_RPC_L2_NOTIF_ENABLE_" - "ERR\020\204\200\005\022!\n\033SL_RPC_L2_NOTIF_DISABLE_ERR\020\205" - "\200\005\022\035\n\027SL_RPC_L2_NOTIF_EOF_ERR\020\206\200\005\022%\n\037SL_" - "RPC_L2_NOTIF_BD_NAME_MISSING\020\207\200\005\022%\n\037SL_R" - "PC_L2_NOTIF_BD_NAME_TOOLONG\020\210\200\005\022\"\n\034SL_RP" - "C_L2_NOTIF_BD_NOT_FOUND\020\211\200\005\022\027\n\021SL_PG_VRF" - "_ADD_ERR\020\201\240\005\022\030\n\022SL_PG_VRF_NO_VRFID\020\202\240\005\022\033" - "\n\025SL_PG_STR_KEY_TOOLONG\020\203\240\005\022\037\n\031SL_PG_TAR" - "GET_VRF_NO_VRFID\020\204\240\005\022\033\n\025SL_PG_STR_KEY_IN" - "VALID\020\205\240\005\022\036\n\030SL_NEXT_HOP_START_OFFSET\020\200\300" - "\005\022$\n\036SL_NEXT_HOP_INVALID_PREFIX_LEN\020\201\300\005\022" - "\037\n\031SL_NEXT_HOP_HOST_BITS_SET\020\202\300\005\022&\n SL_N" - "EXT_HOP_INVALID_PREFIX_MCAST\020\203\300\005\022 \n\032SL_N" - "EXT_HOP_INVALID_PREFIX\020\204\300\005\022\'\n!SL_NEXT_HO" - "P_INVALID_NEXT_HOP_ADDR\020\205\300\005\022#\n\035SL_NEXT_H" - "OP_INVALID_PREFIX_SZ\020\206\300\005\022 \n\032SL_NEXT_HOP_" - "RIB_ADD_FAILED\020\207\300\005\022$\n\036SL_ROUTE_REDIST_RI" - "B_ADD_FAILED\020\210\300\005\022\031\n\023SL_ACK_START_OFFSET\020" - "\200\340\005\022!\n\033SL_ACK_PERMIT_NOT_SUPPORTED\020\201\340\005\022\031" - "\n\023SL_ACK_INVALID_TYPE\020\202\340\005\022\034\n\026SL_POLICY_S" - "TART_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\024SL_POLIC" - "Y_DELETE_ERR\020\203\200\006\022\034\n\026SL_POLICY_RULE_ADD_E" - "RR\020\204\200\006\022\037\n\031SL_POLICY_RULE_EXISTS_ERR\020\205\200\006\022" - "\037\n\031SL_POLICY_RULE_DELETE_ERR\020\206\200\006\022\031\n\023SL_P" - "OLICY_APPLY_ERR\020\207\200\006\022\033\n\025SL_POLICY_UNAPPLY" - "_ERR\020\210\200\006\022!\n\033SL_POLICY_TOO_MANY_POLICIES\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_POL" - "ICY_DUPLICATE_PRIORITY_IN_RULE\020\214\200\006\022$\n\036SL" - "_POLICY_RULE_MOD_NOT_ALLOWED\020\215\200\006\022\034\n\026SL_P" - "OLICY_INVALID_RULE\020\216\200\006\022!\n\033SL_POLICY_RULE" - "_ADD_NO_RULES\020\217\200\006\022+\n%SL_POLICY_INVALID_M" - "ATCH_COUNT_IN_RULE\020\220\200\006\022,\n&SL_POLICY_INVA" - "LID_ACTION_COUNT_IN_RULE\020\221\200\006\022\031\n\023SL_POLIC" - "Y_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_POL" - "ICY_RULE_NAME_MISSING\020\225\200\006\022(\n\"SL_POLICY_P" - "RIORITY_MISSING_IN_RULE\020\226\200\006\022\034\n\026SL_POLICY" - "_TYPE_INVALID\020\227\200\006\022!\n\033SL_POLICY_INVALID_D" - "IRECTION\020\230\200\006\022!\n\033SL_POLICY_INTF_NAME_TOOL" - "ONG\020\231\200\006\022!\n\033SL_POLICY_INTF_NAME_MISSING\020\232" - "\200\006\022&\n SL_POLICY_MAX_RULE_LIMIT_REACHED\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_PO" - "LICY_PATH_GRP_NAME_TOO_LONG\020\236\200\006\022%\n\037SL_PO" - "LICY_PATH_GRP_NAME_MISSING\020\237\200\006\022\"\n\034SL_POL" - "ICY_INVALID_DSCP_VALUE\020\240\200\006\022%\n\037SL_POLICY_" - "PRIORITY_STR_TOO_LONG\020\241\200\006\022&\n SL_POLICY_M" - "AX_INTF_LIMIT_REACHED\020\242\200\006\022$\n\036SL_POLICY_R" - "ULE_DELETE_NO_RULES\020\243\200\006\022\036\n\030SL_POLICY_APP" - "LY_NO_INTFS\020\244\200\006\022 \n\032SL_POLICY_UNAPPLY_NO_" - "INTFS\020\245\200\006\022\033\n\025SL_POLICY_REPLACE_ERR\020\246\200\006\022 " - "\n\032SL_BGPLS_TOPO_START_OFFSET\020\200\240\006\022#\n\035SL_B" - "GPLS_SERVER_NOT_AVAILABLE\020\201\240\006\022(\n\"SL_BGPL" - "S_MAX_MATCH_FILTER_EXCEEDED\020\202\240\006\022#\n\035SL_BG" - "PLS_MAX_STREAMS_EXCEEDED\020\203\240\006\022\031\n\023SL_BGP_S" - "TART_OFFSET\020\200\300\006\022\036\n\030SL_BGP_INST_NAME_TOOL" - "ONG\020\201\300\006\022\034\n\026SL_BGP_INST_NAME_EMPTY\020\202\300\006\022!\n" - "\033SL_BGP_INST_NOT_INITIALIZED\020\203\300\006\022\035\n\027SL_B" - "GP_INVALID_OBJ_TYPE\020\204\300\006\022 \n\032SL_BGP_VRF_NA" - "ME_TOOLONG_V4\020\205\300\006\022 \n\032SL_BGP_VRF_NAME_TOO" - "LONG_V6\020\206\300\006\022!\n\033SL_BGP_UNSUPPORTED_VRF_NA" - "ME\020\207\300\006\022#\n\035SL_BGP_INVALID_NBR_ADDR_MCAST\020" - "\210\300\006\022!\n\033SL_BGP_INVALID_NBR_ADDR_EXP\020\211\300\006\022\035" - "\n\027SL_BGP_INVALID_NBR_ADDR\020\212\300\006\022\036\n\030SL_BGP_" - "INVALID_NBR_V6_SZ\020\213\300\006\022\034\n\026SL_BGP_INVALID_" - "NBR_KEY\020\214\300\006\022%\n\037SL_BGP_INVALID_MPATH_ADDR" - "_MCAST\020\215\300\006\022#\n\035SL_BGP_INVALID_MPATH_ADDR_" - "EXP\020\216\300\006\022\037\n\031SL_BGP_INVALID_MPATH_ADDR\020\217\300\006" - "\022 \n\032SL_BGP_INVALID_MPATH_V6_SZ\020\220\300\006\022!\n\033SL" - "_BGP_INVALID_NBRSAFI_LIST\020\221\300\006\022%\n\037SL_BGP_" - "UNSUPPORTED_BGP_AFI_SAFI\020\222\300\006\022\034\n\026SL_BGP_U" - "NSUPPORTED_AFI\020\223\300\006\022\035\n\027SL_BGP_UNSUPPORTED" - "_SAFI\020\224\300\006\022\032\n\024SL_BGP_EMPTY_OBJECTS\020\225\300\006\022\036\n" - "\030SL_BGP_EMPTY_OBJECT_LIST\020\226\300\006\022!\n\033SL_BGP_" - "UPDATE_BW_GRP_FAILED\020\227\300\006\022%\n\037SL_BGP_UPDAT" - "E_MPATH_ADDR_FAILED\020\230\300\006\022!\n\033SL_BGP_DELETE" - "_BW_GRP_FAILED\020\231\300\006\022\036\n\030SL_BGP_DELETE_NBR_" - "FAILED\020\232\300\006\022\036\n\030SL_BGP_DELETE_AFI_FAILED\020\233" - "\300\006\022%\n\037SL_BGP_DELETE_MPATH_ADDR_FAILED\020\234\300" - "\006\022\032\n\024SL_BGP_DELETE_FAILED\020\235\300\006\022$\n\036SL_BGP_" - "BW_GRP_NUM_OUT_OF_RANGE\020\236\300\006\022%\n\037SL_BGP_IN" - "_BW_GRP_COUNT_EXCEEDED\020\237\300\006\022&\n SL_BGP_OUT" - "_BW_GRP_COUNT_EXCEEDED\020\240\300\006\022\"\n\034SL_BGP_INV" - "ALID_IN_BWGRP_LIST\020\241\300\006\022#\n\035SL_BGP_INVALID" - "_OUT_BWGRP_LIST\020\242\300\006\022!\n\033SL_BGP_LINK_BW_OU" - "T_OF_RANGE\020\243\300\006\022!\n\033SL_BGP_NBR_IDX_OUT_OF_" - "RANGE\020\244\300\006\022\034\n\026SL_BGP_INVALID_BW_TYPE\020\245\300\006\022" - "\035\n\027SL_BGP_BW_GRP_LIST_NULL\020\246\300\006\022\036\n\030SL_BGP" - "_NBRSAFI_LIST_NULL\020\247\300\006\022%\n\037SL_BGP_INST_NO" - "T_CONFIG_IN_SLAPI\020\250\300\006\022&\n SL_BGP_OBJ_LIST" - "_IDX_OUT_OF_RANGE\020\251\300\006\022\035\n\027SL_BGP_ASN_OUT_" - "OF_RANGE\020\252\300\006\022\034\n\026SL_BGP_INVALID_BW_UNIT\020\253" - "\300\006\022!\n\033SL_BGP_OBJECT_TYPE_REQUIRED\020\254\300\006\022 \n" - "\032SL_BGP_OBJECT_KEY_REQUIRED\020\255\300\006\022 \n\032SL_BG" - "P_INVALID_OBJECT_TYPE\020\256\300\006\022&\n SL_BGP_GET_" - "EXACT_MATCH_NOT_FOUND\020\257\300\006\022#\n\035SL_BGP_MAX_" - "NEIGHBORS_IN_SYSDB\020\260\300\006\022#\n\035SL_BGP_MAX_OBJ" - "ECTS_IN_PAYLOAD\020\261\300\006\022\033\n\025SL_BGP_INTERNAL_E" - "RR_1\020\201\302\006\022\033\n\025SL_BGP_INTERNAL_ERR_2\020\202\302\006\022\033\n" - "\025SL_BGP_INTERNAL_ERR_3\020\203\302\006\022!\n\033SL_SRTE_PO" - "LICY_START_OFFSET\020\200\340\006\022$\n\036SL_SRTE_POLICY_" - "REQUEST_INVALID\020\201\340\006\022\'\n!SL_SRTE_POLICY_PO" - "LICY_KEY_INVALID\020\202\340\006\022(\n\"SL_SRTE_POLICY_P" - "OLICY_ATTR_INVALID\020\203\340\006\022#\n\035SL_SRTE_POLICY" - "_CP_KEY_INVALID\020\204\340\006\022$\n\036SL_SRTE_POLICY_CP" - "_ATTR_INVALID\020\205\340\006\022$\n\036SL_SRTE_POLICY_CLIE" - "NT_MISMATCH\020\206\340\006\022#\n\035SL_SRTE_POLICY_SERVIC" - "E_NOT_UP\020\207\340\006\022$\n\036SL_SRTE_POLICY_EXCEED_MS" - "G_SIZE\020\210\340\006\022\036\n\030SL_INTERNAL_START_OFFSET\020\200" - "\200@\"<\n\013SLInterface\022\016\n\004Name\030\001 \001(\tH\000\022\020\n\006Han" - "dle\030\002 \001(\rH\000B\013\n\tInterface\"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\rSLIpv6Address\022\017\n\007address" - "\030\001 \001(\014\"\'\n\030SLAutonomousSystemNumber\022\013\n\003as" - "n\030\001 \001(\r\"%\n\nSLObjectId\022\016\n\004Name\030\001 \001(\tH\000B\007\n" - "\005entry\"T\n\021SLPathGroupRefKey\022\017\n\007VrfName\030\001" - " \001(\t\022.\n\013PathGroupId\030\002 \001(\0132\031.service_laye" - "r.SLObjectId*b\n\007SLRegOp\022\025\n\021SL_REGOP_RESE" - "RVED\020\000\022\025\n\021SL_REGOP_REGISTER\020\001\022\027\n\023SL_REGO" - "P_UNREGISTER\020\002\022\020\n\014SL_REGOP_EOF\020\003*_\n\nSLOb" - "jectOp\022\025\n\021SL_OBJOP_RESERVED\020\000\022\020\n\014SL_OBJO" - "P_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_RES" - "ERVED\020\000\022\025\n\021SL_NOTIFOP_ENABLE\020\001\022\026\n\022SL_NOT" - "IFOP_DISABLE\020\002*\211\001\n\020SLUpdatePriority\022\030\n\024S" - "L_PRIORITY_RESERVED\020\000\022\030\n\024SL_PRIORITY_CRI" - "TICAL\020\004\022\024\n\020SL_PRIORITY_HIGH\020\010\022\026\n\022SL_PRIO" - "RITY_MEDIUM\020\014\022\023\n\017SL_PRIORITY_LOW\020\020*K\n\013SL" - "EncapType\022\025\n\021SL_ENCAP_RESERVED\020\000\022\022\n\016SL_E" - "NCAP_VXLAN\020\001\022\021\n\rSL_ENCAP_MPLS\020\002*\215\001\n\013SLTa" - "bleType\022\032\n\026SL_TABLE_TYPE_RESERVED\020\000\022\027\n\023S" - "L_IPv4_ROUTE_TABLE\020\001\022\027\n\023SL_IPv6_ROUTE_TA" - "BLE\020\002\022\027\n\023SL_MPLS_LABEL_TABLE\020\003\022\027\n\023SL_PAT" - "H_GROUP_TABLE\020\004*G\n\014SLRspACKType\022\013\n\007RIB_A" - "CK\020\000\022\023\n\017RIB_AND_FIB_ACK\020\001\022\025\n\021RIB_FIB_INU" - "SE_ACK\020\002*{\n\rSLAFFibStatus\022\022\n\016SL_FIB_UNKN" + "\n\025sl_common_types.proto\022\rservice_layer\"\317" + "\207\001\n\rSLErrorStatus\0224\n\006Status\030\001 \001(\0162$.serv" + "ice_layer.SLErrorStatus.SLErrno\"\206\207\001\n\007SLE" + "rrno\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_E" + "BUSY\020\004\022\r\n\tSL_EINVAL\020\005\022\026\n\022SL_UNSUPPORTED_" + "VER\020\006\022\024\n\020SL_NOT_AVAILABLE\020\007\022\033\n\027SL_STREAM" + "_NOT_SUPPORTED\020\010\022\016\n\nSL_ENOTSUP\020\t\022\017\n\013SL_S" + "OME_ERR\020\n\022\016\n\nSL_TIMEOUT\020\013\022\021\n\rSL_NOTIF_TE" + "RM\020\014\022\020\n\014SL_AUTH_FAIL\020\r\022\035\n\031SL_ACK_TYPE_NO" + "T_SUPPORTED\020\016\022\025\n\021SL_NO_SUCH_CLIENT\020\017\022\027\n\023" + "SL_NO_ENTRIES_FOUND\020\020\022\031\n\024SL_INIT_START_O" + "FFSET\020\200\n\022\030\n\023SL_INIT_STATE_CLEAR\020\201\n\022\030\n\023SL" + "_INIT_STATE_READY\020\202\n\022\034\n\027SL_INIT_UNSUPPOR" + "TED_VER\020\203\n\022#\n\036SL_INIT_SERVER_NOT_INITIAL" + "IZED\020\204\n\022&\n!SL_INIT_SERVER_MODE_CHANGE_FA" + "ILED\020\205\n\022\034\n\027SL_RPC_VRF_START_OFFSET\020\200 \022%\n" + " SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS\020\201 \022&\n!" + "SL_RPC_VRF_SERVER_NOT_INITIALIZED\020\202 \022&\n!" + "SL_RPC_VRF_OP_NOTSUP_WITH_AUTOREG\020\203 \022\030\n\023" + "SL_VRF_START_OFFSET\020\200@\022\030\n\023SL_VRF_NAME_TO" + "OLONG\020\201@\022\025\n\020SL_VRF_NOT_FOUND\020\202@\022\027\n\022SL_VR" + "F_NO_TABLE_ID\020\203@\022&\n!SL_VRF_REG_INVALID_A" + "DMIN_DISTANCE\020\204@\022\031\n\024SL_VRF_TABLE_ADD_ERR" + "\020\205@\022\"\n\035SL_VRF_TABLE_REGISTRATION_ERR\020\206@\022" + "$\n\037SL_VRF_TABLE_UNREGISTRATION_ERR\020\207@\022\031\n" + "\024SL_VRF_TABLE_EOF_ERR\020\210@\022 \n\033SL_VRF_REG_V" + "RF_NAME_MISSING\020\211@\022\'\n\"SL_VRF_V4_ROUTE_RE" + "PLAY_FATAL_ERROR\020\220@\022\'\n\"SL_VRF_V6_ROUTE_R" + "EPLAY_FATAL_ERROR\020\221@\022\036\n\031SL_VRF_V4_ROUTE_" + "REPLAY_OK\020\222@\022\036\n\031SL_VRF_V6_ROUTE_REPLAY_O" + "K\020\223@\022&\n!SL_VRF_TABLE_CLIENT_NAME_MISMATC" + "H\020\224@\022\036\n\031SL_RPC_ROUTE_START_OFFSET\020\200`\022!\n\034" + "SL_RPC_ROUTE_TOO_MANY_ROUTES\020\201`\022\"\n\035SL_RP" + "C_ROUTE_VRF_NAME_TOOLONG\020\202`\022\037\n\032SL_RPC_RO" + "UTE_VRF_NOT_FOUND\020\203`\022\036\n\031SL_RPC_ROUTE_VRF" + "_NO_TABLE\020\204`\022*\n%SL_RPC_ROUTE_VRF_TABLE_N" + "OT_REGISTERED\020\205`\022\"\n\035SL_RPC_ROUTE_VRF_NAM" + "E_MISSING\020\206`\022(\n#SL_RPC_ROUTE_INIT_MODE_I" + "NCOMPATIBLE\020\207`\022(\n#SL_RPC_ROUTE_SERVER_NO" + "T_INITIALIZED\020\210`\022)\n$SL_RPC_ROUTE_NOTIF_S" + "RC_PROTO_TOOLONG\020\211`\022-\n(SL_RPC_ROUTE_NOTI" + "F_SRC_PROTO_TAG_TOOLONG\020\212`\022#\n\036SL_RPC_ROU" + "TE_GET_MATCH_INVALID\020\213`\022\"\n\035SL_RPC_ROUTE_" + "GET_MATCH_NOTSUP\020\214`\022\033\n\025SL_ROUTE_START_OF" + "FSET\020\200\200\001\022\033\n\025SL_ROUTE_ADD_NO_PATHS\020\201\200\001\022\036\n" + "\030SL_ROUTE_UPDATE_NO_PATHS\020\202\200\001\022!\n\033SL_ROUT" + "E_INVALID_PREFIX_LEN\020\203\200\001\022%\n\037SL_ROUTE_INV" + "ALID_ADMIN_DISTANCE\020\204\200\001\022 \n\032SL_ROUTE_INVA" + "LID_NUM_PATHS\020\205\200\001\022 \n\032SL_ROUTE_INVALID_PR" + "EFIX_SZ\020\206\200\001\022\035\n\027SL_ROUTE_INVALID_PREFIX\020\207" + "\200\001\022*\n$SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACH" + "ED\020\210\200\001\022#\n\035SL_ROUTE_ERR_RIB_INVALID_ARGS\020" + "\211\200\001\022\'\n!SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT" + "\020\212\200\001\022#\n\035SL_ROUTE_ERR_RIB_TOOMANYPATHS\020\213\200" + "\001\022\025\n\017SL_ROUTE_EEXIST\020\214\200\001\022\034\n\026SL_ROUTE_HOS" + "T_BITS_SET\020\215\200\001\022#\n\035SL_ROUTE_INVALID_PREFI" + "X_MCAST\020\216\200\001\022 \n\032SL_ROUTE_PATH_AFI_MISMATC" + "H\020\217\200\001\022$\n\036SL_ROUTE_TOOMANY_PRIMARY_PATHS\020" + "\220\200\001\022#\n\035SL_ROUTE_TOOMANY_BACKUP_PATHS\020\221\200\001" + "\022\027\n\021SL_ROUTE_DB_NOMEM\020\222\200\001\022\"\n\034SL_ROUTE_IN" + "VALID_LOCAL_LABEL\020\223\200\001\022\034\n\026SL_ROUTE_INVALI" + "D_FLAGS\020\224\200\001\022\037\n\031SL_ROUTE_INVALID_PRIORITY" + "\020\225\200\001\022\035\n\027SL_ROUTE_INVALID_METRIC\020\226\200\001\022\032\n\024S" + "L_PATH_START_OFFSET\020\200\240\001\022\031\n\023SL_PATH_NH_NO" + "_TABLE\020\201\240\001\022\037\n\031SL_PATH_NH_INTF_NOT_FOUND\020" + "\202\240\001\022!\n\033SL_PATH_INVALID_LABEL_COUNT\020\203\240\001\022\030" + "\n\022SL_PATH_INVALID_ID\020\204\240\001\022\036\n\030SL_PATH_VRF_" + "NAME_TOOLONG\020\205\240\001\022\"\n\034SL_PATH_NH_INTF_NAME" + "_TOOLONG\020\206\240\001\022 \n\032SL_PATH_NH_INVALID_ADDR_" + "SZ\020\207\240\001\022!\n\033SL_PATH_NH_INF_NAME_MISSING\020\210\240" + "\001\022#\n\035SL_PATH_INVALID_NEXT_HOP_ADDR\020\211\240\001\022\'" + "\n!SL_PATH_INVALID_REMOTE_ADDR_COUNT\020\212\240\001\022" + "$\n\036SL_PATH_REMOTE_ADDR_INVALID_SZ\020\213\240\001\022&\n" + " SL_PATH_REMOTE_ADDR_AFI_MISMATCH\020\214\240\001\022&\n" + " SL_PATH_INVALID_PROTECTED_BITMAP\020\215\240\001\022)\n" + "#SL_PATH_BACKUP_MISSING_PRIMARY_PATH\020\216\240\001" + "\022!\n\033SL_PATH_PRIMARY_ID_REPEATED\020\217\240\001\022 \n\032S" + "L_PATH_BACKUP_ID_REPEATED\020\220\240\001\022*\n$SL_PATH" + "_PRIMARY_TOOMANY_BACKUP_PATHS\020\221\240\001\022$\n\036SL_" + "PATH_PRIMARY_TOOMANY_LABELS\020\222\240\001\022)\n#SL_PA" + "TH_PRIMARY_TOOMANY_REMOTE_ADDR\020\223\240\001\022!\n\033SL" + "_PATH_REMOTE_ADDR_INVALID\020\224\240\001\022\033\n\025SL_PATH" + "_INVALID_LABEL\020\225\240\001\022(\n\"SL_PATH_ROUTER_MAC" + "_ADDR_INVALID_SZ\020\226\240\001\022#\n\035SL_PATH_BACKUP_T" + "OOMANY_LABELS\020\227\240\001\022\031\n\023SL_PATH_INVALID_VNI" + "\020\230\240\001\022 \n\032SL_PATH_INVALID_ENCAP_ADDR\020\231\240\001\022(" + "\n\"SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH\020\232\240\001" + "\022\033\n\025SL_PATH_RTR_MAC_NOSUP\020\233\240\001\022!\n\033SL_PATH" + "_ENCAP_TYPE_MISMATCH\020\234\240\001\022%\n\037SL_PATH_INVA" + "LID_PATH_LIST_MODEL\020\235\240\001\022$\n\036SL_PATH_PRIMA" + "RY_INDEX_REPEATED\020\236\240\001\022(\n\"SL_PATH_PRIMARY" + "_INDEX_OUT_OF_RANGE\020\237\240\001\022\'\n!SL_PATH_BACKU" + "P_INDEX_OUT_OF_RANGE\020\240\240\001\022)\n#SL_PATH_BACK" + "UP_FLAGGED_UNREFERENCED\020\241\240\001\022)\n#SL_PATH_B" + "ACKUP_INDEX_SELF_REFERENCE\020\242\240\001\022\035\n\027SL_RPC" + "_BFD_START_OFFSET\020\200\300\001\022&\n SL_RPC_BFD_TOO_" + "MANY_BFD_SESSIONS\020\201\300\001\022\"\n\034SL_RPC_BFD_API_" + "BAD_PARAMETER\020\202\300\001\022*\n$SL_RPC_BFD_API_CLIE" + "NT_NOT_REGISTERED\020\203\300\001\022#\n\035SL_RPC_BFD_API_" + "INTERNAL_ERROR\020\204\300\001\022\'\n!SL_RPC_BFD_SERVER_" + "NOT_INITIALIZED\020\205\300\001\022\"\n\034SL_RPC_BFD_V4_NOT" + "_REGISTERED\020\206\300\001\022\"\n\034SL_RPC_BFD_V6_NOT_REG" + "ISTERED\020\207\300\001\022\031\n\023SL_BFD_START_OFFSET\020\200\340\001\022\036" + "\n\030SL_BFD_INTF_NAME_TOOLONG\020\201\340\001\022\033\n\025SL_BFD" + "_INTF_NOT_FOUND\020\202\340\001\022\036\n\030SL_BFD_INVALID_AT" + "TRIBUTE\020\203\340\001\022\036\n\030SL_BFD_INTF_NAME_MISSING\020" + "\204\340\001\022\036\n\030SL_BFD_INVALID_NBR_MCAST\020\205\340\001\022\030\n\022S" + "L_BFD_INVALID_NBR\020\206\340\001\022\035\n\027SL_BFD_VRF_NAME" + "_TOOLONG\020\207\340\001\022\032\n\024SL_BFD_BAD_PARAMETER\020\210\340\001" + "\022\037\n\031SL_BFD_API_INTERNAL_ERROR\020\211\340\001\022\032\n\024SL_" + "BFD_VRF_NOT_FOUND\020\212\340\001\022 \n\032SL_BFD_INVALID_" + "PREFIX_SIZE\020\213\340\001\022!\n\033SL_BFD_INVALID_SESSIO" + "N_TYPE\020\214\340\001\022\030\n\022SL_BFD_INVALID_VRF\020\215\340\001\022\036\n\030" + "SL_BFD_SESSION_NOT_FOUND\020\216\340\001\022\033\n\025SL_BFD_S" + "ESSION_EXISTS\020\217\340\001\022\036\n\030SL_BFD_INTERNAL_DB_" + "ERROR\020\220\340\001\022\033\n\025SL_BFD_RECOVERY_ERROR\020\221\340\001\022\036" + "\n\030SL_RPC_MPLS_START_OFFSET\020\200\200\002\022#\n\035SL_RPC" + "_MPLS_ILM_TOO_MANY_ILMS\020\201\200\002\022(\n\"SL_RPC_MP" + "LS_SERVER_NOT_INITIALIZED\020\202\200\002\022(\n\"SL_RPC_" + "MPLS_INIT_MODE_INCOMPATIBLE\020\203\200\002\022/\n)SL_RP" + "C_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS\020\204\200\002" + "\022 \n\032SL_RPC_MPLS_NOT_REGISTERED\020\205\200\002\022\027\n\021SL" + "_ILM_ERR_OFFSET\020\200\240\002\022\027\n\021SL_ILM_ADD_FAILED" + "\020\201\240\002\022\033\n\025SL_ILM_LSD_ADD_FAILED\020\202\240\002\022\036\n\030SL_" + "ILM_INVALID_NUM_NHLFE\020\203\240\002\022\032\n\024SL_ILM_INVA" + "LID_LABEL\020\204\240\002\022\032\n\024SL_ILM_DELETE_FAILED\020\205\240" + "\002\022\036\n\030SL_ILM_LSD_DELETE_FAILED\020\206\240\002\022#\n\035SL_" + "ILM_TOOMANY_PRIMARY_NHLFES\020\207\240\002\022\"\n\034SL_ILM" + "_TOOMANY_BACKUP_NHLFES\020\210\240\002\022\'\n!SL_ILM_LSD" + "_ADD_LABEL_ALLOC_FAILED\020\211\240\002\022%\n\037SL_ILM_LS" + "D_NHLFE_INVALID_ATTRIB\020\212\240\002\022\023\n\rSL_ILM_EEX" + "IST\020\213\240\002\022\025\n\017SL_ILM_DB_NOMEM\020\214\240\002\022\035\n\027SL_ILM" + "_INVALID_ELSP_EXP\020\215\240\002\022)\n#SL_ILM_ELSP_EXP" + "_OR_DFLT_ALREADY_SET\020\216\240\002\022\031\n\023SL_ILM_ADD_N" + "O_PATHS\020\217\240\002\022\034\n\026SL_ILM_UPDATE_NO_PATHS\020\220\240" + "\002\022\035\n\027SL_ILM_UNSUPPORTED_ELSP\020\221\240\002\022&\n SL_I" + "LM_LABEL_TOOMANY_EXP_CLASSES\020\222\240\002\022\037\n\031SL_I" + "LM_REPLAY_FATAL_ERROR\020\223\240\002\022\026\n\020SL_ILM_REPL" + "AY_OK\020\224\240\002\022\037\n\031SL_ILM_INVALID_PREFIX_LEN\020\225" + "\240\002\022\032\n\024SL_ILM_HOST_BITS_SET\020\226\240\002\022\036\n\030SL_ILM" + "_INVALID_PREFIX_SZ\020\227\240\002\022\033\n\025SL_ILM_INVALID" + "_PREFIX\020\230\240\002\022!\n\033SL_ILM_INVALID_PREFIX_MCA" + "ST\020\231\240\002\022\035\n\027SL_ILM_VRF_NAME_TOOLONG\020\240\240\002\022\034\n" + "\026SL_ILM_VRF_NO_TABLE_ID\020\241\240\002\022\035\n\027SL_ILM_VR" + "F_NAME_MISSING\020\242\240\002\022\031\n\023SL_NHLFE_ERR_OFFSE" + "T\020\200\300\002\022\032\n\024SL_NHLFE_NH_NO_TABLE\020\201\300\002\022!\n\033SL_" + "NHLFE_NH_INVALID_ADDR_SZ\020\202\300\002\022$\n\036SL_NHLFE" + "_INVALID_NEXT_HOP_ADDR\020\203\300\002\022\037\n\031SL_NHLFE_V" + "RF_NAME_TOOLONG\020\204\300\002\022\"\n\034SL_NHLFE_NH_INF_N" + "AME_MISSING\020\205\300\002\022#\n\035SL_NHLFE_NH_INTF_NAME" + "_TOOLONG\020\206\300\002\022\"\n\034SL_NHLFE_INVALID_LABEL_C" + "OUNT\020\207\300\002\022\036\n\030SL_NHLFE_INVALID_PATH_ID\020\210\300\002" + "\022\034\n\026SL_NHLFE_INVALID_LABEL\020\211\300\002\022\'\n!SL_NHL" + "FE_INVALID_PROTECTED_BITMAP\020\212\300\002\022(\n\"SL_NH" + "LFE_INVALID_REMOTE_ADDR_COUNT\020\213\300\002\022%\n\037SL_" + "NHLFE_REMOTE_ADDR_INVALID_SZ\020\214\300\002\022%\n\037SL_N" + "HLFE_PRIMARY_TOOMANY_LABELS\020\215\300\002\022*\n$SL_NH" + "LFE_PRIMARY_TOOMANY_REMOTE_ADDR\020\216\300\002\022!\n\033S" + "L_NHLFE_BACKUP_ID_REPEATED\020\217\300\002\022\"\n\034SL_NHL" + "FE_PRIMARY_ID_REPEATED\020\220\300\002\022,\n&SL_NHLFE_B" + "ACKUP_PROTECTED_BITMAP_EMPTY\020\221\300\002\022+\n%SL_N" + "HLFE_PRIMARY_TOOMANY_BACKUP_PATHS\020\222\300\002\022\"\n" + "\034SL_NHLFE_REMOTE_ADDR_INVALID\020\223\300\002\022*\n$SL_" + "NHLFE_BACKUP_MISSING_PRIMARY_PATH\020\224\300\002\022\037\n" + "\031SL_NHLFE_NEXT_HOP_MISSING\020\225\300\002\022#\n\035SL_NHL" + "FE_LABEL_ACTION_INVALID\020\226\300\002\022 \n\032SL_NHLFE_" + "NH_INTF_NOT_FOUND\020\227\300\002\022\032\n\024SL_NHLFE_OPER_F" + "AILED\020\230\300\002\022#\n\035SL_NHLFE_LABEL_ACTION_MISSI" + "NG\020\231\300\002\022\035\n\027SL_NHLFE_EXP_SET_FAILED\020\232\300\002\022*\n" + "$SL_NHLFE_ELSP_PROTECTION_UNSUPPORTED\020\233\300" + "\002\022\037\n\031SL_NHLFE_INVALID_ELSP_EXP\020\234\300\002\022$\n\036SL" + "_NHLFE_INVALID_PATH_PRIORITY\020\235\300\002\022\"\n\034SL_N" + "HLFE_INVALID_LOAD_METRIC\020\236\300\002\022\034\n\026SL_NHLFE" + "_INVALID_SETID\020\237\300\002\022%\n\037SL_NHLFE_INVALID_S" + "ETID_PRIORITY\020\240\300\002\022.\n(SL_NHLFE_INVALID_MU" + "LTIPLE_PRIMARY_SETIDS\020\241\300\002\022$\n\036SL_NHLFE_NO" + "N_CONTIGUOUS_SETIDS\020\242\300\002\022!\n\033SL_NHLFE_NON_" + "CONTIGUOUS_EXP\020\243\300\002\022\'\n!SL_NHLFE_INCONSIST" + "ENT_EXP_ON_PATH\020\244\300\002\022\035\n\027SL_LABEL_BLK_ERR_" + "OFFSET\020\200\340\002\022!\n\033SL_LABEL_BLK_LSD_ADD_FAILE" + "D\020\201\340\002\022$\n\036SL_LABEL_BLK_LSD_DELETE_FAILED\020" + "\202\340\002\022*\n$SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FO" + "UND\020\203\340\002\022\'\n!SL_LABEL_BLK_LSD_LABEL_BLK_IN" + "_USE\020\204\340\002\022%\n\037SL_LABEL_BLK_LSD_INVALID_ATT" + "RIB\020\205\340\002\022%\n\037SL_LABEL_BLK_INVALID_BLOCK_SI" + "ZE\020\206\340\002\022&\n SL_LABEL_BLK_INVALID_START_LAB" + "EL\020\207\340\002\022\031\n\023SL_LABEL_BLK_EEXIST\020\210\340\002\022\033\n\025SL_" + "LABEL_BLK_DB_NOMEM\020\211\340\002\022\037\n\031SL_LABEL_BLK_T" + "YPE_INVALID\020\212\340\002\022&\n SL_LABEL_BLK_CLIENT_N" + "AME_TOOLONG\020\213\340\002\022\034\n\026SL_MPLS_REG_ERR_OFFSE" + "T\020\200\200\003\022\025\n\017SL_MPLS_REG_ERR\020\201\200\003\022\027\n\021SL_MPLS_" + "UNREG_ERR\020\202\200\003\022\025\n\017SL_MPLS_EOF_ERR\020\203\200\003\022\036\n\030" + "SL_RPC_INTF_START_OFFSET\020\200\240\003\022%\n\037SL_RPC_I" + "NTF_TOO_MANY_INTERFACES\020\201\240\003\022(\n\"SL_RPC_IN" + "TF_SERVER_NOT_INITIALIZED\020\202\240\003\022+\n%SL_RPC_" + "INTF_API_CLIENT_NOT_REGISTERED\020\203\240\003\022\032\n\024SL" + "_INTF_START_OFFSET\020\200\300\003\022$\n\036SL_INTF_INTERF" + "ACE_NAME_MISSING\020\201\300\003\022$\n\036SL_INTF_INTERFAC" + "E_NAME_TOOLONG\020\202\300\003\022\037\n\031SL_INTF_INTERFACE_" + "REG_ERR\020\203\300\003\022\037\n\031SL_INTF_INTERNAL_DB_ERROR" + "\020\204\300\003\022\034\n\026SL_INTF_RECOVERY_ERROR\020\205\300\003\022\036\n\030SL" + "_INTF_INTERFACE_EXISTS\020\206\300\003\022!\n\033SL_INTF_IN" + "TERFACE_NOT_FOUND\020\207\300\003\022+\n%SL_INTF_INTERFA" + "CE_STATE_NOT_SUPPORTED\020\210\300\003\022\034\n\026SL_L2_REG_" + "START_OFFSET\020\200\340\003\022\034\n\026SL_L2_REGISTRATION_E" + "RR\020\201\340\003\022\036\n\030SL_L2_UNREGISTRATION_ERR\020\202\340\003\022\023" + "\n\rSL_L2_EOF_ERR\020\203\340\003\022&\n SL_L2_REG_INVALID" + "_ADMIN_DISTANCE\020\204\340\003\022\034\n\026SL_L2_REG_IS_DUPL" + "ICATE\020\205\340\003\022&\n SL_L2_REG_SERVER_NOT_INITIA" + "LIZED\020\206\340\003\022#\n\035SL_RPC_L2_BD_REG_START_OFFS" + "ET\020\200\200\004\022#\n\035SL_RPC_L2_BD_REG_NAME_MISSING\020" + "\201\200\004\022$\n\036SL_RPC_L2_BD_REG_TOO_MANY_MSGS\020\202\200" + "\004\022-\n\'SL_RPC_L2_BD_REG_SERVER_NOT_INITIAL" + "IZED\020\203\200\004\022,\n&SL_RPC_L2_BD_REG_CLIENT_NOT_" + "REGISTERED\020\204\200\004\022\037\n\031SL_L2_BD_REG_START_OFF" + "SET\020\200\240\004\022\037\n\031SL_L2_BD_REGISTRATION_ERR\020\201\240\004" + "\022!\n\033SL_L2_BD_UNREGISTRATION_ERR\020\202\240\004\022\026\n\020S" + "L_L2_BD_EOF_ERR\020\203\240\004\022 \n\032SL_L2_BD_REG_NAME" + "_TOO_LONG\020\204\240\004\022\037\n\031SL_L2_BD_REG_BD_NOT_FOU" + "ND\020\205\240\004\022\"\n\034SL_RPC_L2_ROUTE_START_OFFSET\020\200" + "\300\004\022#\n\035SL_RPC_L2_ROUTE_TOO_MANY_MSGS\020\201\300\004\022" + ",\n&SL_RPC_L2_ROUTE_SERVER_NOT_INITIALIZE" + "D\020\202\300\004\022+\n%SL_RPC_L2_ROUTE_CLIENT_NOT_REGI" + "STERED\020\203\300\004\022\036\n\030SL_L2_ROUTE_START_OFFSET\020\200" + "\340\004\022!\n\033SL_L2_ROUTE_BD_NAME_MISSING\020\201\340\004\022!\n" + "\033SL_L2_ROUTE_BD_NAME_TOOLONG\020\202\340\004\022\036\n\030SL_L" + "2_ROUTE_BD_NOT_FOUND\020\203\340\004\022#\n\035SL_L2_ROUTE_" + "BD_NOT_REGISTERED\020\204\340\004\022\036\n\030SL_L2_ROUTE_INV" + "ALID_ARGS\020\205\340\004\022\"\n\034SL_RPC_L2_NOTIF_START_O" + "FFSET\020\201\200\005\022,\n&SL_RPC_L2_NOTIF_SERVER_NOT_" + "INITIALIZED\020\202\200\005\022+\n%SL_RPC_L2_NOTIF_CLIEN" + "T_NOT_REGISTERED\020\203\200\005\022 \n\032SL_RPC_L2_NOTIF_" + "ENABLE_ERR\020\204\200\005\022!\n\033SL_RPC_L2_NOTIF_DISABL" + "E_ERR\020\205\200\005\022\035\n\027SL_RPC_L2_NOTIF_EOF_ERR\020\206\200\005" + "\022%\n\037SL_RPC_L2_NOTIF_BD_NAME_MISSING\020\207\200\005\022" + "%\n\037SL_RPC_L2_NOTIF_BD_NAME_TOOLONG\020\210\200\005\022\"" + "\n\034SL_RPC_L2_NOTIF_BD_NOT_FOUND\020\211\200\005\022\027\n\021SL" + "_PG_VRF_ADD_ERR\020\201\240\005\022\030\n\022SL_PG_VRF_NO_VRFI" + "D\020\202\240\005\022\033\n\025SL_PG_STR_KEY_TOOLONG\020\203\240\005\022\037\n\031SL" + "_PG_TARGET_VRF_NO_VRFID\020\204\240\005\022\033\n\025SL_PG_STR" + "_KEY_INVALID\020\205\240\005\022\036\n\030SL_NEXT_HOP_START_OF" + "FSET\020\200\300\005\022$\n\036SL_NEXT_HOP_INVALID_PREFIX_L" + "EN\020\201\300\005\022\037\n\031SL_NEXT_HOP_HOST_BITS_SET\020\202\300\005\022" + "&\n SL_NEXT_HOP_INVALID_PREFIX_MCAST\020\203\300\005\022" + " \n\032SL_NEXT_HOP_INVALID_PREFIX\020\204\300\005\022\'\n!SL_" + "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_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\031\n\023S" + "L_BGP_START_OFFSET\020\200\300\006\022\036\n\030SL_BGP_INST_NA" + "ME_TOOLONG\020\201\300\006\022\034\n\026SL_BGP_INST_NAME_EMPTY" + "\020\202\300\006\022!\n\033SL_BGP_INST_NOT_INITIALIZED\020\203\300\006\022" + "\035\n\027SL_BGP_INVALID_OBJ_TYPE\020\204\300\006\022 \n\032SL_BGP" + "_VRF_NAME_TOOLONG_V4\020\205\300\006\022 \n\032SL_BGP_VRF_N" + "AME_TOOLONG_V6\020\206\300\006\022!\n\033SL_BGP_UNSUPPORTED" + "_VRF_NAME\020\207\300\006\022#\n\035SL_BGP_INVALID_NBR_ADDR" + "_MCAST\020\210\300\006\022!\n\033SL_BGP_INVALID_NBR_ADDR_EX" + "P\020\211\300\006\022\035\n\027SL_BGP_INVALID_NBR_ADDR\020\212\300\006\022\036\n\030" + "SL_BGP_INVALID_NBR_V6_SZ\020\213\300\006\022\034\n\026SL_BGP_I" + "NVALID_NBR_KEY\020\214\300\006\022%\n\037SL_BGP_INVALID_MPA" + "TH_ADDR_MCAST\020\215\300\006\022#\n\035SL_BGP_INVALID_MPAT" + "H_ADDR_EXP\020\216\300\006\022\037\n\031SL_BGP_INVALID_MPATH_A" + "DDR\020\217\300\006\022 \n\032SL_BGP_INVALID_MPATH_V6_SZ\020\220\300" + "\006\022!\n\033SL_BGP_INVALID_NBRSAFI_LIST\020\221\300\006\022%\n\037" + "SL_BGP_UNSUPPORTED_BGP_AFI_SAFI\020\222\300\006\022\034\n\026S" + "L_BGP_UNSUPPORTED_AFI\020\223\300\006\022\035\n\027SL_BGP_UNSU" + "PPORTED_SAFI\020\224\300\006\022\032\n\024SL_BGP_EMPTY_OBJECTS" + "\020\225\300\006\022\036\n\030SL_BGP_EMPTY_OBJECT_LIST\020\226\300\006\022!\n\033" + "SL_BGP_UPDATE_BW_GRP_FAILED\020\227\300\006\022%\n\037SL_BG" + "P_UPDATE_MPATH_ADDR_FAILED\020\230\300\006\022!\n\033SL_BGP" + "_DELETE_BW_GRP_FAILED\020\231\300\006\022\036\n\030SL_BGP_DELE" + "TE_NBR_FAILED\020\232\300\006\022\036\n\030SL_BGP_DELETE_AFI_F" + "AILED\020\233\300\006\022%\n\037SL_BGP_DELETE_MPATH_ADDR_FA" + "ILED\020\234\300\006\022\032\n\024SL_BGP_DELETE_FAILED\020\235\300\006\022$\n\036" + "SL_BGP_BW_GRP_NUM_OUT_OF_RANGE\020\236\300\006\022%\n\037SL" + "_BGP_IN_BW_GRP_COUNT_EXCEEDED\020\237\300\006\022&\n SL_" + "BGP_OUT_BW_GRP_COUNT_EXCEEDED\020\240\300\006\022\"\n\034SL_" + "BGP_INVALID_IN_BWGRP_LIST\020\241\300\006\022#\n\035SL_BGP_" + "INVALID_OUT_BWGRP_LIST\020\242\300\006\022!\n\033SL_BGP_LIN" + "K_BW_OUT_OF_RANGE\020\243\300\006\022!\n\033SL_BGP_NBR_IDX_" + "OUT_OF_RANGE\020\244\300\006\022\034\n\026SL_BGP_INVALID_BW_TY" + "PE\020\245\300\006\022\035\n\027SL_BGP_BW_GRP_LIST_NULL\020\246\300\006\022\036\n" + "\030SL_BGP_NBRSAFI_LIST_NULL\020\247\300\006\022%\n\037SL_BGP_" + "INST_NOT_CONFIG_IN_SLAPI\020\250\300\006\022&\n SL_BGP_O" + "BJ_LIST_IDX_OUT_OF_RANGE\020\251\300\006\022\035\n\027SL_BGP_A" + "SN_OUT_OF_RANGE\020\252\300\006\022\034\n\026SL_BGP_INVALID_BW" + "_UNIT\020\253\300\006\022!\n\033SL_BGP_OBJECT_TYPE_REQUIRED" + "\020\254\300\006\022 \n\032SL_BGP_OBJECT_KEY_REQUIRED\020\255\300\006\022 " + "\n\032SL_BGP_INVALID_OBJECT_TYPE\020\256\300\006\022&\n SL_B" + "GP_GET_EXACT_MATCH_NOT_FOUND\020\257\300\006\022#\n\035SL_B" + "GP_MAX_NEIGHBORS_IN_SYSDB\020\260\300\006\022#\n\035SL_BGP_" + "MAX_OBJECTS_IN_PAYLOAD\020\261\300\006\022\033\n\025SL_BGP_INT" + "ERNAL_ERR_1\020\201\302\006\022\033\n\025SL_BGP_INTERNAL_ERR_2" + "\020\202\302\006\022\033\n\025SL_BGP_INTERNAL_ERR_3\020\203\302\006\022!\n\033SL_" + "SRTE_POLICY_START_OFFSET\020\200\340\006\022$\n\036SL_SRTE_" + "POLICY_REQUEST_INVALID\020\201\340\006\022\'\n!SL_SRTE_PO" + "LICY_POLICY_KEY_INVALID\020\202\340\006\022(\n\"SL_SRTE_P" + "OLICY_POLICY_ATTR_INVALID\020\203\340\006\022#\n\035SL_SRTE" + "_POLICY_CP_KEY_INVALID\020\204\340\006\022$\n\036SL_SRTE_PO" + "LICY_CP_ATTR_INVALID\020\205\340\006\022$\n\036SL_SRTE_POLI" + "CY_CLIENT_MISMATCH\020\206\340\006\022#\n\035SL_SRTE_POLICY" + "_SERVICE_NOT_UP\020\207\340\006\022$\n\036SL_SRTE_POLICY_EX" + "CEED_MSG_SIZE\020\210\340\006\022\037\n\031SL_PERF_MEAS_START_" + "OFFSET\020\200\200\007\022(\n\"SL_PERF_MEAS_SESSION_CREAT" + "E_FAILED\020\201\200\007\022(\n\"SL_PERF_MEAS_SESSION_DEL" + "ETE_FAILED\020\202\200\007\022+\n%SL_PERF_MEAS_SESSION_G" + "ET_STATS_FAILED\020\203\200\007\022*\n$SL_PERF_MEAS_SESS" + "ION_GET_INFO_FAILED\020\204\200\007\022\"\n\034SL_PERF_MEAS_" + "INVALID_REQUEST\020\205\200\007\022\'\n!SL_PERF_MEAS_FLUS" + "H_MAX_RTT_FAILED\020\206\200\007\022:\n4SL_PERF_MEAS_SES" + "SION_CREATE_FAILED_INVALID_SOURCE_IP\020\207\200\007" + "\0228\n2SL_PERF_MEAS_SESSION_CREATE_FAILED_I" + "NVALID_DEST_IP\020\210\200\007\022;\n5SL_PERF_MEAS_SESSI" + "ON_CREATE_FAILED_INVALID_NEXTHOP_IP\020\211\200\007\022" + "<\n6SL_PERF_MEAS_SESSION_CREATE_FAILED_IN" + "VALID_LABEL_STACK\020\212\200\007\022\?\n9SL_PERF_MEAS_SE" + "SSION_CREATE_FAILED_INVALID_PROBE_INTERV" + "AL\020\213\200\007\022>\n8SL_PERF_MEAS_SESSION_CREATE_FA" + "ILED_INVALID_TIMEOUT_COUNT\020\214\200\007\0225\n/SL_PER" + "F_MEAS_SESSION_CREATE_FAILED_INVALID_DSC" + "P\020\215\200\007\022:\n4SL_PERF_MEAS_SESSION_CREATE_FAI" + "LED_INVALID_INTERFACE\020\216\200\007\0227\n1SL_PERF_MEA" + "S_SESSION_CREATE_FAILED_PM_SEND_FAILED\020\217" + "\200\007\0227\n1SL_PERF_MEAS_SESSION_CREATE_FAILED" + "_INTERNAL_ERROR\020\220\200\007\0227\n1SL_PERF_MEAS_SESS" + "ION_DELETE_FAILED_PM_SEND_FAILED\020\221\200\007\0227\n1" + "SL_PERF_MEAS_SESSION_DELETE_FAILED_INTER" + "NAL_ERROR\020\222\200\007\022:\n4SL_PERF_MEAS_SESSION_GE" + "T_STATS_FAILED_PM_SEND_FAILED\020\223\200\007\022:\n4SL_" + "PERF_MEAS_SESSION_GET_STATS_FAILED_INTER" + "NAL_ERROR\020\224\200\007\0229\n3SL_PERF_MEAS_SESSION_GE" + "T_INFO_FAILED_PM_SEND_FAILED\020\225\200\007\0229\n3SL_P" + "ERF_MEAS_SESSION_GET_INFO_FAILED_INTERNA" + "L_ERROR\020\226\200\007\0226\n0SL_PERF_MEAS_FLUSH_MAX_RT" + "T_FAILED_PM_SEND_FAILED\020\227\200\007\0226\n0SL_PERF_M" + "EAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR\020" + "\230\200\007\022:\n4SL_PERF_MEAS_SESSION_DELETE_FAILE" + "D_SESSION_NOT_FOUND\020\231\200\007\022=\n7SL_PERF_MEAS_" + "SESSION_GET_STATS_FAILED_SESSION_NOT_FOU" + "ND\020\232\200\007\022<\n6SL_PERF_MEAS_SESSION_GET_INFO_" + "FAILED_SESSION_NOT_FOUND\020\233\200\007\0229\n3SL_PERF_" + "MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FO" + "UND\020\234\200\007\022=\n7SL_PERF_MEAS_SESSION_CREATE_F" + "AILED_INVALID_SESSION_NAME\020\235\200\007\022;\n5SL_PER" + "F_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INIT" + "IALIZED\020\236\200\007\0225\n/SL_PERF_MEAS_PM_INTERNAL_" + "ERROR_CLIENT_NOT_FOUND\020\237\200\007\0229\n3SL_PERF_ME" + "AS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTE" + "D\020\240\200\007\0225\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_" + "MSG_ALLOC_FAILED\020\241\200\007\022<\n6SL_PERF_MEAS_PM_" + "INTERNAL_ERROR_PARAM_SESS_NAME_INVALID\020\242" + "\200\007\022A\n;SL_PERF_MEAS_PM_INTERNAL_ERROR_PAR" + "AM_PROBE_INTERVAL_INVALID\020\243\200\007\022@\n:SL_PERF" + "_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_CO" + "UNT_INVALID\020\244\200\007\022;\n5SL_PERF_MEAS_PM_INTER" + "NAL_ERROR_PARAM_TOS_DSCP_INVALID\020\245\200\007\022=\n7" + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM" + "_LABELS_INVALID\020\246\200\007\022=\n7SL_PERF_MEAS_PM_I" + "NTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND\020\247" + "\200\007\022>\n8SL_PERF_MEAS_PM_INTERNAL_ERROR_PAR" + "AM_DEST_ADDR_NOT_FOUND\020\250\200\007\022<\n6SL_PERF_ME" + "AS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_F" + "OUND\020\251\200\007\022;\n5SL_PERF_MEAS_PM_INTERNAL_ERR" + "OR_PARAM_SRC_ADDR_INVALID\020\252\200\007\022<\n6SL_PERF" + "_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_" + "INVALID\020\253\200\007\022:\n4SL_PERF_MEAS_PM_INTERNAL_" + "ERROR_PARAM_NEXTHOP_INVALID\020\254\200\007\022=\n7SL_PE" + "RF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYP" + "E_MISMATCH\020\255\200\007\022@\n:SL_PERF_MEAS_PM_INTERN" + "AL_ERROR_PARAM_OUT_INTF_NAME_INVALID\020\256\200\007" + "\022:\n4SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_S" + "ESS_NAME_MISSING\020\257\200\007\022\?\n9SL_PERF_MEAS_PM_" + "INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSIN" + "G\020\260\200\007\0228\n2SL_PERF_MEAS_PM_INTERNAL_ERROR_" + "SYSTEM_INCONSISTENT\020\261\200\007\0223\n-SL_PERF_MEAS_" + "PM_INTERNAL_ERROR_INVALID_PARAMS\020\262\200\007\0226\n0" + "SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GE" + "T_FAILED\020\263\200\007\0225\n/SL_PERF_MEAS_PM_INTERNAL" + "_ERROR_MAC_ADDR_INVALID\020\264\200\007\0225\n/SL_PERF_M" + "EAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED\020\265" + "\200\007\0225\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_" + "UPDATE_FAILED\020\266\200\007\0225\n/SL_PERF_MEAS_PM_INT" + "ERNAL_ERROR_DR_SESSION_NOMEM\020\267\200\007\022=\n7SL_P" + "ERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_IN" + "SERT_FAILED\020\270\200\007\0227\n1SL_PERF_MEAS_PM_INTER" + "NAL_ERROR_NPU_OFFLOAD_FAILED\020\271\200\007\0226\n0SL_P" + "ERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FA" + "ILED\020\272\200\007\0229\n3SL_PERF_MEAS_PM_INTERNAL_ERR" + "OR_SESSION_SETUP_FAILED\020\273\200\007\0223\n-SL_PERF_M" + "EAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND\020\274\200\007" + "\0222\n,SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_N" + "OT_FOUND\020\275\200\007\0227\n1SL_PERF_MEAS_PM_INTERNAL" + "_ERROR_LIVENESS_NOT_FOUND\020\276\200\007\022:\n4SL_PERF" + "_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_F" + "AILED\020\277\200\007\022\036\n\030SL_INTERNAL_START_OFFSET\020\200\200" + "@\"<\n\013SLInterface\022\016\n\004Name\030\001 \001(\tH\000\022\020\n\006Hand" + "le\030\002 \001(\rH\000B\013\n\tInterface\"B\n\013SLIpAddress\022\023" + "\n\tV4Address\030\001 \001(\rH\000\022\023\n\tV6Address\030\002 \001(\014H\000" + "B\t\n\007Address\" \n\rSLIpv6Address\022\017\n\007address\030" + "\001 \001(\014\"\'\n\030SLAutonomousSystemNumber\022\013\n\003asn" + "\030\001 \001(\r\"%\n\nSLObjectId\022\016\n\004Name\030\001 \001(\tH\000B\007\n\005" + "entry\"T\n\021SLPathGroupRefKey\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_RESER" + "VED\020\000\022\025\n\021SL_REGOP_REGISTER\020\001\022\027\n\023SL_REGOP" + "_UNREGISTER\020\002\022\020\n\014SL_REGOP_EOF\020\003*_\n\nSLObj" + "ectOp\022\025\n\021SL_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_RESE" + "RVED\020\000\022\025\n\021SL_NOTIFOP_ENABLE\020\001\022\026\n\022SL_NOTI" + "FOP_DISABLE\020\002*\211\001\n\020SLUpdatePriority\022\030\n\024SL" + "_PRIORITY_RESERVED\020\000\022\030\n\024SL_PRIORITY_CRIT" + "ICAL\020\004\022\024\n\020SL_PRIORITY_HIGH\020\010\022\026\n\022SL_PRIOR" + "ITY_MEDIUM\020\014\022\023\n\017SL_PRIORITY_LOW\020\020*K\n\013SLE" + "ncapType\022\025\n\021SL_ENCAP_RESERVED\020\000\022\022\n\016SL_EN" + "CAP_VXLAN\020\001\022\021\n\rSL_ENCAP_MPLS\020\002*\215\001\n\013SLTab" + "leType\022\032\n\026SL_TABLE_TYPE_RESERVED\020\000\022\027\n\023SL" + "_IPv4_ROUTE_TABLE\020\001\022\027\n\023SL_IPv6_ROUTE_TAB" + "LE\020\002\022\027\n\023SL_MPLS_LABEL_TABLE\020\003\022\027\n\023SL_PATH" + "_GROUP_TABLE\020\004*G\n\014SLRspACKType\022\013\n\007RIB_AC" + "K\020\000\022\023\n\017RIB_AND_FIB_ACK\020\001\022\025\n\021RIB_FIB_INUS" + "E_ACK\020\002*\224\001\n\rSLAFFibStatus\022\022\n\016SL_FIB_UNKN" "OWN\020\000\022\022\n\016SL_FIB_SUCCESS\020\001\022\021\n\rSL_FIB_FAIL" "ED\020\002\022\025\n\021SL_FIB_INELIGIBLE\020\003\022\030\n\024SL_FIB_IN" - "USE_SUCCESS\020\004*\242\001\n\016SLRspACKPermit\022\034\n\030SL_P" - "ERMIT_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\030S" - "L_PERMIT_FIB_INELIGIBLE\020\003\022\037\n\033SL_PERMIT_F" - "IB_INUSE_SUCCESS\020\004*e\n\017SLRspAckCadence\022\025\n" - "\021SL_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" - "\003BQZOgithub.com/Cisco-service-layer/serv" - "ice-layer-objmodel/grpc/protos;service_l" - "ayerb\006proto3" + "USE_SUCCESS\020\004\022\027\n\023SL_FIB_INUSE_FAILED\020\005*\302" + "\001\n\016SLRspACKPermit\022\034\n\030SL_PERMIT_FIB_STATU" + "S_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_FIB_IN" + "ELIGIBLE\020\003\022\037\n\033SL_PERMIT_FIB_INUSE_SUCCES" + "S\020\004\022\036\n\032SL_PERMIT_FIB_INUSE_FAILED\020\005*e\n\017S" + "LRspAckCadence\022\025\n\021SL_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\003BQZOgithub.com/Cisco-s" + "ervice-layer/service-layer-objmodel/grpc" + "/protos;service_layerb\006proto3" ; 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, 14892, descriptor_table_protodef_sl_5fcommon_5ftypes_2eproto, "sl_common_types.proto", + false, false, 18989, descriptor_table_protodef_sl_5fcommon_5ftypes_2eproto, "sl_common_types.proto", &descriptor_table_sl_5fcommon_5ftypes_2eproto_once, nullptr, 0, 7, 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, @@ -595,6 +697,8 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 12: case 13: case 14: + case 15: + case 16: case 1280: case 1281: case 1282: @@ -619,6 +723,7 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 8209: case 8210: case 8211: + case 8212: case 12288: case 12289: case 12290: @@ -654,6 +759,7 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 16403: case 16404: case 16405: + case 16406: case 20480: case 20481: case 20482: @@ -683,6 +789,12 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 20506: case 20507: case 20508: + case 20509: + case 20510: + case 20511: + case 20512: + case 20513: + case 20514: case 24576: case 24577: case 24578: @@ -969,6 +1081,70 @@ bool SLErrorStatus_SLErrno_IsValid(int value) { case 110598: case 110599: case 110600: + case 114688: + case 114689: + case 114690: + case 114691: + case 114692: + case 114693: + case 114694: + case 114695: + case 114696: + case 114697: + case 114698: + case 114699: + case 114700: + case 114701: + case 114702: + case 114703: + case 114704: + case 114705: + case 114706: + case 114707: + case 114708: + case 114709: + case 114710: + case 114711: + case 114712: + case 114713: + case 114714: + case 114715: + case 114716: + case 114717: + case 114718: + case 114719: + case 114720: + case 114721: + case 114722: + case 114723: + case 114724: + case 114725: + case 114726: + case 114727: + case 114728: + case 114729: + case 114730: + case 114731: + case 114732: + case 114733: + case 114734: + case 114735: + case 114736: + case 114737: + case 114738: + case 114739: + case 114740: + case 114741: + case 114742: + case 114743: + case 114744: + case 114745: + case 114746: + case 114747: + case 114748: + case 114749: + case 114750: + case 114751: case 1048576: return true; default: @@ -992,6 +1168,8 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_TIMEOUT; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_NOTIF_TERM; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_AUTH_FAIL; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ACK_TYPE_NOT_SUPPORTED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_NO_SUCH_CLIENT; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_NO_ENTRIES_FOUND; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_INIT_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_INIT_STATE_CLEAR; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_INIT_STATE_READY; @@ -1016,6 +1194,7 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_VRF_V4_ROUTE_REPLAY_FATAL_ERRO constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_VRF_V4_ROUTE_REPLAY_OK; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_VRF_V6_ROUTE_REPLAY_OK; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_VRF_TABLE_CLIENT_NAME_MISMATCH; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_RPC_ROUTE_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_RPC_ROUTE_TOO_MANY_ROUTES; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_RPC_ROUTE_VRF_NAME_TOOLONG; @@ -1051,6 +1230,7 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ROUTE_DB_NOMEM; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ROUTE_INVALID_LOCAL_LABEL; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ROUTE_INVALID_FLAGS; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ROUTE_INVALID_PRIORITY; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_ROUTE_INVALID_METRIC; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_NH_NO_TABLE; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_NH_INTF_NOT_FOUND; @@ -1080,6 +1260,12 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_INVALID_ENCAP_ADDR; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_RTR_MAC_NOSUP; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_ENCAP_TYPE_MISMATCH; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_INVALID_PATH_LIST_MODEL; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_PRIMARY_INDEX_REPEATED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_BACKUP_INDEX_OUT_OF_RANGE; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_BACKUP_FLAGGED_UNREFERENCED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PATH_BACKUP_INDEX_SELF_REFERENCE; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_RPC_BFD_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_RPC_BFD_TOO_MANY_BFD_SESSIONS; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_RPC_BFD_API_BAD_PARAMETER; @@ -1366,6 +1552,70 @@ constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_SRTE_POLICY_CP_ATTR_INVALID; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_SRTE_POLICY_CLIENT_MISMATCH; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_SRTE_POLICY_SERVICE_NOT_UP; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_SRTE_POLICY_EXCEED_MSG_SIZE; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_START_OFFSET; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_DELETE_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_STATS_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_INFO_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_INVALID_REQUEST; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND; +constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED; constexpr SLErrorStatus_SLErrno SLErrorStatus::SL_INTERNAL_START_OFFSET; constexpr SLErrorStatus_SLErrno SLErrorStatus::SLErrno_MIN; constexpr SLErrorStatus_SLErrno SLErrorStatus::SLErrno_MAX; @@ -1493,6 +1743,7 @@ bool SLAFFibStatus_IsValid(int value) { case 2: case 3: case 4: + case 5: return true; default: return false; @@ -1510,6 +1761,7 @@ bool SLRspACKPermit_IsValid(int value) { case 2: case 3: case 4: + case 5: return true; default: return false; diff --git a/grpc/cpp/src/gencpp/sl_common_types.pb.h b/grpc/cpp/src/gencpp/sl_common_types.pb.h index ce193ea2..bc2f0134 100644 --- a/grpc/cpp/src/gencpp/sl_common_types.pb.h +++ b/grpc/cpp/src/gencpp/sl_common_types.pb.h @@ -104,6 +104,8 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_NOTIF_TERM = 12, SLErrorStatus_SLErrno_SL_AUTH_FAIL = 13, SLErrorStatus_SLErrno_SL_ACK_TYPE_NOT_SUPPORTED = 14, + SLErrorStatus_SLErrno_SL_NO_SUCH_CLIENT = 15, + SLErrorStatus_SLErrno_SL_NO_ENTRIES_FOUND = 16, SLErrorStatus_SLErrno_SL_INIT_START_OFFSET = 1280, SLErrorStatus_SLErrno_SL_INIT_STATE_CLEAR = 1281, SLErrorStatus_SLErrno_SL_INIT_STATE_READY = 1282, @@ -128,6 +130,7 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR = 8209, SLErrorStatus_SLErrno_SL_VRF_V4_ROUTE_REPLAY_OK = 8210, SLErrorStatus_SLErrno_SL_VRF_V6_ROUTE_REPLAY_OK = 8211, + SLErrorStatus_SLErrno_SL_VRF_TABLE_CLIENT_NAME_MISMATCH = 8212, SLErrorStatus_SLErrno_SL_RPC_ROUTE_START_OFFSET = 12288, SLErrorStatus_SLErrno_SL_RPC_ROUTE_TOO_MANY_ROUTES = 12289, SLErrorStatus_SLErrno_SL_RPC_ROUTE_VRF_NAME_TOOLONG = 12290, @@ -163,6 +166,7 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_ROUTE_INVALID_LOCAL_LABEL = 16403, SLErrorStatus_SLErrno_SL_ROUTE_INVALID_FLAGS = 16404, SLErrorStatus_SLErrno_SL_ROUTE_INVALID_PRIORITY = 16405, + SLErrorStatus_SLErrno_SL_ROUTE_INVALID_METRIC = 16406, SLErrorStatus_SLErrno_SL_PATH_START_OFFSET = 20480, SLErrorStatus_SLErrno_SL_PATH_NH_NO_TABLE = 20481, SLErrorStatus_SLErrno_SL_PATH_NH_INTF_NOT_FOUND = 20482, @@ -192,6 +196,12 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH = 20506, SLErrorStatus_SLErrno_SL_PATH_RTR_MAC_NOSUP = 20507, SLErrorStatus_SLErrno_SL_PATH_ENCAP_TYPE_MISMATCH = 20508, + SLErrorStatus_SLErrno_SL_PATH_INVALID_PATH_LIST_MODEL = 20509, + SLErrorStatus_SLErrno_SL_PATH_PRIMARY_INDEX_REPEATED = 20510, + SLErrorStatus_SLErrno_SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE = 20511, + SLErrorStatus_SLErrno_SL_PATH_BACKUP_INDEX_OUT_OF_RANGE = 20512, + SLErrorStatus_SLErrno_SL_PATH_BACKUP_FLAGGED_UNREFERENCED = 20513, + SLErrorStatus_SLErrno_SL_PATH_BACKUP_INDEX_SELF_REFERENCE = 20514, SLErrorStatus_SLErrno_SL_RPC_BFD_START_OFFSET = 24576, SLErrorStatus_SLErrno_SL_RPC_BFD_TOO_MANY_BFD_SESSIONS = 24577, SLErrorStatus_SLErrno_SL_RPC_BFD_API_BAD_PARAMETER = 24578, @@ -478,6 +488,70 @@ enum SLErrorStatus_SLErrno : int { SLErrorStatus_SLErrno_SL_SRTE_POLICY_CLIENT_MISMATCH = 110598, SLErrorStatus_SLErrno_SL_SRTE_POLICY_SERVICE_NOT_UP = 110599, SLErrorStatus_SLErrno_SL_SRTE_POLICY_EXCEED_MSG_SIZE = 110600, + SLErrorStatus_SLErrno_SL_PERF_MEAS_START_OFFSET = 114688, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED = 114689, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED = 114690, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED = 114691, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED = 114692, + SLErrorStatus_SLErrno_SL_PERF_MEAS_INVALID_REQUEST = 114693, + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED = 114694, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP = 114695, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP = 114696, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP = 114697, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK = 114698, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL = 114699, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT = 114700, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP = 114701, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE = 114702, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED = 114703, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR = 114704, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED = 114705, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR = 114706, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED = 114707, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR = 114708, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED = 114709, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR = 114710, + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED = 114711, + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR = 114712, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND = 114713, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND = 114714, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND = 114715, + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND = 114716, + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME = 114717, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED = 114718, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND = 114719, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED = 114720, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED = 114721, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID = 114722, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID = 114723, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID = 114724, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID = 114725, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID = 114726, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND = 114727, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND = 114728, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND = 114729, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID = 114730, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID = 114731, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID = 114732, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH = 114733, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID = 114734, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING = 114735, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING = 114736, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT = 114737, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS = 114738, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED = 114739, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID = 114740, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED = 114741, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED = 114742, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM = 114743, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED = 114744, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED = 114745, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED = 114746, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED = 114747, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND = 114748, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND = 114749, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND = 114750, + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED = 114751, SLErrorStatus_SLErrno_SL_INTERNAL_START_OFFSET = 1048576, SLErrorStatus_SLErrno_SLErrorStatus_SLErrno_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLErrorStatus_SLErrno_SLErrorStatus_SLErrno_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() @@ -695,12 +769,13 @@ enum SLAFFibStatus : int { SL_FIB_FAILED = 2, SL_FIB_INELIGIBLE = 3, SL_FIB_INUSE_SUCCESS = 4, + SL_FIB_INUSE_FAILED = 5, 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 SLAFFibStatus SLAFFibStatus_MAX = SL_FIB_INUSE_FAILED; constexpr int SLAFFibStatus_ARRAYSIZE = SLAFFibStatus_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLAFFibStatus_descriptor(); @@ -723,12 +798,13 @@ enum SLRspACKPermit : int { SL_PERMIT_FIB_FAILED = 2, SL_PERMIT_FIB_INELIGIBLE = 3, SL_PERMIT_FIB_INUSE_SUCCESS = 4, + SL_PERMIT_FIB_INUSE_FAILED = 5, 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_FIB_STATUS_ALL; -constexpr SLRspACKPermit SLRspACKPermit_MAX = SL_PERMIT_FIB_INUSE_SUCCESS; +constexpr SLRspACKPermit SLRspACKPermit_MAX = SL_PERMIT_FIB_INUSE_FAILED; constexpr int SLRspACKPermit_ARRAYSIZE = SLRspACKPermit_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLRspACKPermit_descriptor(); @@ -924,6 +1000,10 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_AUTH_FAIL; static constexpr SLErrno SL_ACK_TYPE_NOT_SUPPORTED = SLErrorStatus_SLErrno_SL_ACK_TYPE_NOT_SUPPORTED; + static constexpr SLErrno SL_NO_SUCH_CLIENT = + SLErrorStatus_SLErrno_SL_NO_SUCH_CLIENT; + static constexpr SLErrno SL_NO_ENTRIES_FOUND = + SLErrorStatus_SLErrno_SL_NO_ENTRIES_FOUND; static constexpr SLErrno SL_INIT_START_OFFSET = SLErrorStatus_SLErrno_SL_INIT_START_OFFSET; static constexpr SLErrno SL_INIT_STATE_CLEAR = @@ -972,6 +1052,8 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_VRF_V4_ROUTE_REPLAY_OK; static constexpr SLErrno SL_VRF_V6_ROUTE_REPLAY_OK = SLErrorStatus_SLErrno_SL_VRF_V6_ROUTE_REPLAY_OK; + static constexpr SLErrno SL_VRF_TABLE_CLIENT_NAME_MISMATCH = + SLErrorStatus_SLErrno_SL_VRF_TABLE_CLIENT_NAME_MISMATCH; static constexpr SLErrno SL_RPC_ROUTE_START_OFFSET = SLErrorStatus_SLErrno_SL_RPC_ROUTE_START_OFFSET; static constexpr SLErrno SL_RPC_ROUTE_TOO_MANY_ROUTES = @@ -1042,6 +1124,8 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_ROUTE_INVALID_FLAGS; static constexpr SLErrno SL_ROUTE_INVALID_PRIORITY = SLErrorStatus_SLErrno_SL_ROUTE_INVALID_PRIORITY; + static constexpr SLErrno SL_ROUTE_INVALID_METRIC = + SLErrorStatus_SLErrno_SL_ROUTE_INVALID_METRIC; static constexpr SLErrno SL_PATH_START_OFFSET = SLErrorStatus_SLErrno_SL_PATH_START_OFFSET; static constexpr SLErrno SL_PATH_NH_NO_TABLE = @@ -1100,6 +1184,18 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_PATH_RTR_MAC_NOSUP; static constexpr SLErrno SL_PATH_ENCAP_TYPE_MISMATCH = SLErrorStatus_SLErrno_SL_PATH_ENCAP_TYPE_MISMATCH; + static constexpr SLErrno SL_PATH_INVALID_PATH_LIST_MODEL = + SLErrorStatus_SLErrno_SL_PATH_INVALID_PATH_LIST_MODEL; + static constexpr SLErrno SL_PATH_PRIMARY_INDEX_REPEATED = + SLErrorStatus_SLErrno_SL_PATH_PRIMARY_INDEX_REPEATED; + static constexpr SLErrno SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE = + SLErrorStatus_SLErrno_SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE; + static constexpr SLErrno SL_PATH_BACKUP_INDEX_OUT_OF_RANGE = + SLErrorStatus_SLErrno_SL_PATH_BACKUP_INDEX_OUT_OF_RANGE; + static constexpr SLErrno SL_PATH_BACKUP_FLAGGED_UNREFERENCED = + SLErrorStatus_SLErrno_SL_PATH_BACKUP_FLAGGED_UNREFERENCED; + static constexpr SLErrno SL_PATH_BACKUP_INDEX_SELF_REFERENCE = + SLErrorStatus_SLErrno_SL_PATH_BACKUP_INDEX_SELF_REFERENCE; static constexpr SLErrno SL_RPC_BFD_START_OFFSET = SLErrorStatus_SLErrno_SL_RPC_BFD_START_OFFSET; static constexpr SLErrno SL_RPC_BFD_TOO_MANY_BFD_SESSIONS = @@ -1672,6 +1768,134 @@ class SLErrorStatus final : SLErrorStatus_SLErrno_SL_SRTE_POLICY_SERVICE_NOT_UP; static constexpr SLErrno SL_SRTE_POLICY_EXCEED_MSG_SIZE = SLErrorStatus_SLErrno_SL_SRTE_POLICY_EXCEED_MSG_SIZE; + static constexpr SLErrno SL_PERF_MEAS_START_OFFSET = + SLErrorStatus_SLErrno_SL_PERF_MEAS_START_OFFSET; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_DELETE_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_STATS_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_INFO_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED; + static constexpr SLErrno SL_PERF_MEAS_INVALID_REQUEST = + SLErrorStatus_SLErrno_SL_PERF_MEAS_INVALID_REQUEST; + static constexpr SLErrno SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR; + static constexpr SLErrno SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR; + static constexpr SLErrno SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED; + static constexpr SLErrno SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR = + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR; + static constexpr SLErrno SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME = + SLErrorStatus_SLErrno_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND; + static constexpr SLErrno SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED = + SLErrorStatus_SLErrno_SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED; static constexpr SLErrno SL_INTERNAL_START_OFFSET = SLErrorStatus_SLErrno_SL_INTERNAL_START_OFFSET; static inline bool SLErrno_IsValid(int value) { diff --git a/grpc/cpp/src/gencpp/sl_global.grpc.pb.h b/grpc/cpp/src/gencpp/sl_global.grpc.pb.h index 49dd3cd7..af49369a 100644 --- a/grpc/cpp/src/gencpp/sl_global.grpc.pb.h +++ b/grpc/cpp/src/gencpp/sl_global.grpc.pb.h @@ -75,6 +75,7 @@ class SLGlobal final { return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service_layer::SLGlobalNotif>>(PrepareAsyncSLGlobalInitNotifRaw(context, request, cq)); } // Get platform specific globals + // Used to retrieve platform-specific capabilities and configuration limits. virtual ::grpc::Status SLGlobalsGet(::grpc::ClientContext* context, const ::service_layer::SLGlobalsGetMsg& request, ::service_layer::SLGlobalsGetMsgRsp* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service_layer::SLGlobalsGetMsgRsp>> AsyncSLGlobalsGet(::grpc::ClientContext* context, const ::service_layer::SLGlobalsGetMsg& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service_layer::SLGlobalsGetMsgRsp>>(AsyncSLGlobalsGetRaw(context, request, cq)); @@ -101,6 +102,7 @@ class SLGlobal final { // Refer to SLGlobalNotif definition for further info. virtual void SLGlobalInitNotif(::grpc::ClientContext* context, const ::service_layer::SLInitMsg* request, ::grpc::ClientReadReactor< ::service_layer::SLGlobalNotif>* reactor) = 0; // Get platform specific globals + // Used to retrieve platform-specific capabilities and configuration limits. virtual void SLGlobalsGet(::grpc::ClientContext* context, const ::service_layer::SLGlobalsGetMsg* request, ::service_layer::SLGlobalsGetMsgRsp* response, std::function) = 0; virtual void SLGlobalsGet(::grpc::ClientContext* context, const ::service_layer::SLGlobalsGetMsg* request, ::service_layer::SLGlobalsGetMsgRsp* response, ::grpc::ClientUnaryReactor* reactor) = 0; // @} @@ -180,6 +182,7 @@ class SLGlobal final { // Refer to SLGlobalNotif definition for further info. virtual ::grpc::Status SLGlobalInitNotif(::grpc::ServerContext* context, const ::service_layer::SLInitMsg* request, ::grpc::ServerWriter< ::service_layer::SLGlobalNotif>* writer); // Get platform specific globals + // Used to retrieve platform-specific capabilities and configuration limits. virtual ::grpc::Status SLGlobalsGet(::grpc::ServerContext* context, const ::service_layer::SLGlobalsGetMsg* request, ::service_layer::SLGlobalsGetMsgRsp* response); // @} }; diff --git a/grpc/cpp/src/gencpp/sl_perf_meas.grpc.pb.cc b/grpc/cpp/src/gencpp/sl_perf_meas.grpc.pb.cc new file mode 100644 index 00000000..b33bbaee --- /dev/null +++ b/grpc/cpp/src/gencpp/sl_perf_meas.grpc.pb.cc @@ -0,0 +1,78 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: sl_perf_meas.proto + +#include "sl_perf_meas.pb.h" +#include "sl_perf_meas.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace service_layer { + +static const char* SLPerfMeasOper_method_names[] = { + "/service_layer.SLPerfMeasOper/SLPerfMeasNotifStream", +}; + +std::unique_ptr< SLPerfMeasOper::Stub> SLPerfMeasOper::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< SLPerfMeasOper::Stub> stub(new SLPerfMeasOper::Stub(channel, options)); + return stub; +} + +SLPerfMeasOper::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) + : channel_(channel), rpcmethod_SLPerfMeasNotifStream_(SLPerfMeasOper_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + {} + +::grpc::ClientReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* SLPerfMeasOper::Stub::SLPerfMeasNotifStreamRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>::Create(channel_.get(), rpcmethod_SLPerfMeasNotifStream_, context); +} + +void SLPerfMeasOper::Stub::async::SLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service_layer::SLPerfMeasReqMsg,::service_layer::SLPerfMeasRespMsg>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service_layer::SLPerfMeasReqMsg,::service_layer::SLPerfMeasRespMsg>::Create(stub_->channel_.get(), stub_->rpcmethod_SLPerfMeasNotifStream_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* SLPerfMeasOper::Stub::AsyncSLPerfMeasNotifStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>::Create(channel_.get(), cq, rpcmethod_SLPerfMeasNotifStream_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* SLPerfMeasOper::Stub::PrepareAsyncSLPerfMeasNotifStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>::Create(channel_.get(), cq, rpcmethod_SLPerfMeasNotifStream_, context, false, nullptr); +} + +SLPerfMeasOper::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + SLPerfMeasOper_method_names[0], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< SLPerfMeasOper::Service, ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>( + [](SLPerfMeasOper::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service_layer::SLPerfMeasRespMsg, + ::service_layer::SLPerfMeasReqMsg>* stream) { + return service->SLPerfMeasNotifStream(ctx, stream); + }, this))); +} + +SLPerfMeasOper::Service::~Service() { +} + +::grpc::Status SLPerfMeasOper::Service::SLPerfMeasNotifStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace service_layer + diff --git a/grpc/cpp/src/gencpp/sl_perf_meas.grpc.pb.h b/grpc/cpp/src/gencpp/sl_perf_meas.grpc.pb.h new file mode 100644 index 00000000..71f65feb --- /dev/null +++ b/grpc/cpp/src/gencpp/sl_perf_meas.grpc.pb.h @@ -0,0 +1,372 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: sl_perf_meas.proto +// Original file comments: +// @file +// @brief Server RPC proto file for Performance monitoring probing. +// Declares an RPC that gets performance monitoring details. +// ---------------------------------------------------------------- +// Copyright (c) 2026 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +#ifndef GRPC_sl_5fperf_5fmeas_2eproto__INCLUDED +#define GRPC_sl_5fperf_5fmeas_2eproto__INCLUDED + +#include "sl_perf_meas.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace service_layer { + +// @defgroup Performance +// @brief Performance monitoring service definitions. +// Defines the RPC for programming performance-measurement sessions and +// receiving notifications for those sessions. +// @{ +class SLPerfMeasOper final { + public: + static constexpr char const* service_full_name() { + return "service_layer.SLPerfMeasOper"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + // @addtogroup Performance + // @{ + // + // SLPerfMeasNotifStream is a single bidirectional stream that carries + // BOTH programming requests (create / delete / get-stats / get-info / + // flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + // asynchronous notifications (per-session UP/DOWN state changes, + // operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + // + // Lifecycle / ownership contract: + // + // 1. Session ownership. + // A session created on a stream is owned by that stream. A given + // server instance allows only one active SLPerfMeasNotifStream + // client at a time; a second client connecting will be rejected. + // Sessions are not shared across streams. + // + // 2. Subscribe-before-program. + // Clients SHOULD open the stream before issuing any create + // request, so that no UP/DOWN notifications are lost between + // create and the first read on the stream. + // + // 3. Stream disconnect (client side). + // On client disconnect or transport failure, the server sweeps + // all sessions owned by that stream. On reconnect the client + // MUST recreate any sessions it needs; nothing is preserved + // across the disconnect. + // + // 4. PM (perf_meas) process disconnect. + // If the underlying perf_meas process disconnects from the + // server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + // session state is retained; when PM reconnects, the server + // replays all sessions to PM and resumes per-session UP/DOWN + // notifications. No client action is required. + // + // 5. Server (emsd) restart / failover. + // Sessions are NOT preserved across a server restart or HA + // switchover. After the gRPC stream re-establishes, the client + // MUST treat all previously created sessions as gone and + // recreate them. + // + // 6. Reconciliation. + // On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + // wait for per-session UP notifications (no recreate needed). + // On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + // sessions have been removed; the client MUST create a fresh + // set of sessions (no replay/UP notifications will follow). + // + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>> SLPerfMeasNotifStream(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>>(SLPerfMeasNotifStreamRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>> AsyncSLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>>(AsyncSLPerfMeasNotifStreamRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>> PrepareAsyncSLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>>(PrepareAsyncSLPerfMeasNotifStreamRaw(context, cq)); + } + class async_interface { + public: + virtual ~async_interface() {} + // @addtogroup Performance + // @{ + // + // SLPerfMeasNotifStream is a single bidirectional stream that carries + // BOTH programming requests (create / delete / get-stats / get-info / + // flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + // asynchronous notifications (per-session UP/DOWN state changes, + // operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + // + // Lifecycle / ownership contract: + // + // 1. Session ownership. + // A session created on a stream is owned by that stream. A given + // server instance allows only one active SLPerfMeasNotifStream + // client at a time; a second client connecting will be rejected. + // Sessions are not shared across streams. + // + // 2. Subscribe-before-program. + // Clients SHOULD open the stream before issuing any create + // request, so that no UP/DOWN notifications are lost between + // create and the first read on the stream. + // + // 3. Stream disconnect (client side). + // On client disconnect or transport failure, the server sweeps + // all sessions owned by that stream. On reconnect the client + // MUST recreate any sessions it needs; nothing is preserved + // across the disconnect. + // + // 4. PM (perf_meas) process disconnect. + // If the underlying perf_meas process disconnects from the + // server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + // session state is retained; when PM reconnects, the server + // replays all sessions to PM and resumes per-session UP/DOWN + // notifications. No client action is required. + // + // 5. Server (emsd) restart / failover. + // Sessions are NOT preserved across a server restart or HA + // switchover. After the gRPC stream re-establishes, the client + // MUST treat all previously created sessions as gone and + // recreate them. + // + // 6. Reconciliation. + // On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + // wait for per-session UP notifications (no recreate needed). + // On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + // sessions have been removed; the client MUST create a fresh + // set of sessions (no replay/UP notifications will follow). + // + virtual void SLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service_layer::SLPerfMeasReqMsg,::service_layer::SLPerfMeasRespMsg>* reactor) = 0; + }; + typedef class async_interface experimental_async_interface; + virtual class async_interface* async() { return nullptr; } + class async_interface* experimental_async() { return async(); } + private: + virtual ::grpc::ClientReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* SLPerfMeasNotifStreamRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* AsyncSLPerfMeasNotifStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* PrepareAsyncSLPerfMeasNotifStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + std::unique_ptr< ::grpc::ClientReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>> SLPerfMeasNotifStream(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>>(SLPerfMeasNotifStreamRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>> AsyncSLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>>(AsyncSLPerfMeasNotifStreamRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>> PrepareAsyncSLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>>(PrepareAsyncSLPerfMeasNotifStreamRaw(context, cq)); + } + class async final : + public StubInterface::async_interface { + public: + void SLPerfMeasNotifStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service_layer::SLPerfMeasReqMsg,::service_layer::SLPerfMeasRespMsg>* reactor) override; + private: + friend class Stub; + explicit async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class async* async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class async async_stub_{this}; + ::grpc::ClientReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* SLPerfMeasNotifStreamRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* AsyncSLPerfMeasNotifStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* PrepareAsyncSLPerfMeasNotifStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_SLPerfMeasNotifStream_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + // @addtogroup Performance + // @{ + // + // SLPerfMeasNotifStream is a single bidirectional stream that carries + // BOTH programming requests (create / delete / get-stats / get-info / + // flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + // asynchronous notifications (per-session UP/DOWN state changes, + // operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + // + // Lifecycle / ownership contract: + // + // 1. Session ownership. + // A session created on a stream is owned by that stream. A given + // server instance allows only one active SLPerfMeasNotifStream + // client at a time; a second client connecting will be rejected. + // Sessions are not shared across streams. + // + // 2. Subscribe-before-program. + // Clients SHOULD open the stream before issuing any create + // request, so that no UP/DOWN notifications are lost between + // create and the first read on the stream. + // + // 3. Stream disconnect (client side). + // On client disconnect or transport failure, the server sweeps + // all sessions owned by that stream. On reconnect the client + // MUST recreate any sessions it needs; nothing is preserved + // across the disconnect. + // + // 4. PM (perf_meas) process disconnect. + // If the underlying perf_meas process disconnects from the + // server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + // session state is retained; when PM reconnects, the server + // replays all sessions to PM and resumes per-session UP/DOWN + // notifications. No client action is required. + // + // 5. Server (emsd) restart / failover. + // Sessions are NOT preserved across a server restart or HA + // switchover. After the gRPC stream re-establishes, the client + // MUST treat all previously created sessions as gone and + // recreate them. + // + // 6. Reconciliation. + // On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + // wait for per-session UP notifications (no recreate needed). + // On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + // sessions have been removed; the client MUST create a fresh + // set of sessions (no replay/UP notifications will follow). + // + virtual ::grpc::Status SLPerfMeasNotifStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* stream); + }; + template + class WithAsyncMethod_SLPerfMeasNotifStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SLPerfMeasNotifStream() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_SLPerfMeasNotifStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SLPerfMeasNotifStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSLPerfMeasNotifStream(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(0, context, stream, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_SLPerfMeasNotifStream AsyncService; + template + class WithCallbackMethod_SLPerfMeasNotifStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SLPerfMeasNotifStream() { + ::grpc::Service::MarkMethodCallback(0, + new ::grpc::internal::CallbackBidiHandler< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>( + [this]( + ::grpc::CallbackServerContext* context) { return this->SLPerfMeasNotifStream(context); })); + } + ~WithCallbackMethod_SLPerfMeasNotifStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SLPerfMeasNotifStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::service_layer::SLPerfMeasReqMsg, ::service_layer::SLPerfMeasRespMsg>* SLPerfMeasNotifStream( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + typedef WithCallbackMethod_SLPerfMeasNotifStream CallbackService; + typedef CallbackService ExperimentalCallbackService; + template + class WithGenericMethod_SLPerfMeasNotifStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SLPerfMeasNotifStream() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_SLPerfMeasNotifStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SLPerfMeasNotifStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_SLPerfMeasNotifStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SLPerfMeasNotifStream() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_SLPerfMeasNotifStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SLPerfMeasNotifStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSLPerfMeasNotifStream(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(0, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawCallbackMethod_SLPerfMeasNotifStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SLPerfMeasNotifStream() { + ::grpc::Service::MarkMethodRawCallback(0, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context) { return this->SLPerfMeasNotifStream(context); })); + } + ~WithRawCallbackMethod_SLPerfMeasNotifStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SLPerfMeasNotifStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service_layer::SLPerfMeasRespMsg, ::service_layer::SLPerfMeasReqMsg>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* SLPerfMeasNotifStream( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + typedef Service StreamedUnaryService; + typedef Service SplitStreamedService; + typedef Service StreamedService; +}; + +} // namespace service_layer + + +#endif // GRPC_sl_5fperf_5fmeas_2eproto__INCLUDED diff --git a/grpc/cpp/src/gencpp/sl_perf_meas.pb.cc b/grpc/cpp/src/gencpp/sl_perf_meas.pb.cc new file mode 100644 index 00000000..ed441fa2 --- /dev/null +++ b/grpc/cpp/src/gencpp/sl_perf_meas.pb.cc @@ -0,0 +1,3297 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: sl_perf_meas.proto + +#include "sl_perf_meas.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG +namespace service_layer { +constexpr SLPerfMeasMonitor::SLPerfMeasMonitor( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : labelstack_() + , _labelstack_cached_byte_size_(0) + , perfsessionname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , source_(nullptr) + , destination_(nullptr) + , interfaceinfo_(nullptr) + , nexthop_(nullptr) + , probeinterval_(uint64_t{0u}) + , timeoutcount_(0u) + , dscpvalue_(0u){} +struct SLPerfMeasMonitorDefaultTypeInternal { + constexpr SLPerfMeasMonitorDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasMonitorDefaultTypeInternal() {} + union { + SLPerfMeasMonitor _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasMonitorDefaultTypeInternal _SLPerfMeasMonitor_default_instance_; +constexpr SLPerfMeasStats::SLPerfMeasStats( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : probessent_(uint64_t{0u}) + , probesreceived_(uint64_t{0u}) + , minrtt_(uint64_t{0u}) + , maxrtt_(uint64_t{0u}) + , avgrtt_(uint64_t{0u}) + , state_(0) +{} +struct SLPerfMeasStatsDefaultTypeInternal { + constexpr SLPerfMeasStatsDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasStatsDefaultTypeInternal() {} + union { + SLPerfMeasStats _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasStatsDefaultTypeInternal _SLPerfMeasStats_default_instance_; +constexpr SLPerfMeasReqMsgEntry::SLPerfMeasReqMsgEntry( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : operationid_(uint64_t{0u}) + , msgtype_(0) + + , _oneof_case_{}{} +struct SLPerfMeasReqMsgEntryDefaultTypeInternal { + constexpr SLPerfMeasReqMsgEntryDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasReqMsgEntryDefaultTypeInternal() {} + union { + SLPerfMeasReqMsgEntry _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasReqMsgEntryDefaultTypeInternal _SLPerfMeasReqMsgEntry_default_instance_; +constexpr SLPerfMeasReqMsg::SLPerfMeasReqMsg( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : entries_(){} +struct SLPerfMeasReqMsgDefaultTypeInternal { + constexpr SLPerfMeasReqMsgDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasReqMsgDefaultTypeInternal() {} + union { + SLPerfMeasReqMsg _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasReqMsgDefaultTypeInternal _SLPerfMeasReqMsg_default_instance_; +constexpr SLPerfMeasRespErrMsgEntry::SLPerfMeasRespErrMsgEntry( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : perfsessionname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , errstatus_(nullptr) + , operationid_(uint64_t{0u}){} +struct SLPerfMeasRespErrMsgEntryDefaultTypeInternal { + constexpr SLPerfMeasRespErrMsgEntryDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasRespErrMsgEntryDefaultTypeInternal() {} + union { + SLPerfMeasRespErrMsgEntry _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasRespErrMsgEntryDefaultTypeInternal _SLPerfMeasRespErrMsgEntry_default_instance_; +constexpr SLPerfMeasRespDataMsgEntry::SLPerfMeasRespDataMsgEntry( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : perfsessionname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , operationid_(uint64_t{0u}) + , msgtype_(0) + + , _oneof_case_{}{} +struct SLPerfMeasRespDataMsgEntryDefaultTypeInternal { + constexpr SLPerfMeasRespDataMsgEntryDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasRespDataMsgEntryDefaultTypeInternal() {} + union { + SLPerfMeasRespDataMsgEntry _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasRespDataMsgEntryDefaultTypeInternal _SLPerfMeasRespDataMsgEntry_default_instance_; +constexpr SLPerfMeasRespStateMsgEntry::SLPerfMeasRespStateMsgEntry( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : perfsessionname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , state_(0) +{} +struct SLPerfMeasRespStateMsgEntryDefaultTypeInternal { + constexpr SLPerfMeasRespStateMsgEntryDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasRespStateMsgEntryDefaultTypeInternal() {} + union { + SLPerfMeasRespStateMsgEntry _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasRespStateMsgEntryDefaultTypeInternal _SLPerfMeasRespStateMsgEntry_default_instance_; +constexpr SLPerfMeasRespMsgEntry::SLPerfMeasRespMsgEntry( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : _oneof_case_{}{} +struct SLPerfMeasRespMsgEntryDefaultTypeInternal { + constexpr SLPerfMeasRespMsgEntryDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasRespMsgEntryDefaultTypeInternal() {} + union { + SLPerfMeasRespMsgEntry _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasRespMsgEntryDefaultTypeInternal _SLPerfMeasRespMsgEntry_default_instance_; +constexpr SLPerfMeasRespMsg::SLPerfMeasRespMsg( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : entries_(){} +struct SLPerfMeasRespMsgDefaultTypeInternal { + constexpr SLPerfMeasRespMsgDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPerfMeasRespMsgDefaultTypeInternal() {} + union { + SLPerfMeasRespMsg _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPerfMeasRespMsgDefaultTypeInternal _SLPerfMeasRespMsg_default_instance_; +} // namespace service_layer +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5fperf_5fmeas_2eproto[9]; +static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sl_5fperf_5fmeas_2eproto[2]; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_sl_5fperf_5fmeas_2eproto = nullptr; + +const uint32_t TableStruct_sl_5fperf_5fmeas_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, _has_bits_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, perfsessionname_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, source_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, destination_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, labelstack_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, probeinterval_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, timeoutcount_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, interfaceinfo_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, dscpvalue_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasMonitor, nexthop_), + 0, + ~0u, + ~0u, + ~0u, + 1, + 2, + ~0u, + 3, + ~0u, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, state_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, probessent_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, probesreceived_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, minrtt_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, maxrtt_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasStats, avgrtt_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsgEntry, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsgEntry, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsgEntry, operationid_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsgEntry, msgtype_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsgEntry, Value_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsg, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasReqMsg, entries_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespErrMsgEntry, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespErrMsgEntry, operationid_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespErrMsgEntry, errstatus_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespErrMsgEntry, perfsessionname_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespDataMsgEntry, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespDataMsgEntry, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespDataMsgEntry, msgtype_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespDataMsgEntry, perfsessionname_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespDataMsgEntry, operationid_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespDataMsgEntry, Data_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespStateMsgEntry, _has_bits_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespStateMsgEntry, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespStateMsgEntry, state_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespStateMsgEntry, perfsessionname_), + ~0u, + 0, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespMsgEntry, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespMsgEntry, _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::SLPerfMeasRespMsgEntry, Event_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespMsg, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPerfMeasRespMsg, entries_), +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, 15, -1, sizeof(::service_layer::SLPerfMeasMonitor)}, + { 24, -1, -1, sizeof(::service_layer::SLPerfMeasStats)}, + { 36, -1, -1, sizeof(::service_layer::SLPerfMeasReqMsgEntry)}, + { 47, -1, -1, sizeof(::service_layer::SLPerfMeasReqMsg)}, + { 54, -1, -1, sizeof(::service_layer::SLPerfMeasRespErrMsgEntry)}, + { 63, -1, -1, sizeof(::service_layer::SLPerfMeasRespDataMsgEntry)}, + { 75, 83, -1, sizeof(::service_layer::SLPerfMeasRespStateMsgEntry)}, + { 85, -1, -1, sizeof(::service_layer::SLPerfMeasRespMsgEntry)}, + { 95, -1, -1, sizeof(::service_layer::SLPerfMeasRespMsg)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::service_layer::_SLPerfMeasMonitor_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasStats_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasReqMsgEntry_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasReqMsg_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasRespErrMsgEntry_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasRespDataMsgEntry_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasRespStateMsgEntry_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasRespMsgEntry_default_instance_), + reinterpret_cast(&::service_layer::_SLPerfMeasRespMsg_default_instance_), +}; + +const char descriptor_table_protodef_sl_5fperf_5fmeas_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\022sl_perf_meas.proto\022\rservice_layer\032\025sl_" + "common_types.proto\"\226\003\n\021SLPerfMeasMonitor" + "\022\034\n\017PerfSessionName\030\001 \001(\tH\000\210\001\001\022*\n\006Source" + "\030\002 \001(\0132\032.service_layer.SLIpAddress\022/\n\013De" + "stination\030\003 \001(\0132\032.service_layer.SLIpAddr" + "ess\022\022\n\nLabelStack\030\004 \003(\r\022\032\n\rProbeInterval" + "\030\005 \001(\004H\001\210\001\001\022\031\n\014TimeoutCount\030\006 \001(\rH\002\210\001\001\0221" + "\n\rInterfaceInfo\030\007 \001(\0132\032.service_layer.SL" + "Interface\022\026\n\tDscpValue\030\010 \001(\rH\003\210\001\001\022+\n\007Nex" + "tHop\030\t \001(\0132\032.service_layer.SLIpAddressB\022" + "\n\020_PerfSessionNameB\020\n\016_ProbeIntervalB\017\n\r" + "_TimeoutCountB\014\n\n_DscpValue\"\243\001\n\017SLPerfMe" + "asStats\0224\n\005State\030\001 \001(\0162%.service_layer.S" + "LPerfMeasSessionState\022\022\n\nProbesSent\030\002 \001(" + "\004\022\026\n\016ProbesReceived\030\003 \001(\004\022\016\n\006MinRtt\030\004 \001(" + "\004\022\016\n\006MaxRtt\030\005 \001(\004\022\016\n\006AvgRtt\030\006 \001(\004\"\273\001\n\025SL" + "PerfMeasReqMsgEntry\022\023\n\013OperationId\030\001 \001(\004" + "\0221\n\007MsgType\030\002 \001(\0162 .service_layer.SLPerf" + "MeasMsgType\022\031\n\017PerfSessionName\030\003 \001(\tH\000\0226" + "\n\nParameters\030\004 \001(\0132 .service_layer.SLPer" + "fMeasMonitorH\000B\007\n\005Value\"I\n\020SLPerfMeasReq" + "Msg\0225\n\007Entries\030\001 \003(\0132$.service_layer.SLP" + "erfMeasReqMsgEntry\"z\n\031SLPerfMeasRespErrM" + "sgEntry\022\023\n\013OperationId\030\001 \001(\004\022/\n\tErrStatu" + "s\030\002 \001(\0132\034.service_layer.SLErrorStatus\022\027\n" + "\017PerfSessionName\030\003 \001(\t\"\350\001\n\032SLPerfMeasRes" + "pDataMsgEntry\0221\n\007MsgType\030\001 \001(\0162 .service" + "_layer.SLPerfMeasMsgType\022\027\n\017PerfSessionN" + "ame\030\002 \001(\t\022\023\n\013OperationId\030\003 \001(\004\022/\n\005Stats\030" + "\004 \001(\0132\036.service_layer.SLPerfMeasStatsH\000\022" + "0\n\004Info\030\005 \001(\0132 .service_layer.SLPerfMeas" + "MonitorH\000B\006\n\004Data\"\205\001\n\033SLPerfMeasRespStat" + "eMsgEntry\0224\n\005State\030\001 \001(\0162%.service_layer" + ".SLPerfMeasSessionState\022\034\n\017PerfSessionNa" + "me\030\002 \001(\tH\000\210\001\001B\022\n\020_PerfSessionName\"\344\001\n\026SL" + "PerfMeasRespMsgEntry\0229\n\005Error\030\001 \001(\0132(.se" + "rvice_layer.SLPerfMeasRespErrMsgEntryH\000\022" + "B\n\rSessionDetail\030\002 \001(\0132).service_layer.S" + "LPerfMeasRespDataMsgEntryH\000\022B\n\014SessionSt" + "ate\030\003 \001(\0132*.service_layer.SLPerfMeasResp" + "StateMsgEntryH\000B\007\n\005Event\"K\n\021SLPerfMeasRe" + "spMsg\0226\n\007Entries\030\001 \003(\0132%.service_layer.S" + "LPerfMeasRespMsgEntry*\313\001\n\021SLPerfMeasMsgT" + "ype\022\035\n\031SL_PERF_MEAS_MSG_RESERVED\020\000\022\037\n\033SL" + "_PERF_MEAS_CREATE_SESSION\020\001\022\037\n\033SL_PERF_M" + "EAS_DELETE_SESSION\020\002\022\032\n\026SL_PERF_MEAS_GET" + "_STATS\020\003\022\031\n\025SL_PERF_MEAS_GET_INFO\020\004\022\036\n\032S" + "L_PERF_MEAS_FLUSH_MAX_RTT\020\005*\276\001\n\026SLPerfMe" + "asSessionState\022\037\n\033SL_PERF_MEAS_STATE_RES" + "ERVED\020\000\022\035\n\031SL_PERF_MEAS_SESSION_DOWN\020\001\022\033" + "\n\027SL_PERF_MEAS_SESSION_UP\020\002\022!\n\035SL_PERF_M" + "EAS_SESSION_ALL_DOWN\020\003\022$\n SL_PERF_MEAS_S" + "ESSION_ALL_DELETED\020\0042p\n\016SLPerfMeasOper\022^" + "\n\025SLPerfMeasNotifStream\022\037.service_layer." + "SLPerfMeasReqMsg\032 .service_layer.SLPerfM" + "easRespMsg(\0010\001BQZOgithub.com/Cisco-servi" + "ce-layer/service-layer-objmodel/grpc/pro" + "tos;service_layerb\006proto3" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5fperf_5fmeas_2eproto_deps[1] = { + &::descriptor_table_sl_5fcommon_5ftypes_2eproto, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5fperf_5fmeas_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5fperf_5fmeas_2eproto = { + false, false, 2305, descriptor_table_protodef_sl_5fperf_5fmeas_2eproto, "sl_perf_meas.proto", + &descriptor_table_sl_5fperf_5fmeas_2eproto_once, descriptor_table_sl_5fperf_5fmeas_2eproto_deps, 1, 9, + schemas, file_default_instances, TableStruct_sl_5fperf_5fmeas_2eproto::offsets, + file_level_metadata_sl_5fperf_5fmeas_2eproto, file_level_enum_descriptors_sl_5fperf_5fmeas_2eproto, file_level_service_descriptors_sl_5fperf_5fmeas_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_sl_5fperf_5fmeas_2eproto_getter() { + return &descriptor_table_sl_5fperf_5fmeas_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_sl_5fperf_5fmeas_2eproto(&descriptor_table_sl_5fperf_5fmeas_2eproto); +namespace service_layer { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPerfMeasMsgType_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sl_5fperf_5fmeas_2eproto); + return file_level_enum_descriptors_sl_5fperf_5fmeas_2eproto[0]; +} +bool SLPerfMeasMsgType_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + return true; + default: + return false; + } +} + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPerfMeasSessionState_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sl_5fperf_5fmeas_2eproto); + return file_level_enum_descriptors_sl_5fperf_5fmeas_2eproto[1]; +} +bool SLPerfMeasSessionState_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + case 4: + return true; + default: + return false; + } +} + + +// =================================================================== + +class SLPerfMeasMonitor::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_perfsessionname(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static const ::service_layer::SLIpAddress& source(const SLPerfMeasMonitor* msg); + static const ::service_layer::SLIpAddress& destination(const SLPerfMeasMonitor* msg); + static void set_has_probeinterval(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } + static void set_has_timeoutcount(HasBits* has_bits) { + (*has_bits)[0] |= 4u; + } + static const ::service_layer::SLInterface& interfaceinfo(const SLPerfMeasMonitor* msg); + static void set_has_dscpvalue(HasBits* has_bits) { + (*has_bits)[0] |= 8u; + } + static const ::service_layer::SLIpAddress& nexthop(const SLPerfMeasMonitor* msg); +}; + +const ::service_layer::SLIpAddress& +SLPerfMeasMonitor::_Internal::source(const SLPerfMeasMonitor* msg) { + return *msg->source_; +} +const ::service_layer::SLIpAddress& +SLPerfMeasMonitor::_Internal::destination(const SLPerfMeasMonitor* msg) { + return *msg->destination_; +} +const ::service_layer::SLInterface& +SLPerfMeasMonitor::_Internal::interfaceinfo(const SLPerfMeasMonitor* msg) { + return *msg->interfaceinfo_; +} +const ::service_layer::SLIpAddress& +SLPerfMeasMonitor::_Internal::nexthop(const SLPerfMeasMonitor* msg) { + return *msg->nexthop_; +} +void SLPerfMeasMonitor::clear_source() { + if (GetArenaForAllocation() == nullptr && source_ != nullptr) { + delete source_; + } + source_ = nullptr; +} +void SLPerfMeasMonitor::clear_destination() { + if (GetArenaForAllocation() == nullptr && destination_ != nullptr) { + delete destination_; + } + destination_ = nullptr; +} +void SLPerfMeasMonitor::clear_interfaceinfo() { + if (GetArenaForAllocation() == nullptr && interfaceinfo_ != nullptr) { + delete interfaceinfo_; + } + interfaceinfo_ = nullptr; +} +void SLPerfMeasMonitor::clear_nexthop() { + if (GetArenaForAllocation() == nullptr && nexthop_ != nullptr) { + delete nexthop_; + } + nexthop_ = nullptr; +} +SLPerfMeasMonitor::SLPerfMeasMonitor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + labelstack_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLPerfMeasMonitor) +} +SLPerfMeasMonitor::SLPerfMeasMonitor(const SLPerfMeasMonitor& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + labelstack_(from.labelstack_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_perfsessionname()) { + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_perfsessionname(), + GetArenaForAllocation()); + } + if (from._internal_has_source()) { + source_ = new ::service_layer::SLIpAddress(*from.source_); + } else { + source_ = nullptr; + } + if (from._internal_has_destination()) { + destination_ = new ::service_layer::SLIpAddress(*from.destination_); + } else { + destination_ = nullptr; + } + if (from._internal_has_interfaceinfo()) { + interfaceinfo_ = new ::service_layer::SLInterface(*from.interfaceinfo_); + } else { + interfaceinfo_ = nullptr; + } + if (from._internal_has_nexthop()) { + nexthop_ = new ::service_layer::SLIpAddress(*from.nexthop_); + } else { + nexthop_ = nullptr; + } + ::memcpy(&probeinterval_, &from.probeinterval_, + static_cast(reinterpret_cast(&dscpvalue_) - + reinterpret_cast(&probeinterval_)) + sizeof(dscpvalue_)); + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasMonitor) +} + +inline void SLPerfMeasMonitor::SharedCtor() { +perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&source_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&dscpvalue_) - + reinterpret_cast(&source_)) + sizeof(dscpvalue_)); +} + +SLPerfMeasMonitor::~SLPerfMeasMonitor() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasMonitor) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasMonitor::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + perfsessionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete source_; + if (this != internal_default_instance()) delete destination_; + if (this != internal_default_instance()) delete interfaceinfo_; + if (this != internal_default_instance()) delete nexthop_; +} + +void SLPerfMeasMonitor::ArenaDtor(void* object) { + SLPerfMeasMonitor* _this = reinterpret_cast< SLPerfMeasMonitor* >(object); + (void)_this; +} +void SLPerfMeasMonitor::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasMonitor::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasMonitor::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasMonitor) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + labelstack_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + perfsessionname_.ClearNonDefaultToEmpty(); + } + if (GetArenaForAllocation() == nullptr && source_ != nullptr) { + delete source_; + } + source_ = nullptr; + if (GetArenaForAllocation() == nullptr && destination_ != nullptr) { + delete destination_; + } + destination_ = nullptr; + if (GetArenaForAllocation() == nullptr && interfaceinfo_ != nullptr) { + delete interfaceinfo_; + } + interfaceinfo_ = nullptr; + if (GetArenaForAllocation() == nullptr && nexthop_ != nullptr) { + delete nexthop_; + } + nexthop_ = nullptr; + if (cached_has_bits & 0x0000000eu) { + ::memset(&probeinterval_, 0, static_cast( + reinterpret_cast(&dscpvalue_) - + reinterpret_cast(&probeinterval_)) + sizeof(dscpvalue_)); + } + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasMonitor::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // optional string PerfSessionName = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_perfsessionname(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLPerfMeasMonitor.PerfSessionName")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLIpAddress Source = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_source(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLIpAddress Destination = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_destination(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated uint32 LabelStack = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_labelstack(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 32) { + _internal_add_labelstack(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional uint64 ProbeInterval = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + _Internal::set_has_probeinterval(&has_bits); + probeinterval_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional uint32 TimeoutCount = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + _Internal::set_has_timeoutcount(&has_bits); + timeoutcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLInterface InterfaceInfo = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_interfaceinfo(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional uint32 DscpValue = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { + _Internal::set_has_dscpvalue(&has_bits); + dscpvalue_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLIpAddress NextHop = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + ptr = ctx->ParseMessage(_internal_mutable_nexthop(), 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: + _has_bits_.Or(has_bits); + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLPerfMeasMonitor::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasMonitor) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // optional string PerfSessionName = 1; + if (_internal_has_perfsessionname()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_perfsessionname().data(), static_cast(this->_internal_perfsessionname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLPerfMeasMonitor.PerfSessionName"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_perfsessionname(), target); + } + + // .service_layer.SLIpAddress Source = 2; + if (this->_internal_has_source()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::source(this), target, stream); + } + + // .service_layer.SLIpAddress Destination = 3; + if (this->_internal_has_destination()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::destination(this), target, stream); + } + + // repeated uint32 LabelStack = 4; + { + int byte_size = _labelstack_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteUInt32Packed( + 4, _internal_labelstack(), byte_size, target); + } + } + + // optional uint64 ProbeInterval = 5; + if (_internal_has_probeinterval()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(5, this->_internal_probeinterval(), target); + } + + // optional uint32 TimeoutCount = 6; + if (_internal_has_timeoutcount()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_timeoutcount(), target); + } + + // .service_layer.SLInterface InterfaceInfo = 7; + if (this->_internal_has_interfaceinfo()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 7, _Internal::interfaceinfo(this), target, stream); + } + + // optional uint32 DscpValue = 8; + if (_internal_has_dscpvalue()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(8, this->_internal_dscpvalue(), target); + } + + // .service_layer.SLIpAddress NextHop = 9; + if (this->_internal_has_nexthop()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 9, _Internal::nexthop(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.SLPerfMeasMonitor) + return target; +} + +size_t SLPerfMeasMonitor::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasMonitor) + 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 uint32 LabelStack = 4; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + UInt32Size(this->labelstack_); + 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); + _labelstack_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + // optional string PerfSessionName = 1; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_perfsessionname()); + } + + // .service_layer.SLIpAddress Source = 2; + if (this->_internal_has_source()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *source_); + } + + // .service_layer.SLIpAddress Destination = 3; + if (this->_internal_has_destination()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *destination_); + } + + // .service_layer.SLInterface InterfaceInfo = 7; + if (this->_internal_has_interfaceinfo()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *interfaceinfo_); + } + + // .service_layer.SLIpAddress NextHop = 9; + if (this->_internal_has_nexthop()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *nexthop_); + } + + if (cached_has_bits & 0x0000000eu) { + // optional uint64 ProbeInterval = 5; + if (cached_has_bits & 0x00000002u) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_probeinterval()); + } + + // optional uint32 TimeoutCount = 6; + if (cached_has_bits & 0x00000004u) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_timeoutcount()); + } + + // optional uint32 DscpValue = 8; + if (cached_has_bits & 0x00000008u) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_dscpvalue()); + } + + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasMonitor::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasMonitor::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasMonitor::GetClassData() const { return &_class_data_; } + +void SLPerfMeasMonitor::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasMonitor::MergeFrom(const SLPerfMeasMonitor& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasMonitor) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + labelstack_.MergeFrom(from.labelstack_); + if (from._internal_has_perfsessionname()) { + _internal_set_perfsessionname(from._internal_perfsessionname()); + } + if (from._internal_has_source()) { + _internal_mutable_source()->::service_layer::SLIpAddress::MergeFrom(from._internal_source()); + } + if (from._internal_has_destination()) { + _internal_mutable_destination()->::service_layer::SLIpAddress::MergeFrom(from._internal_destination()); + } + if (from._internal_has_interfaceinfo()) { + _internal_mutable_interfaceinfo()->::service_layer::SLInterface::MergeFrom(from._internal_interfaceinfo()); + } + if (from._internal_has_nexthop()) { + _internal_mutable_nexthop()->::service_layer::SLIpAddress::MergeFrom(from._internal_nexthop()); + } + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x0000000eu) { + if (cached_has_bits & 0x00000002u) { + probeinterval_ = from.probeinterval_; + } + if (cached_has_bits & 0x00000004u) { + timeoutcount_ = from.timeoutcount_; + } + if (cached_has_bits & 0x00000008u) { + dscpvalue_ = from.dscpvalue_; + } + _has_bits_[0] |= cached_has_bits; + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasMonitor::CopyFrom(const SLPerfMeasMonitor& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasMonitor) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasMonitor::IsInitialized() const { + return true; +} + +void SLPerfMeasMonitor::InternalSwap(SLPerfMeasMonitor* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + labelstack_.InternalSwap(&other->labelstack_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &perfsessionname_, lhs_arena, + &other->perfsessionname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLPerfMeasMonitor, dscpvalue_) + + sizeof(SLPerfMeasMonitor::dscpvalue_) + - PROTOBUF_FIELD_OFFSET(SLPerfMeasMonitor, source_)>( + reinterpret_cast(&source_), + reinterpret_cast(&other->source_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasMonitor::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[0]); +} + +// =================================================================== + +class SLPerfMeasStats::_Internal { + public: +}; + +SLPerfMeasStats::SLPerfMeasStats(::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.SLPerfMeasStats) +} +SLPerfMeasStats::SLPerfMeasStats(const SLPerfMeasStats& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&probessent_, &from.probessent_, + static_cast(reinterpret_cast(&state_) - + reinterpret_cast(&probessent_)) + sizeof(state_)); + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasStats) +} + +inline void SLPerfMeasStats::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&probessent_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&state_) - + reinterpret_cast(&probessent_)) + sizeof(state_)); +} + +SLPerfMeasStats::~SLPerfMeasStats() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasStats) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasStats::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void SLPerfMeasStats::ArenaDtor(void* object) { + SLPerfMeasStats* _this = reinterpret_cast< SLPerfMeasStats* >(object); + (void)_this; +} +void SLPerfMeasStats::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasStats::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasStats::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasStats) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&probessent_, 0, static_cast( + reinterpret_cast(&state_) - + reinterpret_cast(&probessent_)) + sizeof(state_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasStats::_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.SLPerfMeasSessionState State = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_state(static_cast<::service_layer::SLPerfMeasSessionState>(val)); + } else + goto handle_unusual; + continue; + // uint64 ProbesSent = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + probessent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 ProbesReceived = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + probesreceived_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 MinRtt = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + minrtt_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 MaxRtt = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + maxrtt_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 AvgRtt = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + avgrtt_ = ::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* SLPerfMeasStats::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasStats) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLPerfMeasSessionState State = 1; + if (this->_internal_state() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 1, this->_internal_state(), target); + } + + // uint64 ProbesSent = 2; + if (this->_internal_probessent() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_probessent(), target); + } + + // uint64 ProbesReceived = 3; + if (this->_internal_probesreceived() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_probesreceived(), target); + } + + // uint64 MinRtt = 4; + if (this->_internal_minrtt() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(4, this->_internal_minrtt(), target); + } + + // uint64 MaxRtt = 5; + if (this->_internal_maxrtt() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(5, this->_internal_maxrtt(), target); + } + + // uint64 AvgRtt = 6; + if (this->_internal_avgrtt() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(6, this->_internal_avgrtt(), 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.SLPerfMeasStats) + return target; +} + +size_t SLPerfMeasStats::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasStats) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // uint64 ProbesSent = 2; + if (this->_internal_probessent() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_probessent()); + } + + // uint64 ProbesReceived = 3; + if (this->_internal_probesreceived() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_probesreceived()); + } + + // uint64 MinRtt = 4; + if (this->_internal_minrtt() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_minrtt()); + } + + // uint64 MaxRtt = 5; + if (this->_internal_maxrtt() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_maxrtt()); + } + + // uint64 AvgRtt = 6; + if (this->_internal_avgrtt() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_avgrtt()); + } + + // .service_layer.SLPerfMeasSessionState State = 1; + if (this->_internal_state() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_state()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasStats::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasStats::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasStats::GetClassData() const { return &_class_data_; } + +void SLPerfMeasStats::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasStats::MergeFrom(const SLPerfMeasStats& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasStats) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_probessent() != 0) { + _internal_set_probessent(from._internal_probessent()); + } + if (from._internal_probesreceived() != 0) { + _internal_set_probesreceived(from._internal_probesreceived()); + } + if (from._internal_minrtt() != 0) { + _internal_set_minrtt(from._internal_minrtt()); + } + if (from._internal_maxrtt() != 0) { + _internal_set_maxrtt(from._internal_maxrtt()); + } + if (from._internal_avgrtt() != 0) { + _internal_set_avgrtt(from._internal_avgrtt()); + } + if (from._internal_state() != 0) { + _internal_set_state(from._internal_state()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasStats::CopyFrom(const SLPerfMeasStats& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasStats) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasStats::IsInitialized() const { + return true; +} + +void SLPerfMeasStats::InternalSwap(SLPerfMeasStats* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLPerfMeasStats, state_) + + sizeof(SLPerfMeasStats::state_) + - PROTOBUF_FIELD_OFFSET(SLPerfMeasStats, probessent_)>( + reinterpret_cast(&probessent_), + reinterpret_cast(&other->probessent_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasStats::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[1]); +} + +// =================================================================== + +class SLPerfMeasReqMsgEntry::_Internal { + public: + static const ::service_layer::SLPerfMeasMonitor& parameters(const SLPerfMeasReqMsgEntry* msg); +}; + +const ::service_layer::SLPerfMeasMonitor& +SLPerfMeasReqMsgEntry::_Internal::parameters(const SLPerfMeasReqMsgEntry* msg) { + return *msg->Value_.parameters_; +} +void SLPerfMeasReqMsgEntry::set_allocated_parameters(::service_layer::SLPerfMeasMonitor* parameters) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_Value(); + if (parameters) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPerfMeasMonitor>::GetOwningArena(parameters); + if (message_arena != submessage_arena) { + parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, parameters, submessage_arena); + } + set_has_parameters(); + Value_.parameters_ = parameters; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasReqMsgEntry.Parameters) +} +SLPerfMeasReqMsgEntry::SLPerfMeasReqMsgEntry(::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.SLPerfMeasReqMsgEntry) +} +SLPerfMeasReqMsgEntry::SLPerfMeasReqMsgEntry(const SLPerfMeasReqMsgEntry& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&operationid_, &from.operationid_, + static_cast(reinterpret_cast(&msgtype_) - + reinterpret_cast(&operationid_)) + sizeof(msgtype_)); + clear_has_Value(); + switch (from.Value_case()) { + case kPerfSessionName: { + _internal_set_perfsessionname(from._internal_perfsessionname()); + break; + } + case kParameters: { + _internal_mutable_parameters()->::service_layer::SLPerfMeasMonitor::MergeFrom(from._internal_parameters()); + break; + } + case VALUE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasReqMsgEntry) +} + +inline void SLPerfMeasReqMsgEntry::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&operationid_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&msgtype_) - + reinterpret_cast(&operationid_)) + sizeof(msgtype_)); +clear_has_Value(); +} + +SLPerfMeasReqMsgEntry::~SLPerfMeasReqMsgEntry() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasReqMsgEntry) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasReqMsgEntry::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_Value()) { + clear_Value(); + } +} + +void SLPerfMeasReqMsgEntry::ArenaDtor(void* object) { + SLPerfMeasReqMsgEntry* _this = reinterpret_cast< SLPerfMeasReqMsgEntry* >(object); + (void)_this; +} +void SLPerfMeasReqMsgEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasReqMsgEntry::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasReqMsgEntry::clear_Value() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLPerfMeasReqMsgEntry) + switch (Value_case()) { + case kPerfSessionName: { + Value_.perfsessionname_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + break; + } + case kParameters: { + if (GetArenaForAllocation() == nullptr) { + delete Value_.parameters_; + } + break; + } + case VALUE_NOT_SET: { + break; + } + } + _oneof_case_[0] = VALUE_NOT_SET; +} + + +void SLPerfMeasReqMsgEntry::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasReqMsgEntry) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&operationid_, 0, static_cast( + reinterpret_cast(&msgtype_) - + reinterpret_cast(&operationid_)) + sizeof(msgtype_)); + clear_Value(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasReqMsgEntry::_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 OperationId = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPerfMeasMsgType MsgType = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_msgtype(static_cast<::service_layer::SLPerfMeasMsgType>(val)); + } else + goto handle_unusual; + continue; + // string PerfSessionName = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_perfsessionname(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLPerfMeasReqMsgEntry.PerfSessionName")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPerfMeasMonitor Parameters = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_parameters(), 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* SLPerfMeasReqMsgEntry::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasReqMsgEntry) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 OperationId = 1; + if (this->_internal_operationid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_operationid(), target); + } + + // .service_layer.SLPerfMeasMsgType MsgType = 2; + if (this->_internal_msgtype() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 2, this->_internal_msgtype(), target); + } + + // string PerfSessionName = 3; + if (_internal_has_perfsessionname()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_perfsessionname().data(), static_cast(this->_internal_perfsessionname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLPerfMeasReqMsgEntry.PerfSessionName"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_perfsessionname(), target); + } + + // .service_layer.SLPerfMeasMonitor Parameters = 4; + if (_internal_has_parameters()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 4, _Internal::parameters(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.SLPerfMeasReqMsgEntry) + return target; +} + +size_t SLPerfMeasReqMsgEntry::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasReqMsgEntry) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // uint64 OperationId = 1; + if (this->_internal_operationid() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); + } + + // .service_layer.SLPerfMeasMsgType MsgType = 2; + if (this->_internal_msgtype() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_msgtype()); + } + + switch (Value_case()) { + // string PerfSessionName = 3; + case kPerfSessionName: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_perfsessionname()); + break; + } + // .service_layer.SLPerfMeasMonitor Parameters = 4; + case kParameters: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *Value_.parameters_); + break; + } + case VALUE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasReqMsgEntry::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasReqMsgEntry::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasReqMsgEntry::GetClassData() const { return &_class_data_; } + +void SLPerfMeasReqMsgEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasReqMsgEntry::MergeFrom(const SLPerfMeasReqMsgEntry& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasReqMsgEntry) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_operationid() != 0) { + _internal_set_operationid(from._internal_operationid()); + } + if (from._internal_msgtype() != 0) { + _internal_set_msgtype(from._internal_msgtype()); + } + switch (from.Value_case()) { + case kPerfSessionName: { + _internal_set_perfsessionname(from._internal_perfsessionname()); + break; + } + case kParameters: { + _internal_mutable_parameters()->::service_layer::SLPerfMeasMonitor::MergeFrom(from._internal_parameters()); + break; + } + case VALUE_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasReqMsgEntry::CopyFrom(const SLPerfMeasReqMsgEntry& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasReqMsgEntry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasReqMsgEntry::IsInitialized() const { + return true; +} + +void SLPerfMeasReqMsgEntry::InternalSwap(SLPerfMeasReqMsgEntry* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLPerfMeasReqMsgEntry, msgtype_) + + sizeof(SLPerfMeasReqMsgEntry::msgtype_) + - PROTOBUF_FIELD_OFFSET(SLPerfMeasReqMsgEntry, operationid_)>( + reinterpret_cast(&operationid_), + reinterpret_cast(&other->operationid_)); + swap(Value_, other->Value_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasReqMsgEntry::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[2]); +} + +// =================================================================== + +class SLPerfMeasReqMsg::_Internal { + public: +}; + +SLPerfMeasReqMsg::SLPerfMeasReqMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + entries_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLPerfMeasReqMsg) +} +SLPerfMeasReqMsg::SLPerfMeasReqMsg(const SLPerfMeasReqMsg& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + entries_(from.entries_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasReqMsg) +} + +inline void SLPerfMeasReqMsg::SharedCtor() { +} + +SLPerfMeasReqMsg::~SLPerfMeasReqMsg() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasReqMsg) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasReqMsg::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void SLPerfMeasReqMsg::ArenaDtor(void* object) { + SLPerfMeasReqMsg* _this = reinterpret_cast< SLPerfMeasReqMsg* >(object); + (void)_this; +} +void SLPerfMeasReqMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasReqMsg::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasReqMsg::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasReqMsg) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + entries_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasReqMsg::_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.SLPerfMeasReqMsgEntry Entries = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_entries(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(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* SLPerfMeasReqMsg::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasReqMsg) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .service_layer.SLPerfMeasReqMsgEntry Entries = 1; + for (unsigned int i = 0, + n = static_cast(this->_internal_entries_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, this->_internal_entries(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.SLPerfMeasReqMsg) + return target; +} + +size_t SLPerfMeasReqMsg::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasReqMsg) + 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.SLPerfMeasReqMsgEntry Entries = 1; + total_size += 1UL * this->_internal_entries_size(); + for (const auto& msg : this->entries_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasReqMsg::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasReqMsg::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasReqMsg::GetClassData() const { return &_class_data_; } + +void SLPerfMeasReqMsg::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasReqMsg::MergeFrom(const SLPerfMeasReqMsg& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasReqMsg) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + entries_.MergeFrom(from.entries_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasReqMsg::CopyFrom(const SLPerfMeasReqMsg& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasReqMsg) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasReqMsg::IsInitialized() const { + return true; +} + +void SLPerfMeasReqMsg::InternalSwap(SLPerfMeasReqMsg* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + entries_.InternalSwap(&other->entries_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasReqMsg::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[3]); +} + +// =================================================================== + +class SLPerfMeasRespErrMsgEntry::_Internal { + public: + static const ::service_layer::SLErrorStatus& errstatus(const SLPerfMeasRespErrMsgEntry* msg); +}; + +const ::service_layer::SLErrorStatus& +SLPerfMeasRespErrMsgEntry::_Internal::errstatus(const SLPerfMeasRespErrMsgEntry* msg) { + return *msg->errstatus_; +} +void SLPerfMeasRespErrMsgEntry::clear_errstatus() { + if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { + delete errstatus_; + } + errstatus_ = nullptr; +} +SLPerfMeasRespErrMsgEntry::SLPerfMeasRespErrMsgEntry(::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.SLPerfMeasRespErrMsgEntry) +} +SLPerfMeasRespErrMsgEntry::SLPerfMeasRespErrMsgEntry(const SLPerfMeasRespErrMsgEntry& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_perfsessionname().empty()) { + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_perfsessionname(), + GetArenaForAllocation()); + } + if (from._internal_has_errstatus()) { + errstatus_ = new ::service_layer::SLErrorStatus(*from.errstatus_); + } else { + errstatus_ = nullptr; + } + operationid_ = from.operationid_; + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasRespErrMsgEntry) +} + +inline void SLPerfMeasRespErrMsgEntry::SharedCtor() { +perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.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)), + 0, static_cast(reinterpret_cast(&operationid_) - + reinterpret_cast(&errstatus_)) + sizeof(operationid_)); +} + +SLPerfMeasRespErrMsgEntry::~SLPerfMeasRespErrMsgEntry() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasRespErrMsgEntry) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasRespErrMsgEntry::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + perfsessionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete errstatus_; +} + +void SLPerfMeasRespErrMsgEntry::ArenaDtor(void* object) { + SLPerfMeasRespErrMsgEntry* _this = reinterpret_cast< SLPerfMeasRespErrMsgEntry* >(object); + (void)_this; +} +void SLPerfMeasRespErrMsgEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasRespErrMsgEntry::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasRespErrMsgEntry::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasRespErrMsgEntry) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + perfsessionname_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && errstatus_ != nullptr) { + delete errstatus_; + } + errstatus_ = nullptr; + operationid_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasRespErrMsgEntry::_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 OperationId = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLErrorStatus ErrStatus = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_errstatus(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string PerfSessionName = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_perfsessionname(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName")); + 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* SLPerfMeasRespErrMsgEntry::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasRespErrMsgEntry) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 OperationId = 1; + if (this->_internal_operationid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_operationid(), target); + } + + // .service_layer.SLErrorStatus ErrStatus = 2; + if (this->_internal_has_errstatus()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::errstatus(this), target, stream); + } + + // string PerfSessionName = 3; + if (!this->_internal_perfsessionname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_perfsessionname().data(), static_cast(this->_internal_perfsessionname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_perfsessionname(), 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.SLPerfMeasRespErrMsgEntry) + return target; +} + +size_t SLPerfMeasRespErrMsgEntry::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasRespErrMsgEntry) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string PerfSessionName = 3; + if (!this->_internal_perfsessionname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_perfsessionname()); + } + + // .service_layer.SLErrorStatus ErrStatus = 2; + if (this->_internal_has_errstatus()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *errstatus_); + } + + // uint64 OperationId = 1; + if (this->_internal_operationid() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasRespErrMsgEntry::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasRespErrMsgEntry::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasRespErrMsgEntry::GetClassData() const { return &_class_data_; } + +void SLPerfMeasRespErrMsgEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasRespErrMsgEntry::MergeFrom(const SLPerfMeasRespErrMsgEntry& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasRespErrMsgEntry) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_perfsessionname().empty()) { + _internal_set_perfsessionname(from._internal_perfsessionname()); + } + if (from._internal_has_errstatus()) { + _internal_mutable_errstatus()->::service_layer::SLErrorStatus::MergeFrom(from._internal_errstatus()); + } + if (from._internal_operationid() != 0) { + _internal_set_operationid(from._internal_operationid()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasRespErrMsgEntry::CopyFrom(const SLPerfMeasRespErrMsgEntry& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasRespErrMsgEntry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasRespErrMsgEntry::IsInitialized() const { + return true; +} + +void SLPerfMeasRespErrMsgEntry::InternalSwap(SLPerfMeasRespErrMsgEntry* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &perfsessionname_, lhs_arena, + &other->perfsessionname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLPerfMeasRespErrMsgEntry, operationid_) + + sizeof(SLPerfMeasRespErrMsgEntry::operationid_) + - PROTOBUF_FIELD_OFFSET(SLPerfMeasRespErrMsgEntry, errstatus_)>( + reinterpret_cast(&errstatus_), + reinterpret_cast(&other->errstatus_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasRespErrMsgEntry::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[4]); +} + +// =================================================================== + +class SLPerfMeasRespDataMsgEntry::_Internal { + public: + static const ::service_layer::SLPerfMeasStats& stats(const SLPerfMeasRespDataMsgEntry* msg); + static const ::service_layer::SLPerfMeasMonitor& info(const SLPerfMeasRespDataMsgEntry* msg); +}; + +const ::service_layer::SLPerfMeasStats& +SLPerfMeasRespDataMsgEntry::_Internal::stats(const SLPerfMeasRespDataMsgEntry* msg) { + return *msg->Data_.stats_; +} +const ::service_layer::SLPerfMeasMonitor& +SLPerfMeasRespDataMsgEntry::_Internal::info(const SLPerfMeasRespDataMsgEntry* msg) { + return *msg->Data_.info_; +} +void SLPerfMeasRespDataMsgEntry::set_allocated_stats(::service_layer::SLPerfMeasStats* stats) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_Data(); + if (stats) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPerfMeasStats>::GetOwningArena(stats); + if (message_arena != submessage_arena) { + stats = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, stats, submessage_arena); + } + set_has_stats(); + Data_.stats_ = stats; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespDataMsgEntry.Stats) +} +void SLPerfMeasRespDataMsgEntry::set_allocated_info(::service_layer::SLPerfMeasMonitor* info) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_Data(); + if (info) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPerfMeasMonitor>::GetOwningArena(info); + if (message_arena != submessage_arena) { + info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, info, submessage_arena); + } + set_has_info(); + Data_.info_ = info; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespDataMsgEntry.Info) +} +SLPerfMeasRespDataMsgEntry::SLPerfMeasRespDataMsgEntry(::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.SLPerfMeasRespDataMsgEntry) +} +SLPerfMeasRespDataMsgEntry::SLPerfMeasRespDataMsgEntry(const SLPerfMeasRespDataMsgEntry& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_perfsessionname().empty()) { + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_perfsessionname(), + GetArenaForAllocation()); + } + ::memcpy(&operationid_, &from.operationid_, + static_cast(reinterpret_cast(&msgtype_) - + reinterpret_cast(&operationid_)) + sizeof(msgtype_)); + clear_has_Data(); + switch (from.Data_case()) { + case kStats: { + _internal_mutable_stats()->::service_layer::SLPerfMeasStats::MergeFrom(from._internal_stats()); + break; + } + case kInfo: { + _internal_mutable_info()->::service_layer::SLPerfMeasMonitor::MergeFrom(from._internal_info()); + break; + } + case DATA_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasRespDataMsgEntry) +} + +inline void SLPerfMeasRespDataMsgEntry::SharedCtor() { +perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&operationid_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&msgtype_) - + reinterpret_cast(&operationid_)) + sizeof(msgtype_)); +clear_has_Data(); +} + +SLPerfMeasRespDataMsgEntry::~SLPerfMeasRespDataMsgEntry() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasRespDataMsgEntry) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasRespDataMsgEntry::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + perfsessionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (has_Data()) { + clear_Data(); + } +} + +void SLPerfMeasRespDataMsgEntry::ArenaDtor(void* object) { + SLPerfMeasRespDataMsgEntry* _this = reinterpret_cast< SLPerfMeasRespDataMsgEntry* >(object); + (void)_this; +} +void SLPerfMeasRespDataMsgEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasRespDataMsgEntry::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasRespDataMsgEntry::clear_Data() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLPerfMeasRespDataMsgEntry) + switch (Data_case()) { + case kStats: { + if (GetArenaForAllocation() == nullptr) { + delete Data_.stats_; + } + break; + } + case kInfo: { + if (GetArenaForAllocation() == nullptr) { + delete Data_.info_; + } + break; + } + case DATA_NOT_SET: { + break; + } + } + _oneof_case_[0] = DATA_NOT_SET; +} + + +void SLPerfMeasRespDataMsgEntry::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasRespDataMsgEntry) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + perfsessionname_.ClearToEmpty(); + ::memset(&operationid_, 0, static_cast( + reinterpret_cast(&msgtype_) - + reinterpret_cast(&operationid_)) + sizeof(msgtype_)); + clear_Data(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasRespDataMsgEntry::_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.SLPerfMeasMsgType MsgType = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_msgtype(static_cast<::service_layer::SLPerfMeasMsgType>(val)); + } else + goto handle_unusual; + continue; + // string PerfSessionName = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_perfsessionname(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 OperationId = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + operationid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPerfMeasStats Stats = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_stats(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPerfMeasMonitor Info = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_info(), 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* SLPerfMeasRespDataMsgEntry::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasRespDataMsgEntry) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLPerfMeasMsgType MsgType = 1; + if (this->_internal_msgtype() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 1, this->_internal_msgtype(), target); + } + + // string PerfSessionName = 2; + if (!this->_internal_perfsessionname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_perfsessionname().data(), static_cast(this->_internal_perfsessionname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_perfsessionname(), target); + } + + // 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.SLPerfMeasStats Stats = 4; + if (_internal_has_stats()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 4, _Internal::stats(this), target, stream); + } + + // .service_layer.SLPerfMeasMonitor Info = 5; + if (_internal_has_info()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 5, _Internal::info(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.SLPerfMeasRespDataMsgEntry) + return target; +} + +size_t SLPerfMeasRespDataMsgEntry::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasRespDataMsgEntry) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string PerfSessionName = 2; + if (!this->_internal_perfsessionname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_perfsessionname()); + } + + // uint64 OperationId = 3; + if (this->_internal_operationid() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_operationid()); + } + + // .service_layer.SLPerfMeasMsgType MsgType = 1; + if (this->_internal_msgtype() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_msgtype()); + } + + switch (Data_case()) { + // .service_layer.SLPerfMeasStats Stats = 4; + case kStats: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *Data_.stats_); + break; + } + // .service_layer.SLPerfMeasMonitor Info = 5; + case kInfo: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *Data_.info_); + break; + } + case DATA_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasRespDataMsgEntry::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasRespDataMsgEntry::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasRespDataMsgEntry::GetClassData() const { return &_class_data_; } + +void SLPerfMeasRespDataMsgEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasRespDataMsgEntry::MergeFrom(const SLPerfMeasRespDataMsgEntry& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasRespDataMsgEntry) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_perfsessionname().empty()) { + _internal_set_perfsessionname(from._internal_perfsessionname()); + } + if (from._internal_operationid() != 0) { + _internal_set_operationid(from._internal_operationid()); + } + if (from._internal_msgtype() != 0) { + _internal_set_msgtype(from._internal_msgtype()); + } + switch (from.Data_case()) { + case kStats: { + _internal_mutable_stats()->::service_layer::SLPerfMeasStats::MergeFrom(from._internal_stats()); + break; + } + case kInfo: { + _internal_mutable_info()->::service_layer::SLPerfMeasMonitor::MergeFrom(from._internal_info()); + break; + } + case DATA_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasRespDataMsgEntry::CopyFrom(const SLPerfMeasRespDataMsgEntry& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasRespDataMsgEntry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasRespDataMsgEntry::IsInitialized() const { + return true; +} + +void SLPerfMeasRespDataMsgEntry::InternalSwap(SLPerfMeasRespDataMsgEntry* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &perfsessionname_, lhs_arena, + &other->perfsessionname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SLPerfMeasRespDataMsgEntry, msgtype_) + + sizeof(SLPerfMeasRespDataMsgEntry::msgtype_) + - PROTOBUF_FIELD_OFFSET(SLPerfMeasRespDataMsgEntry, operationid_)>( + reinterpret_cast(&operationid_), + reinterpret_cast(&other->operationid_)); + swap(Data_, other->Data_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasRespDataMsgEntry::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[5]); +} + +// =================================================================== + +class SLPerfMeasRespStateMsgEntry::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_perfsessionname(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +SLPerfMeasRespStateMsgEntry::SLPerfMeasRespStateMsgEntry(::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.SLPerfMeasRespStateMsgEntry) +} +SLPerfMeasRespStateMsgEntry::SLPerfMeasRespStateMsgEntry(const SLPerfMeasRespStateMsgEntry& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_perfsessionname()) { + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_perfsessionname(), + GetArenaForAllocation()); + } + state_ = from.state_; + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasRespStateMsgEntry) +} + +inline void SLPerfMeasRespStateMsgEntry::SharedCtor() { +perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +state_ = 0; +} + +SLPerfMeasRespStateMsgEntry::~SLPerfMeasRespStateMsgEntry() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasRespStateMsgEntry) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasRespStateMsgEntry::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + perfsessionname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void SLPerfMeasRespStateMsgEntry::ArenaDtor(void* object) { + SLPerfMeasRespStateMsgEntry* _this = reinterpret_cast< SLPerfMeasRespStateMsgEntry* >(object); + (void)_this; +} +void SLPerfMeasRespStateMsgEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasRespStateMsgEntry::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasRespStateMsgEntry::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasRespStateMsgEntry) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + perfsessionname_.ClearNonDefaultToEmpty(); + } + state_ = 0; + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasRespStateMsgEntry::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service_layer.SLPerfMeasSessionState State = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_state(static_cast<::service_layer::SLPerfMeasSessionState>(val)); + } else + goto handle_unusual; + continue; + // optional string PerfSessionName = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_perfsessionname(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName")); + 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: + _has_bits_.Or(has_bits); + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* SLPerfMeasRespStateMsgEntry::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasRespStateMsgEntry) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLPerfMeasSessionState State = 1; + if (this->_internal_state() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 1, this->_internal_state(), target); + } + + // optional string PerfSessionName = 2; + if (_internal_has_perfsessionname()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_perfsessionname().data(), static_cast(this->_internal_perfsessionname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_perfsessionname(), 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.SLPerfMeasRespStateMsgEntry) + return target; +} + +size_t SLPerfMeasRespStateMsgEntry::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasRespStateMsgEntry) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // optional string PerfSessionName = 2; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_perfsessionname()); + } + + // .service_layer.SLPerfMeasSessionState State = 1; + if (this->_internal_state() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_state()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasRespStateMsgEntry::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasRespStateMsgEntry::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasRespStateMsgEntry::GetClassData() const { return &_class_data_; } + +void SLPerfMeasRespStateMsgEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasRespStateMsgEntry::MergeFrom(const SLPerfMeasRespStateMsgEntry& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasRespStateMsgEntry) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_perfsessionname()) { + _internal_set_perfsessionname(from._internal_perfsessionname()); + } + if (from._internal_state() != 0) { + _internal_set_state(from._internal_state()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasRespStateMsgEntry::CopyFrom(const SLPerfMeasRespStateMsgEntry& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasRespStateMsgEntry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasRespStateMsgEntry::IsInitialized() const { + return true; +} + +void SLPerfMeasRespStateMsgEntry::InternalSwap(SLPerfMeasRespStateMsgEntry* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &perfsessionname_, lhs_arena, + &other->perfsessionname_, rhs_arena + ); + swap(state_, other->state_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasRespStateMsgEntry::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[6]); +} + +// =================================================================== + +class SLPerfMeasRespMsgEntry::_Internal { + public: + static const ::service_layer::SLPerfMeasRespErrMsgEntry& error(const SLPerfMeasRespMsgEntry* msg); + static const ::service_layer::SLPerfMeasRespDataMsgEntry& sessiondetail(const SLPerfMeasRespMsgEntry* msg); + static const ::service_layer::SLPerfMeasRespStateMsgEntry& sessionstate(const SLPerfMeasRespMsgEntry* msg); +}; + +const ::service_layer::SLPerfMeasRespErrMsgEntry& +SLPerfMeasRespMsgEntry::_Internal::error(const SLPerfMeasRespMsgEntry* msg) { + return *msg->Event_.error_; +} +const ::service_layer::SLPerfMeasRespDataMsgEntry& +SLPerfMeasRespMsgEntry::_Internal::sessiondetail(const SLPerfMeasRespMsgEntry* msg) { + return *msg->Event_.sessiondetail_; +} +const ::service_layer::SLPerfMeasRespStateMsgEntry& +SLPerfMeasRespMsgEntry::_Internal::sessionstate(const SLPerfMeasRespMsgEntry* msg) { + return *msg->Event_.sessionstate_; +} +void SLPerfMeasRespMsgEntry::set_allocated_error(::service_layer::SLPerfMeasRespErrMsgEntry* error) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_Event(); + if (error) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPerfMeasRespErrMsgEntry>::GetOwningArena(error); + if (message_arena != submessage_arena) { + error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, error, submessage_arena); + } + set_has_error(); + Event_.error_ = error; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespMsgEntry.Error) +} +void SLPerfMeasRespMsgEntry::set_allocated_sessiondetail(::service_layer::SLPerfMeasRespDataMsgEntry* sessiondetail) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_Event(); + if (sessiondetail) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPerfMeasRespDataMsgEntry>::GetOwningArena(sessiondetail); + if (message_arena != submessage_arena) { + sessiondetail = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, sessiondetail, submessage_arena); + } + set_has_sessiondetail(); + Event_.sessiondetail_ = sessiondetail; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespMsgEntry.SessionDetail) +} +void SLPerfMeasRespMsgEntry::set_allocated_sessionstate(::service_layer::SLPerfMeasRespStateMsgEntry* sessionstate) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_Event(); + if (sessionstate) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPerfMeasRespStateMsgEntry>::GetOwningArena(sessionstate); + if (message_arena != submessage_arena) { + sessionstate = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, sessionstate, submessage_arena); + } + set_has_sessionstate(); + Event_.sessionstate_ = sessionstate; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespMsgEntry.SessionState) +} +SLPerfMeasRespMsgEntry::SLPerfMeasRespMsgEntry(::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.SLPerfMeasRespMsgEntry) +} +SLPerfMeasRespMsgEntry::SLPerfMeasRespMsgEntry(const SLPerfMeasRespMsgEntry& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_Event(); + switch (from.Event_case()) { + case kError: { + _internal_mutable_error()->::service_layer::SLPerfMeasRespErrMsgEntry::MergeFrom(from._internal_error()); + break; + } + case kSessionDetail: { + _internal_mutable_sessiondetail()->::service_layer::SLPerfMeasRespDataMsgEntry::MergeFrom(from._internal_sessiondetail()); + break; + } + case kSessionState: { + _internal_mutable_sessionstate()->::service_layer::SLPerfMeasRespStateMsgEntry::MergeFrom(from._internal_sessionstate()); + break; + } + case EVENT_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasRespMsgEntry) +} + +inline void SLPerfMeasRespMsgEntry::SharedCtor() { +clear_has_Event(); +} + +SLPerfMeasRespMsgEntry::~SLPerfMeasRespMsgEntry() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasRespMsgEntry) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasRespMsgEntry::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_Event()) { + clear_Event(); + } +} + +void SLPerfMeasRespMsgEntry::ArenaDtor(void* object) { + SLPerfMeasRespMsgEntry* _this = reinterpret_cast< SLPerfMeasRespMsgEntry* >(object); + (void)_this; +} +void SLPerfMeasRespMsgEntry::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasRespMsgEntry::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasRespMsgEntry::clear_Event() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLPerfMeasRespMsgEntry) + switch (Event_case()) { + case kError: { + if (GetArenaForAllocation() == nullptr) { + delete Event_.error_; + } + break; + } + case kSessionDetail: { + if (GetArenaForAllocation() == nullptr) { + delete Event_.sessiondetail_; + } + break; + } + case kSessionState: { + if (GetArenaForAllocation() == nullptr) { + delete Event_.sessionstate_; + } + break; + } + case EVENT_NOT_SET: { + break; + } + } + _oneof_case_[0] = EVENT_NOT_SET; +} + + +void SLPerfMeasRespMsgEntry::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasRespMsgEntry) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_Event(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasRespMsgEntry::_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.SLPerfMeasRespErrMsgEntry Error = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_error(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPerfMeasRespDataMsgEntry SessionDetail = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_sessiondetail(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service_layer.SLPerfMeasRespStateMsgEntry SessionState = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_sessionstate(), 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* SLPerfMeasRespMsgEntry::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasRespMsgEntry) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLPerfMeasRespErrMsgEntry Error = 1; + if (_internal_has_error()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::error(this), target, stream); + } + + // .service_layer.SLPerfMeasRespDataMsgEntry SessionDetail = 2; + if (_internal_has_sessiondetail()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::sessiondetail(this), target, stream); + } + + // .service_layer.SLPerfMeasRespStateMsgEntry SessionState = 3; + if (_internal_has_sessionstate()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::sessionstate(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.SLPerfMeasRespMsgEntry) + return target; +} + +size_t SLPerfMeasRespMsgEntry::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasRespMsgEntry) + 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 (Event_case()) { + // .service_layer.SLPerfMeasRespErrMsgEntry Error = 1; + case kError: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *Event_.error_); + break; + } + // .service_layer.SLPerfMeasRespDataMsgEntry SessionDetail = 2; + case kSessionDetail: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *Event_.sessiondetail_); + break; + } + // .service_layer.SLPerfMeasRespStateMsgEntry SessionState = 3; + case kSessionState: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *Event_.sessionstate_); + break; + } + case EVENT_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasRespMsgEntry::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasRespMsgEntry::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasRespMsgEntry::GetClassData() const { return &_class_data_; } + +void SLPerfMeasRespMsgEntry::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasRespMsgEntry::MergeFrom(const SLPerfMeasRespMsgEntry& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasRespMsgEntry) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.Event_case()) { + case kError: { + _internal_mutable_error()->::service_layer::SLPerfMeasRespErrMsgEntry::MergeFrom(from._internal_error()); + break; + } + case kSessionDetail: { + _internal_mutable_sessiondetail()->::service_layer::SLPerfMeasRespDataMsgEntry::MergeFrom(from._internal_sessiondetail()); + break; + } + case kSessionState: { + _internal_mutable_sessionstate()->::service_layer::SLPerfMeasRespStateMsgEntry::MergeFrom(from._internal_sessionstate()); + break; + } + case EVENT_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasRespMsgEntry::CopyFrom(const SLPerfMeasRespMsgEntry& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasRespMsgEntry) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasRespMsgEntry::IsInitialized() const { + return true; +} + +void SLPerfMeasRespMsgEntry::InternalSwap(SLPerfMeasRespMsgEntry* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(Event_, other->Event_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasRespMsgEntry::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[7]); +} + +// =================================================================== + +class SLPerfMeasRespMsg::_Internal { + public: +}; + +SLPerfMeasRespMsg::SLPerfMeasRespMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + entries_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLPerfMeasRespMsg) +} +SLPerfMeasRespMsg::SLPerfMeasRespMsg(const SLPerfMeasRespMsg& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + entries_(from.entries_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:service_layer.SLPerfMeasRespMsg) +} + +inline void SLPerfMeasRespMsg::SharedCtor() { +} + +SLPerfMeasRespMsg::~SLPerfMeasRespMsg() { + // @@protoc_insertion_point(destructor:service_layer.SLPerfMeasRespMsg) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPerfMeasRespMsg::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void SLPerfMeasRespMsg::ArenaDtor(void* object) { + SLPerfMeasRespMsg* _this = reinterpret_cast< SLPerfMeasRespMsg* >(object); + (void)_this; +} +void SLPerfMeasRespMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPerfMeasRespMsg::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPerfMeasRespMsg::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPerfMeasRespMsg) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + entries_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPerfMeasRespMsg::_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.SLPerfMeasRespMsgEntry Entries = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_entries(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(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* SLPerfMeasRespMsg::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPerfMeasRespMsg) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .service_layer.SLPerfMeasRespMsgEntry Entries = 1; + for (unsigned int i = 0, + n = static_cast(this->_internal_entries_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, this->_internal_entries(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.SLPerfMeasRespMsg) + return target; +} + +size_t SLPerfMeasRespMsg::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPerfMeasRespMsg) + 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.SLPerfMeasRespMsgEntry Entries = 1; + total_size += 1UL * this->_internal_entries_size(); + for (const auto& msg : this->entries_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPerfMeasRespMsg::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPerfMeasRespMsg::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPerfMeasRespMsg::GetClassData() const { return &_class_data_; } + +void SLPerfMeasRespMsg::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPerfMeasRespMsg::MergeFrom(const SLPerfMeasRespMsg& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPerfMeasRespMsg) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + entries_.MergeFrom(from.entries_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPerfMeasRespMsg::CopyFrom(const SLPerfMeasRespMsg& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPerfMeasRespMsg) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPerfMeasRespMsg::IsInitialized() const { + return true; +} + +void SLPerfMeasRespMsg::InternalSwap(SLPerfMeasRespMsg* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + entries_.InternalSwap(&other->entries_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPerfMeasRespMsg::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fperf_5fmeas_2eproto_getter, &descriptor_table_sl_5fperf_5fmeas_2eproto_once, + file_level_metadata_sl_5fperf_5fmeas_2eproto[8]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace service_layer +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasMonitor* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasMonitor >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasMonitor >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasStats* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasStats >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasStats >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasReqMsgEntry* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasReqMsgEntry >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasReqMsgEntry >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasReqMsg* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasReqMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasReqMsg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasRespErrMsgEntry* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasRespErrMsgEntry >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasRespErrMsgEntry >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasRespDataMsgEntry* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasRespDataMsgEntry >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasRespDataMsgEntry >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasRespStateMsgEntry* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasRespStateMsgEntry >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasRespStateMsgEntry >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasRespMsgEntry* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasRespMsgEntry >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasRespMsgEntry >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPerfMeasRespMsg* Arena::CreateMaybeMessage< ::service_layer::SLPerfMeasRespMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPerfMeasRespMsg >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/grpc/cpp/src/gencpp/sl_perf_meas.pb.h b/grpc/cpp/src/gencpp/sl_perf_meas.pb.h new file mode 100644 index 00000000..e3b572ae --- /dev/null +++ b/grpc/cpp/src/gencpp/sl_perf_meas.pb.h @@ -0,0 +1,3746 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: sl_perf_meas.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_sl_5fperf_5fmeas_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_sl_5fperf_5fmeas_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3019000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3019004 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include "sl_common_types.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_sl_5fperf_5fmeas_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_sl_5fperf_5fmeas_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + 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[9] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const uint32_t offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5fperf_5fmeas_2eproto; +namespace service_layer { +class SLPerfMeasMonitor; +struct SLPerfMeasMonitorDefaultTypeInternal; +extern SLPerfMeasMonitorDefaultTypeInternal _SLPerfMeasMonitor_default_instance_; +class SLPerfMeasReqMsg; +struct SLPerfMeasReqMsgDefaultTypeInternal; +extern SLPerfMeasReqMsgDefaultTypeInternal _SLPerfMeasReqMsg_default_instance_; +class SLPerfMeasReqMsgEntry; +struct SLPerfMeasReqMsgEntryDefaultTypeInternal; +extern SLPerfMeasReqMsgEntryDefaultTypeInternal _SLPerfMeasReqMsgEntry_default_instance_; +class SLPerfMeasRespDataMsgEntry; +struct SLPerfMeasRespDataMsgEntryDefaultTypeInternal; +extern SLPerfMeasRespDataMsgEntryDefaultTypeInternal _SLPerfMeasRespDataMsgEntry_default_instance_; +class SLPerfMeasRespErrMsgEntry; +struct SLPerfMeasRespErrMsgEntryDefaultTypeInternal; +extern SLPerfMeasRespErrMsgEntryDefaultTypeInternal _SLPerfMeasRespErrMsgEntry_default_instance_; +class SLPerfMeasRespMsg; +struct SLPerfMeasRespMsgDefaultTypeInternal; +extern SLPerfMeasRespMsgDefaultTypeInternal _SLPerfMeasRespMsg_default_instance_; +class SLPerfMeasRespMsgEntry; +struct SLPerfMeasRespMsgEntryDefaultTypeInternal; +extern SLPerfMeasRespMsgEntryDefaultTypeInternal _SLPerfMeasRespMsgEntry_default_instance_; +class SLPerfMeasRespStateMsgEntry; +struct SLPerfMeasRespStateMsgEntryDefaultTypeInternal; +extern SLPerfMeasRespStateMsgEntryDefaultTypeInternal _SLPerfMeasRespStateMsgEntry_default_instance_; +class SLPerfMeasStats; +struct SLPerfMeasStatsDefaultTypeInternal; +extern SLPerfMeasStatsDefaultTypeInternal _SLPerfMeasStats_default_instance_; +} // namespace service_layer +PROTOBUF_NAMESPACE_OPEN +template<> ::service_layer::SLPerfMeasMonitor* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasMonitor>(Arena*); +template<> ::service_layer::SLPerfMeasReqMsg* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasReqMsg>(Arena*); +template<> ::service_layer::SLPerfMeasReqMsgEntry* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasReqMsgEntry>(Arena*); +template<> ::service_layer::SLPerfMeasRespDataMsgEntry* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasRespDataMsgEntry>(Arena*); +template<> ::service_layer::SLPerfMeasRespErrMsgEntry* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasRespErrMsgEntry>(Arena*); +template<> ::service_layer::SLPerfMeasRespMsg* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasRespMsg>(Arena*); +template<> ::service_layer::SLPerfMeasRespMsgEntry* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasRespMsgEntry>(Arena*); +template<> ::service_layer::SLPerfMeasRespStateMsgEntry* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasRespStateMsgEntry>(Arena*); +template<> ::service_layer::SLPerfMeasStats* Arena::CreateMaybeMessage<::service_layer::SLPerfMeasStats>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace service_layer { + +enum SLPerfMeasMsgType : int { + SL_PERF_MEAS_MSG_RESERVED = 0, + SL_PERF_MEAS_CREATE_SESSION = 1, + SL_PERF_MEAS_DELETE_SESSION = 2, + SL_PERF_MEAS_GET_STATS = 3, + SL_PERF_MEAS_GET_INFO = 4, + SL_PERF_MEAS_FLUSH_MAX_RTT = 5, + SLPerfMeasMsgType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + SLPerfMeasMsgType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool SLPerfMeasMsgType_IsValid(int value); +constexpr SLPerfMeasMsgType SLPerfMeasMsgType_MIN = SL_PERF_MEAS_MSG_RESERVED; +constexpr SLPerfMeasMsgType SLPerfMeasMsgType_MAX = SL_PERF_MEAS_FLUSH_MAX_RTT; +constexpr int SLPerfMeasMsgType_ARRAYSIZE = SLPerfMeasMsgType_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPerfMeasMsgType_descriptor(); +template +inline const std::string& SLPerfMeasMsgType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SLPerfMeasMsgType_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + SLPerfMeasMsgType_descriptor(), enum_t_value); +} +inline bool SLPerfMeasMsgType_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SLPerfMeasMsgType* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + SLPerfMeasMsgType_descriptor(), name, value); +} +enum SLPerfMeasSessionState : int { + SL_PERF_MEAS_STATE_RESERVED = 0, + SL_PERF_MEAS_SESSION_DOWN = 1, + SL_PERF_MEAS_SESSION_UP = 2, + SL_PERF_MEAS_SESSION_ALL_DOWN = 3, + SL_PERF_MEAS_SESSION_ALL_DELETED = 4, + SLPerfMeasSessionState_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + SLPerfMeasSessionState_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool SLPerfMeasSessionState_IsValid(int value); +constexpr SLPerfMeasSessionState SLPerfMeasSessionState_MIN = SL_PERF_MEAS_STATE_RESERVED; +constexpr SLPerfMeasSessionState SLPerfMeasSessionState_MAX = SL_PERF_MEAS_SESSION_ALL_DELETED; +constexpr int SLPerfMeasSessionState_ARRAYSIZE = SLPerfMeasSessionState_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPerfMeasSessionState_descriptor(); +template +inline const std::string& SLPerfMeasSessionState_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SLPerfMeasSessionState_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + SLPerfMeasSessionState_descriptor(), enum_t_value); +} +inline bool SLPerfMeasSessionState_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SLPerfMeasSessionState* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + SLPerfMeasSessionState_descriptor(), name, value); +} +// =================================================================== + +class SLPerfMeasMonitor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasMonitor) */ { + public: + inline SLPerfMeasMonitor() : SLPerfMeasMonitor(nullptr) {} + ~SLPerfMeasMonitor() override; + explicit constexpr SLPerfMeasMonitor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasMonitor(const SLPerfMeasMonitor& from); + SLPerfMeasMonitor(SLPerfMeasMonitor&& from) noexcept + : SLPerfMeasMonitor() { + *this = ::std::move(from); + } + + inline SLPerfMeasMonitor& operator=(const SLPerfMeasMonitor& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasMonitor& operator=(SLPerfMeasMonitor&& 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 SLPerfMeasMonitor& default_instance() { + return *internal_default_instance(); + } + static inline const SLPerfMeasMonitor* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasMonitor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(SLPerfMeasMonitor& a, SLPerfMeasMonitor& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasMonitor* 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(SLPerfMeasMonitor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasMonitor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasMonitor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasMonitor& 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(SLPerfMeasMonitor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasMonitor"; + } + protected: + explicit SLPerfMeasMonitor(::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 { + kLabelStackFieldNumber = 4, + kPerfSessionNameFieldNumber = 1, + kSourceFieldNumber = 2, + kDestinationFieldNumber = 3, + kInterfaceInfoFieldNumber = 7, + kNextHopFieldNumber = 9, + kProbeIntervalFieldNumber = 5, + kTimeoutCountFieldNumber = 6, + kDscpValueFieldNumber = 8, + }; + // repeated uint32 LabelStack = 4; + int labelstack_size() const; + private: + int _internal_labelstack_size() const; + public: + void clear_labelstack(); + private: + uint32_t _internal_labelstack(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& + _internal_labelstack() const; + void _internal_add_labelstack(uint32_t value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* + _internal_mutable_labelstack(); + public: + uint32_t labelstack(int index) const; + void set_labelstack(int index, uint32_t value); + void add_labelstack(uint32_t value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& + labelstack() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* + mutable_labelstack(); + + // optional string PerfSessionName = 1; + bool has_perfsessionname() const; + private: + bool _internal_has_perfsessionname() const; + public: + void clear_perfsessionname(); + const std::string& perfsessionname() const; + template + void set_perfsessionname(ArgT0&& arg0, ArgT... args); + std::string* mutable_perfsessionname(); + PROTOBUF_NODISCARD std::string* release_perfsessionname(); + void set_allocated_perfsessionname(std::string* perfsessionname); + private: + const std::string& _internal_perfsessionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_perfsessionname(const std::string& value); + std::string* _internal_mutable_perfsessionname(); + public: + + // .service_layer.SLIpAddress Source = 2; + bool has_source() const; + private: + bool _internal_has_source() const; + public: + void clear_source(); + const ::service_layer::SLIpAddress& source() const; + PROTOBUF_NODISCARD ::service_layer::SLIpAddress* release_source(); + ::service_layer::SLIpAddress* mutable_source(); + void set_allocated_source(::service_layer::SLIpAddress* source); + private: + const ::service_layer::SLIpAddress& _internal_source() const; + ::service_layer::SLIpAddress* _internal_mutable_source(); + public: + void unsafe_arena_set_allocated_source( + ::service_layer::SLIpAddress* source); + ::service_layer::SLIpAddress* unsafe_arena_release_source(); + + // .service_layer.SLIpAddress Destination = 3; + bool has_destination() const; + private: + bool _internal_has_destination() const; + public: + void clear_destination(); + const ::service_layer::SLIpAddress& destination() const; + PROTOBUF_NODISCARD ::service_layer::SLIpAddress* release_destination(); + ::service_layer::SLIpAddress* mutable_destination(); + void set_allocated_destination(::service_layer::SLIpAddress* destination); + private: + const ::service_layer::SLIpAddress& _internal_destination() const; + ::service_layer::SLIpAddress* _internal_mutable_destination(); + public: + void unsafe_arena_set_allocated_destination( + ::service_layer::SLIpAddress* destination); + ::service_layer::SLIpAddress* unsafe_arena_release_destination(); + + // .service_layer.SLInterface InterfaceInfo = 7; + bool has_interfaceinfo() const; + private: + bool _internal_has_interfaceinfo() const; + public: + void clear_interfaceinfo(); + const ::service_layer::SLInterface& interfaceinfo() const; + PROTOBUF_NODISCARD ::service_layer::SLInterface* release_interfaceinfo(); + ::service_layer::SLInterface* mutable_interfaceinfo(); + void set_allocated_interfaceinfo(::service_layer::SLInterface* interfaceinfo); + private: + const ::service_layer::SLInterface& _internal_interfaceinfo() const; + ::service_layer::SLInterface* _internal_mutable_interfaceinfo(); + public: + void unsafe_arena_set_allocated_interfaceinfo( + ::service_layer::SLInterface* interfaceinfo); + ::service_layer::SLInterface* unsafe_arena_release_interfaceinfo(); + + // .service_layer.SLIpAddress NextHop = 9; + bool has_nexthop() const; + private: + bool _internal_has_nexthop() 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); + private: + const ::service_layer::SLIpAddress& _internal_nexthop() const; + ::service_layer::SLIpAddress* _internal_mutable_nexthop(); + public: + void unsafe_arena_set_allocated_nexthop( + ::service_layer::SLIpAddress* nexthop); + ::service_layer::SLIpAddress* unsafe_arena_release_nexthop(); + + // optional uint64 ProbeInterval = 5; + bool has_probeinterval() const; + private: + bool _internal_has_probeinterval() const; + public: + void clear_probeinterval(); + uint64_t probeinterval() const; + void set_probeinterval(uint64_t value); + private: + uint64_t _internal_probeinterval() const; + void _internal_set_probeinterval(uint64_t value); + public: + + // optional uint32 TimeoutCount = 6; + bool has_timeoutcount() const; + private: + bool _internal_has_timeoutcount() const; + public: + void clear_timeoutcount(); + uint32_t timeoutcount() const; + void set_timeoutcount(uint32_t value); + private: + uint32_t _internal_timeoutcount() const; + void _internal_set_timeoutcount(uint32_t value); + public: + + // optional uint32 DscpValue = 8; + bool has_dscpvalue() const; + private: + bool _internal_has_dscpvalue() const; + public: + void clear_dscpvalue(); + uint32_t dscpvalue() const; + void set_dscpvalue(uint32_t value); + private: + uint32_t _internal_dscpvalue() const; + void _internal_set_dscpvalue(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasMonitor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > labelstack_; + mutable std::atomic _labelstack_cached_byte_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr perfsessionname_; + ::service_layer::SLIpAddress* source_; + ::service_layer::SLIpAddress* destination_; + ::service_layer::SLInterface* interfaceinfo_; + ::service_layer::SLIpAddress* nexthop_; + uint64_t probeinterval_; + uint32_t timeoutcount_; + uint32_t dscpvalue_; + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasStats final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasStats) */ { + public: + inline SLPerfMeasStats() : SLPerfMeasStats(nullptr) {} + ~SLPerfMeasStats() override; + explicit constexpr SLPerfMeasStats(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasStats(const SLPerfMeasStats& from); + SLPerfMeasStats(SLPerfMeasStats&& from) noexcept + : SLPerfMeasStats() { + *this = ::std::move(from); + } + + inline SLPerfMeasStats& operator=(const SLPerfMeasStats& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasStats& operator=(SLPerfMeasStats&& 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 SLPerfMeasStats& default_instance() { + return *internal_default_instance(); + } + static inline const SLPerfMeasStats* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasStats_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(SLPerfMeasStats& a, SLPerfMeasStats& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasStats* 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(SLPerfMeasStats* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasStats* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasStats& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasStats& 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(SLPerfMeasStats* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasStats"; + } + protected: + explicit SLPerfMeasStats(::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 { + kProbesSentFieldNumber = 2, + kProbesReceivedFieldNumber = 3, + kMinRttFieldNumber = 4, + kMaxRttFieldNumber = 5, + kAvgRttFieldNumber = 6, + kStateFieldNumber = 1, + }; + // uint64 ProbesSent = 2; + void clear_probessent(); + uint64_t probessent() const; + void set_probessent(uint64_t value); + private: + uint64_t _internal_probessent() const; + void _internal_set_probessent(uint64_t value); + public: + + // uint64 ProbesReceived = 3; + void clear_probesreceived(); + uint64_t probesreceived() const; + void set_probesreceived(uint64_t value); + private: + uint64_t _internal_probesreceived() const; + void _internal_set_probesreceived(uint64_t value); + public: + + // uint64 MinRtt = 4; + void clear_minrtt(); + uint64_t minrtt() const; + void set_minrtt(uint64_t value); + private: + uint64_t _internal_minrtt() const; + void _internal_set_minrtt(uint64_t value); + public: + + // uint64 MaxRtt = 5; + void clear_maxrtt(); + uint64_t maxrtt() const; + void set_maxrtt(uint64_t value); + private: + uint64_t _internal_maxrtt() const; + void _internal_set_maxrtt(uint64_t value); + public: + + // uint64 AvgRtt = 6; + void clear_avgrtt(); + uint64_t avgrtt() const; + void set_avgrtt(uint64_t value); + private: + uint64_t _internal_avgrtt() const; + void _internal_set_avgrtt(uint64_t value); + public: + + // .service_layer.SLPerfMeasSessionState State = 1; + void clear_state(); + ::service_layer::SLPerfMeasSessionState state() const; + void set_state(::service_layer::SLPerfMeasSessionState value); + private: + ::service_layer::SLPerfMeasSessionState _internal_state() const; + void _internal_set_state(::service_layer::SLPerfMeasSessionState value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasStats) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + uint64_t probessent_; + uint64_t probesreceived_; + uint64_t minrtt_; + uint64_t maxrtt_; + uint64_t avgrtt_; + int state_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasReqMsgEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasReqMsgEntry) */ { + public: + inline SLPerfMeasReqMsgEntry() : SLPerfMeasReqMsgEntry(nullptr) {} + ~SLPerfMeasReqMsgEntry() override; + explicit constexpr SLPerfMeasReqMsgEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasReqMsgEntry(const SLPerfMeasReqMsgEntry& from); + SLPerfMeasReqMsgEntry(SLPerfMeasReqMsgEntry&& from) noexcept + : SLPerfMeasReqMsgEntry() { + *this = ::std::move(from); + } + + inline SLPerfMeasReqMsgEntry& operator=(const SLPerfMeasReqMsgEntry& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasReqMsgEntry& operator=(SLPerfMeasReqMsgEntry&& 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 SLPerfMeasReqMsgEntry& default_instance() { + return *internal_default_instance(); + } + enum ValueCase { + kPerfSessionName = 3, + kParameters = 4, + VALUE_NOT_SET = 0, + }; + + static inline const SLPerfMeasReqMsgEntry* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasReqMsgEntry_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(SLPerfMeasReqMsgEntry& a, SLPerfMeasReqMsgEntry& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasReqMsgEntry* 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(SLPerfMeasReqMsgEntry* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasReqMsgEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasReqMsgEntry& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasReqMsgEntry& 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(SLPerfMeasReqMsgEntry* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasReqMsgEntry"; + } + protected: + explicit SLPerfMeasReqMsgEntry(::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 { + kOperationIdFieldNumber = 1, + kMsgTypeFieldNumber = 2, + kPerfSessionNameFieldNumber = 3, + kParametersFieldNumber = 4, + }; + // uint64 OperationId = 1; + 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.SLPerfMeasMsgType MsgType = 2; + void clear_msgtype(); + ::service_layer::SLPerfMeasMsgType msgtype() const; + void set_msgtype(::service_layer::SLPerfMeasMsgType value); + private: + ::service_layer::SLPerfMeasMsgType _internal_msgtype() const; + void _internal_set_msgtype(::service_layer::SLPerfMeasMsgType value); + public: + + // string PerfSessionName = 3; + bool has_perfsessionname() const; + private: + bool _internal_has_perfsessionname() const; + public: + void clear_perfsessionname(); + const std::string& perfsessionname() const; + template + void set_perfsessionname(ArgT0&& arg0, ArgT... args); + std::string* mutable_perfsessionname(); + PROTOBUF_NODISCARD std::string* release_perfsessionname(); + void set_allocated_perfsessionname(std::string* perfsessionname); + private: + const std::string& _internal_perfsessionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_perfsessionname(const std::string& value); + std::string* _internal_mutable_perfsessionname(); + public: + + // .service_layer.SLPerfMeasMonitor Parameters = 4; + bool has_parameters() const; + private: + bool _internal_has_parameters() const; + public: + void clear_parameters(); + const ::service_layer::SLPerfMeasMonitor& parameters() const; + PROTOBUF_NODISCARD ::service_layer::SLPerfMeasMonitor* release_parameters(); + ::service_layer::SLPerfMeasMonitor* mutable_parameters(); + void set_allocated_parameters(::service_layer::SLPerfMeasMonitor* parameters); + private: + const ::service_layer::SLPerfMeasMonitor& _internal_parameters() const; + ::service_layer::SLPerfMeasMonitor* _internal_mutable_parameters(); + public: + void unsafe_arena_set_allocated_parameters( + ::service_layer::SLPerfMeasMonitor* parameters); + ::service_layer::SLPerfMeasMonitor* unsafe_arena_release_parameters(); + + void clear_Value(); + ValueCase Value_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasReqMsgEntry) + private: + class _Internal; + void set_has_perfsessionname(); + void set_has_parameters(); + + inline bool has_Value() const; + inline void clear_has_Value(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + uint64_t operationid_; + int msgtype_; + union ValueUnion { + constexpr ValueUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr perfsessionname_; + ::service_layer::SLPerfMeasMonitor* parameters_; + } Value_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasReqMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasReqMsg) */ { + public: + inline SLPerfMeasReqMsg() : SLPerfMeasReqMsg(nullptr) {} + ~SLPerfMeasReqMsg() override; + explicit constexpr SLPerfMeasReqMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasReqMsg(const SLPerfMeasReqMsg& from); + SLPerfMeasReqMsg(SLPerfMeasReqMsg&& from) noexcept + : SLPerfMeasReqMsg() { + *this = ::std::move(from); + } + + inline SLPerfMeasReqMsg& operator=(const SLPerfMeasReqMsg& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasReqMsg& operator=(SLPerfMeasReqMsg&& 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 SLPerfMeasReqMsg& default_instance() { + return *internal_default_instance(); + } + static inline const SLPerfMeasReqMsg* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasReqMsg_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(SLPerfMeasReqMsg& a, SLPerfMeasReqMsg& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasReqMsg* 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(SLPerfMeasReqMsg* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasReqMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasReqMsg& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasReqMsg& 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(SLPerfMeasReqMsg* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasReqMsg"; + } + protected: + explicit SLPerfMeasReqMsg(::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 { + kEntriesFieldNumber = 1, + }; + // repeated .service_layer.SLPerfMeasReqMsgEntry Entries = 1; + int entries_size() const; + private: + int _internal_entries_size() const; + public: + void clear_entries(); + ::service_layer::SLPerfMeasReqMsgEntry* mutable_entries(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasReqMsgEntry >* + mutable_entries(); + private: + const ::service_layer::SLPerfMeasReqMsgEntry& _internal_entries(int index) const; + ::service_layer::SLPerfMeasReqMsgEntry* _internal_add_entries(); + public: + const ::service_layer::SLPerfMeasReqMsgEntry& entries(int index) const; + ::service_layer::SLPerfMeasReqMsgEntry* add_entries(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasReqMsgEntry >& + entries() const; + + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasReqMsg) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasReqMsgEntry > entries_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasRespErrMsgEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasRespErrMsgEntry) */ { + public: + inline SLPerfMeasRespErrMsgEntry() : SLPerfMeasRespErrMsgEntry(nullptr) {} + ~SLPerfMeasRespErrMsgEntry() override; + explicit constexpr SLPerfMeasRespErrMsgEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasRespErrMsgEntry(const SLPerfMeasRespErrMsgEntry& from); + SLPerfMeasRespErrMsgEntry(SLPerfMeasRespErrMsgEntry&& from) noexcept + : SLPerfMeasRespErrMsgEntry() { + *this = ::std::move(from); + } + + inline SLPerfMeasRespErrMsgEntry& operator=(const SLPerfMeasRespErrMsgEntry& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasRespErrMsgEntry& operator=(SLPerfMeasRespErrMsgEntry&& 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 SLPerfMeasRespErrMsgEntry& default_instance() { + return *internal_default_instance(); + } + static inline const SLPerfMeasRespErrMsgEntry* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasRespErrMsgEntry_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(SLPerfMeasRespErrMsgEntry& a, SLPerfMeasRespErrMsgEntry& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasRespErrMsgEntry* 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(SLPerfMeasRespErrMsgEntry* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasRespErrMsgEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasRespErrMsgEntry& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasRespErrMsgEntry& 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(SLPerfMeasRespErrMsgEntry* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasRespErrMsgEntry"; + } + protected: + explicit SLPerfMeasRespErrMsgEntry(::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 { + kPerfSessionNameFieldNumber = 3, + kErrStatusFieldNumber = 2, + kOperationIdFieldNumber = 1, + }; + // string PerfSessionName = 3; + void clear_perfsessionname(); + const std::string& perfsessionname() const; + template + void set_perfsessionname(ArgT0&& arg0, ArgT... args); + std::string* mutable_perfsessionname(); + PROTOBUF_NODISCARD std::string* release_perfsessionname(); + void set_allocated_perfsessionname(std::string* perfsessionname); + private: + const std::string& _internal_perfsessionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_perfsessionname(const std::string& value); + std::string* _internal_mutable_perfsessionname(); + public: + + // .service_layer.SLErrorStatus ErrStatus = 2; + 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(); + + // uint64 OperationId = 1; + 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: + + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasRespErrMsgEntry) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr perfsessionname_; + ::service_layer::SLErrorStatus* errstatus_; + uint64_t operationid_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasRespDataMsgEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasRespDataMsgEntry) */ { + public: + inline SLPerfMeasRespDataMsgEntry() : SLPerfMeasRespDataMsgEntry(nullptr) {} + ~SLPerfMeasRespDataMsgEntry() override; + explicit constexpr SLPerfMeasRespDataMsgEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasRespDataMsgEntry(const SLPerfMeasRespDataMsgEntry& from); + SLPerfMeasRespDataMsgEntry(SLPerfMeasRespDataMsgEntry&& from) noexcept + : SLPerfMeasRespDataMsgEntry() { + *this = ::std::move(from); + } + + inline SLPerfMeasRespDataMsgEntry& operator=(const SLPerfMeasRespDataMsgEntry& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasRespDataMsgEntry& operator=(SLPerfMeasRespDataMsgEntry&& 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 SLPerfMeasRespDataMsgEntry& default_instance() { + return *internal_default_instance(); + } + enum DataCase { + kStats = 4, + kInfo = 5, + DATA_NOT_SET = 0, + }; + + static inline const SLPerfMeasRespDataMsgEntry* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasRespDataMsgEntry_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(SLPerfMeasRespDataMsgEntry& a, SLPerfMeasRespDataMsgEntry& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasRespDataMsgEntry* 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(SLPerfMeasRespDataMsgEntry* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasRespDataMsgEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasRespDataMsgEntry& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasRespDataMsgEntry& 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(SLPerfMeasRespDataMsgEntry* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasRespDataMsgEntry"; + } + protected: + explicit SLPerfMeasRespDataMsgEntry(::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 { + kPerfSessionNameFieldNumber = 2, + kOperationIdFieldNumber = 3, + kMsgTypeFieldNumber = 1, + kStatsFieldNumber = 4, + kInfoFieldNumber = 5, + }; + // string PerfSessionName = 2; + void clear_perfsessionname(); + const std::string& perfsessionname() const; + template + void set_perfsessionname(ArgT0&& arg0, ArgT... args); + std::string* mutable_perfsessionname(); + PROTOBUF_NODISCARD std::string* release_perfsessionname(); + void set_allocated_perfsessionname(std::string* perfsessionname); + private: + const std::string& _internal_perfsessionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_perfsessionname(const std::string& value); + std::string* _internal_mutable_perfsessionname(); + public: + + // 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.SLPerfMeasMsgType MsgType = 1; + void clear_msgtype(); + ::service_layer::SLPerfMeasMsgType msgtype() const; + void set_msgtype(::service_layer::SLPerfMeasMsgType value); + private: + ::service_layer::SLPerfMeasMsgType _internal_msgtype() const; + void _internal_set_msgtype(::service_layer::SLPerfMeasMsgType value); + public: + + // .service_layer.SLPerfMeasStats Stats = 4; + bool has_stats() const; + private: + bool _internal_has_stats() const; + public: + void clear_stats(); + const ::service_layer::SLPerfMeasStats& stats() const; + PROTOBUF_NODISCARD ::service_layer::SLPerfMeasStats* release_stats(); + ::service_layer::SLPerfMeasStats* mutable_stats(); + void set_allocated_stats(::service_layer::SLPerfMeasStats* stats); + private: + const ::service_layer::SLPerfMeasStats& _internal_stats() const; + ::service_layer::SLPerfMeasStats* _internal_mutable_stats(); + public: + void unsafe_arena_set_allocated_stats( + ::service_layer::SLPerfMeasStats* stats); + ::service_layer::SLPerfMeasStats* unsafe_arena_release_stats(); + + // .service_layer.SLPerfMeasMonitor Info = 5; + bool has_info() const; + private: + bool _internal_has_info() const; + public: + void clear_info(); + const ::service_layer::SLPerfMeasMonitor& info() const; + PROTOBUF_NODISCARD ::service_layer::SLPerfMeasMonitor* release_info(); + ::service_layer::SLPerfMeasMonitor* mutable_info(); + void set_allocated_info(::service_layer::SLPerfMeasMonitor* info); + private: + const ::service_layer::SLPerfMeasMonitor& _internal_info() const; + ::service_layer::SLPerfMeasMonitor* _internal_mutable_info(); + public: + void unsafe_arena_set_allocated_info( + ::service_layer::SLPerfMeasMonitor* info); + ::service_layer::SLPerfMeasMonitor* unsafe_arena_release_info(); + + void clear_Data(); + DataCase Data_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasRespDataMsgEntry) + private: + class _Internal; + void set_has_stats(); + void set_has_info(); + + inline bool has_Data() const; + inline void clear_has_Data(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr perfsessionname_; + uint64_t operationid_; + int msgtype_; + union DataUnion { + constexpr DataUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLPerfMeasStats* stats_; + ::service_layer::SLPerfMeasMonitor* info_; + } Data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasRespStateMsgEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasRespStateMsgEntry) */ { + public: + inline SLPerfMeasRespStateMsgEntry() : SLPerfMeasRespStateMsgEntry(nullptr) {} + ~SLPerfMeasRespStateMsgEntry() override; + explicit constexpr SLPerfMeasRespStateMsgEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasRespStateMsgEntry(const SLPerfMeasRespStateMsgEntry& from); + SLPerfMeasRespStateMsgEntry(SLPerfMeasRespStateMsgEntry&& from) noexcept + : SLPerfMeasRespStateMsgEntry() { + *this = ::std::move(from); + } + + inline SLPerfMeasRespStateMsgEntry& operator=(const SLPerfMeasRespStateMsgEntry& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasRespStateMsgEntry& operator=(SLPerfMeasRespStateMsgEntry&& 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 SLPerfMeasRespStateMsgEntry& default_instance() { + return *internal_default_instance(); + } + static inline const SLPerfMeasRespStateMsgEntry* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasRespStateMsgEntry_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(SLPerfMeasRespStateMsgEntry& a, SLPerfMeasRespStateMsgEntry& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasRespStateMsgEntry* 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(SLPerfMeasRespStateMsgEntry* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasRespStateMsgEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasRespStateMsgEntry& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasRespStateMsgEntry& 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(SLPerfMeasRespStateMsgEntry* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasRespStateMsgEntry"; + } + protected: + explicit SLPerfMeasRespStateMsgEntry(::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 { + kPerfSessionNameFieldNumber = 2, + kStateFieldNumber = 1, + }; + // optional string PerfSessionName = 2; + bool has_perfsessionname() const; + private: + bool _internal_has_perfsessionname() const; + public: + void clear_perfsessionname(); + const std::string& perfsessionname() const; + template + void set_perfsessionname(ArgT0&& arg0, ArgT... args); + std::string* mutable_perfsessionname(); + PROTOBUF_NODISCARD std::string* release_perfsessionname(); + void set_allocated_perfsessionname(std::string* perfsessionname); + private: + const std::string& _internal_perfsessionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_perfsessionname(const std::string& value); + std::string* _internal_mutable_perfsessionname(); + public: + + // .service_layer.SLPerfMeasSessionState State = 1; + void clear_state(); + ::service_layer::SLPerfMeasSessionState state() const; + void set_state(::service_layer::SLPerfMeasSessionState value); + private: + ::service_layer::SLPerfMeasSessionState _internal_state() const; + void _internal_set_state(::service_layer::SLPerfMeasSessionState value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasRespStateMsgEntry) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr perfsessionname_; + int state_; + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasRespMsgEntry final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasRespMsgEntry) */ { + public: + inline SLPerfMeasRespMsgEntry() : SLPerfMeasRespMsgEntry(nullptr) {} + ~SLPerfMeasRespMsgEntry() override; + explicit constexpr SLPerfMeasRespMsgEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasRespMsgEntry(const SLPerfMeasRespMsgEntry& from); + SLPerfMeasRespMsgEntry(SLPerfMeasRespMsgEntry&& from) noexcept + : SLPerfMeasRespMsgEntry() { + *this = ::std::move(from); + } + + inline SLPerfMeasRespMsgEntry& operator=(const SLPerfMeasRespMsgEntry& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasRespMsgEntry& operator=(SLPerfMeasRespMsgEntry&& 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 SLPerfMeasRespMsgEntry& default_instance() { + return *internal_default_instance(); + } + enum EventCase { + kError = 1, + kSessionDetail = 2, + kSessionState = 3, + EVENT_NOT_SET = 0, + }; + + static inline const SLPerfMeasRespMsgEntry* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasRespMsgEntry_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + friend void swap(SLPerfMeasRespMsgEntry& a, SLPerfMeasRespMsgEntry& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasRespMsgEntry* 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(SLPerfMeasRespMsgEntry* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasRespMsgEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasRespMsgEntry& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasRespMsgEntry& 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(SLPerfMeasRespMsgEntry* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasRespMsgEntry"; + } + protected: + explicit SLPerfMeasRespMsgEntry(::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 { + kErrorFieldNumber = 1, + kSessionDetailFieldNumber = 2, + kSessionStateFieldNumber = 3, + }; + // .service_layer.SLPerfMeasRespErrMsgEntry Error = 1; + bool has_error() const; + private: + bool _internal_has_error() const; + public: + void clear_error(); + const ::service_layer::SLPerfMeasRespErrMsgEntry& error() const; + PROTOBUF_NODISCARD ::service_layer::SLPerfMeasRespErrMsgEntry* release_error(); + ::service_layer::SLPerfMeasRespErrMsgEntry* mutable_error(); + void set_allocated_error(::service_layer::SLPerfMeasRespErrMsgEntry* error); + private: + const ::service_layer::SLPerfMeasRespErrMsgEntry& _internal_error() const; + ::service_layer::SLPerfMeasRespErrMsgEntry* _internal_mutable_error(); + public: + void unsafe_arena_set_allocated_error( + ::service_layer::SLPerfMeasRespErrMsgEntry* error); + ::service_layer::SLPerfMeasRespErrMsgEntry* unsafe_arena_release_error(); + + // .service_layer.SLPerfMeasRespDataMsgEntry SessionDetail = 2; + bool has_sessiondetail() const; + private: + bool _internal_has_sessiondetail() const; + public: + void clear_sessiondetail(); + const ::service_layer::SLPerfMeasRespDataMsgEntry& sessiondetail() const; + PROTOBUF_NODISCARD ::service_layer::SLPerfMeasRespDataMsgEntry* release_sessiondetail(); + ::service_layer::SLPerfMeasRespDataMsgEntry* mutable_sessiondetail(); + void set_allocated_sessiondetail(::service_layer::SLPerfMeasRespDataMsgEntry* sessiondetail); + private: + const ::service_layer::SLPerfMeasRespDataMsgEntry& _internal_sessiondetail() const; + ::service_layer::SLPerfMeasRespDataMsgEntry* _internal_mutable_sessiondetail(); + public: + void unsafe_arena_set_allocated_sessiondetail( + ::service_layer::SLPerfMeasRespDataMsgEntry* sessiondetail); + ::service_layer::SLPerfMeasRespDataMsgEntry* unsafe_arena_release_sessiondetail(); + + // .service_layer.SLPerfMeasRespStateMsgEntry SessionState = 3; + bool has_sessionstate() const; + private: + bool _internal_has_sessionstate() const; + public: + void clear_sessionstate(); + const ::service_layer::SLPerfMeasRespStateMsgEntry& sessionstate() const; + PROTOBUF_NODISCARD ::service_layer::SLPerfMeasRespStateMsgEntry* release_sessionstate(); + ::service_layer::SLPerfMeasRespStateMsgEntry* mutable_sessionstate(); + void set_allocated_sessionstate(::service_layer::SLPerfMeasRespStateMsgEntry* sessionstate); + private: + const ::service_layer::SLPerfMeasRespStateMsgEntry& _internal_sessionstate() const; + ::service_layer::SLPerfMeasRespStateMsgEntry* _internal_mutable_sessionstate(); + public: + void unsafe_arena_set_allocated_sessionstate( + ::service_layer::SLPerfMeasRespStateMsgEntry* sessionstate); + ::service_layer::SLPerfMeasRespStateMsgEntry* unsafe_arena_release_sessionstate(); + + void clear_Event(); + EventCase Event_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasRespMsgEntry) + private: + class _Internal; + void set_has_error(); + void set_has_sessiondetail(); + void set_has_sessionstate(); + + 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::SLPerfMeasRespErrMsgEntry* error_; + ::service_layer::SLPerfMeasRespDataMsgEntry* sessiondetail_; + ::service_layer::SLPerfMeasRespStateMsgEntry* sessionstate_; + } Event_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPerfMeasRespMsg final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPerfMeasRespMsg) */ { + public: + inline SLPerfMeasRespMsg() : SLPerfMeasRespMsg(nullptr) {} + ~SLPerfMeasRespMsg() override; + explicit constexpr SLPerfMeasRespMsg(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPerfMeasRespMsg(const SLPerfMeasRespMsg& from); + SLPerfMeasRespMsg(SLPerfMeasRespMsg&& from) noexcept + : SLPerfMeasRespMsg() { + *this = ::std::move(from); + } + + inline SLPerfMeasRespMsg& operator=(const SLPerfMeasRespMsg& from) { + CopyFrom(from); + return *this; + } + inline SLPerfMeasRespMsg& operator=(SLPerfMeasRespMsg&& 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 SLPerfMeasRespMsg& default_instance() { + return *internal_default_instance(); + } + static inline const SLPerfMeasRespMsg* internal_default_instance() { + return reinterpret_cast( + &_SLPerfMeasRespMsg_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + friend void swap(SLPerfMeasRespMsg& a, SLPerfMeasRespMsg& b) { + a.Swap(&b); + } + inline void Swap(SLPerfMeasRespMsg* 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(SLPerfMeasRespMsg* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPerfMeasRespMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPerfMeasRespMsg& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPerfMeasRespMsg& 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(SLPerfMeasRespMsg* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPerfMeasRespMsg"; + } + protected: + explicit SLPerfMeasRespMsg(::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 { + kEntriesFieldNumber = 1, + }; + // repeated .service_layer.SLPerfMeasRespMsgEntry Entries = 1; + int entries_size() const; + private: + int _internal_entries_size() const; + public: + void clear_entries(); + ::service_layer::SLPerfMeasRespMsgEntry* mutable_entries(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasRespMsgEntry >* + mutable_entries(); + private: + const ::service_layer::SLPerfMeasRespMsgEntry& _internal_entries(int index) const; + ::service_layer::SLPerfMeasRespMsgEntry* _internal_add_entries(); + public: + const ::service_layer::SLPerfMeasRespMsgEntry& entries(int index) const; + ::service_layer::SLPerfMeasRespMsgEntry* add_entries(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasRespMsgEntry >& + entries() const; + + // @@protoc_insertion_point(class_scope:service_layer.SLPerfMeasRespMsg) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasRespMsgEntry > entries_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5fperf_5fmeas_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// SLPerfMeasMonitor + +// optional string PerfSessionName = 1; +inline bool SLPerfMeasMonitor::_internal_has_perfsessionname() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool SLPerfMeasMonitor::has_perfsessionname() const { + return _internal_has_perfsessionname(); +} +inline void SLPerfMeasMonitor::clear_perfsessionname() { + perfsessionname_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& SLPerfMeasMonitor::perfsessionname() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.PerfSessionName) + return _internal_perfsessionname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void SLPerfMeasMonitor::set_perfsessionname(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasMonitor.PerfSessionName) +} +inline std::string* SLPerfMeasMonitor::mutable_perfsessionname() { + std::string* _s = _internal_mutable_perfsessionname(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasMonitor.PerfSessionName) + return _s; +} +inline const std::string& SLPerfMeasMonitor::_internal_perfsessionname() const { + return perfsessionname_.Get(); +} +inline void SLPerfMeasMonitor::_internal_set_perfsessionname(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasMonitor::_internal_mutable_perfsessionname() { + _has_bits_[0] |= 0x00000001u; + return perfsessionname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasMonitor::release_perfsessionname() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasMonitor.PerfSessionName) + if (!_internal_has_perfsessionname()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + auto* p = perfsessionname_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (perfsessionname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void SLPerfMeasMonitor::set_allocated_perfsessionname(std::string* perfsessionname) { + if (perfsessionname != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + perfsessionname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), perfsessionname, + GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (perfsessionname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasMonitor.PerfSessionName) +} + +// .service_layer.SLIpAddress Source = 2; +inline bool SLPerfMeasMonitor::_internal_has_source() const { + return this != internal_default_instance() && source_ != nullptr; +} +inline bool SLPerfMeasMonitor::has_source() const { + return _internal_has_source(); +} +inline const ::service_layer::SLIpAddress& SLPerfMeasMonitor::_internal_source() const { + const ::service_layer::SLIpAddress* p = source_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLIpAddress_default_instance_); +} +inline const ::service_layer::SLIpAddress& SLPerfMeasMonitor::source() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.Source) + return _internal_source(); +} +inline void SLPerfMeasMonitor::unsafe_arena_set_allocated_source( + ::service_layer::SLIpAddress* source) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(source_); + } + source_ = source; + if (source) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasMonitor.Source) +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::release_source() { + + ::service_layer::SLIpAddress* temp = source_; + source_ = 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* SLPerfMeasMonitor::unsafe_arena_release_source() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasMonitor.Source) + + ::service_layer::SLIpAddress* temp = source_; + source_ = nullptr; + return temp; +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::_internal_mutable_source() { + + if (source_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLIpAddress>(GetArenaForAllocation()); + source_ = p; + } + return source_; +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::mutable_source() { + ::service_layer::SLIpAddress* _msg = _internal_mutable_source(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasMonitor.Source) + return _msg; +} +inline void SLPerfMeasMonitor::set_allocated_source(::service_layer::SLIpAddress* source) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(source_); + } + if (source) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(source)); + if (message_arena != submessage_arena) { + source = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, source, submessage_arena); + } + + } else { + + } + source_ = source; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasMonitor.Source) +} + +// .service_layer.SLIpAddress Destination = 3; +inline bool SLPerfMeasMonitor::_internal_has_destination() const { + return this != internal_default_instance() && destination_ != nullptr; +} +inline bool SLPerfMeasMonitor::has_destination() const { + return _internal_has_destination(); +} +inline const ::service_layer::SLIpAddress& SLPerfMeasMonitor::_internal_destination() const { + const ::service_layer::SLIpAddress* p = destination_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLIpAddress_default_instance_); +} +inline const ::service_layer::SLIpAddress& SLPerfMeasMonitor::destination() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.Destination) + return _internal_destination(); +} +inline void SLPerfMeasMonitor::unsafe_arena_set_allocated_destination( + ::service_layer::SLIpAddress* destination) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(destination_); + } + destination_ = destination; + if (destination) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasMonitor.Destination) +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::release_destination() { + + ::service_layer::SLIpAddress* temp = destination_; + destination_ = 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* SLPerfMeasMonitor::unsafe_arena_release_destination() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasMonitor.Destination) + + ::service_layer::SLIpAddress* temp = destination_; + destination_ = nullptr; + return temp; +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::_internal_mutable_destination() { + + if (destination_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLIpAddress>(GetArenaForAllocation()); + destination_ = p; + } + return destination_; +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::mutable_destination() { + ::service_layer::SLIpAddress* _msg = _internal_mutable_destination(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasMonitor.Destination) + return _msg; +} +inline void SLPerfMeasMonitor::set_allocated_destination(::service_layer::SLIpAddress* destination) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(destination_); + } + if (destination) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(destination)); + if (message_arena != submessage_arena) { + destination = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, destination, submessage_arena); + } + + } else { + + } + destination_ = destination; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasMonitor.Destination) +} + +// repeated uint32 LabelStack = 4; +inline int SLPerfMeasMonitor::_internal_labelstack_size() const { + return labelstack_.size(); +} +inline int SLPerfMeasMonitor::labelstack_size() const { + return _internal_labelstack_size(); +} +inline void SLPerfMeasMonitor::clear_labelstack() { + labelstack_.Clear(); +} +inline uint32_t SLPerfMeasMonitor::_internal_labelstack(int index) const { + return labelstack_.Get(index); +} +inline uint32_t SLPerfMeasMonitor::labelstack(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.LabelStack) + return _internal_labelstack(index); +} +inline void SLPerfMeasMonitor::set_labelstack(int index, uint32_t value) { + labelstack_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasMonitor.LabelStack) +} +inline void SLPerfMeasMonitor::_internal_add_labelstack(uint32_t value) { + labelstack_.Add(value); +} +inline void SLPerfMeasMonitor::add_labelstack(uint32_t value) { + _internal_add_labelstack(value); + // @@protoc_insertion_point(field_add:service_layer.SLPerfMeasMonitor.LabelStack) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& +SLPerfMeasMonitor::_internal_labelstack() const { + return labelstack_; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& +SLPerfMeasMonitor::labelstack() const { + // @@protoc_insertion_point(field_list:service_layer.SLPerfMeasMonitor.LabelStack) + return _internal_labelstack(); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* +SLPerfMeasMonitor::_internal_mutable_labelstack() { + return &labelstack_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* +SLPerfMeasMonitor::mutable_labelstack() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLPerfMeasMonitor.LabelStack) + return _internal_mutable_labelstack(); +} + +// optional uint64 ProbeInterval = 5; +inline bool SLPerfMeasMonitor::_internal_has_probeinterval() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool SLPerfMeasMonitor::has_probeinterval() const { + return _internal_has_probeinterval(); +} +inline void SLPerfMeasMonitor::clear_probeinterval() { + probeinterval_ = uint64_t{0u}; + _has_bits_[0] &= ~0x00000002u; +} +inline uint64_t SLPerfMeasMonitor::_internal_probeinterval() const { + return probeinterval_; +} +inline uint64_t SLPerfMeasMonitor::probeinterval() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.ProbeInterval) + return _internal_probeinterval(); +} +inline void SLPerfMeasMonitor::_internal_set_probeinterval(uint64_t value) { + _has_bits_[0] |= 0x00000002u; + probeinterval_ = value; +} +inline void SLPerfMeasMonitor::set_probeinterval(uint64_t value) { + _internal_set_probeinterval(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasMonitor.ProbeInterval) +} + +// optional uint32 TimeoutCount = 6; +inline bool SLPerfMeasMonitor::_internal_has_timeoutcount() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool SLPerfMeasMonitor::has_timeoutcount() const { + return _internal_has_timeoutcount(); +} +inline void SLPerfMeasMonitor::clear_timeoutcount() { + timeoutcount_ = 0u; + _has_bits_[0] &= ~0x00000004u; +} +inline uint32_t SLPerfMeasMonitor::_internal_timeoutcount() const { + return timeoutcount_; +} +inline uint32_t SLPerfMeasMonitor::timeoutcount() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.TimeoutCount) + return _internal_timeoutcount(); +} +inline void SLPerfMeasMonitor::_internal_set_timeoutcount(uint32_t value) { + _has_bits_[0] |= 0x00000004u; + timeoutcount_ = value; +} +inline void SLPerfMeasMonitor::set_timeoutcount(uint32_t value) { + _internal_set_timeoutcount(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasMonitor.TimeoutCount) +} + +// .service_layer.SLInterface InterfaceInfo = 7; +inline bool SLPerfMeasMonitor::_internal_has_interfaceinfo() const { + return this != internal_default_instance() && interfaceinfo_ != nullptr; +} +inline bool SLPerfMeasMonitor::has_interfaceinfo() const { + return _internal_has_interfaceinfo(); +} +inline const ::service_layer::SLInterface& SLPerfMeasMonitor::_internal_interfaceinfo() const { + const ::service_layer::SLInterface* p = interfaceinfo_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLInterface_default_instance_); +} +inline const ::service_layer::SLInterface& SLPerfMeasMonitor::interfaceinfo() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.InterfaceInfo) + return _internal_interfaceinfo(); +} +inline void SLPerfMeasMonitor::unsafe_arena_set_allocated_interfaceinfo( + ::service_layer::SLInterface* interfaceinfo) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interfaceinfo_); + } + interfaceinfo_ = interfaceinfo; + if (interfaceinfo) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasMonitor.InterfaceInfo) +} +inline ::service_layer::SLInterface* SLPerfMeasMonitor::release_interfaceinfo() { + + ::service_layer::SLInterface* temp = interfaceinfo_; + interfaceinfo_ = 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::SLInterface* SLPerfMeasMonitor::unsafe_arena_release_interfaceinfo() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasMonitor.InterfaceInfo) + + ::service_layer::SLInterface* temp = interfaceinfo_; + interfaceinfo_ = nullptr; + return temp; +} +inline ::service_layer::SLInterface* SLPerfMeasMonitor::_internal_mutable_interfaceinfo() { + + if (interfaceinfo_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLInterface>(GetArenaForAllocation()); + interfaceinfo_ = p; + } + return interfaceinfo_; +} +inline ::service_layer::SLInterface* SLPerfMeasMonitor::mutable_interfaceinfo() { + ::service_layer::SLInterface* _msg = _internal_mutable_interfaceinfo(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasMonitor.InterfaceInfo) + return _msg; +} +inline void SLPerfMeasMonitor::set_allocated_interfaceinfo(::service_layer::SLInterface* interfaceinfo) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(interfaceinfo_); + } + if (interfaceinfo) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interfaceinfo)); + if (message_arena != submessage_arena) { + interfaceinfo = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, interfaceinfo, submessage_arena); + } + + } else { + + } + interfaceinfo_ = interfaceinfo; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasMonitor.InterfaceInfo) +} + +// optional uint32 DscpValue = 8; +inline bool SLPerfMeasMonitor::_internal_has_dscpvalue() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool SLPerfMeasMonitor::has_dscpvalue() const { + return _internal_has_dscpvalue(); +} +inline void SLPerfMeasMonitor::clear_dscpvalue() { + dscpvalue_ = 0u; + _has_bits_[0] &= ~0x00000008u; +} +inline uint32_t SLPerfMeasMonitor::_internal_dscpvalue() const { + return dscpvalue_; +} +inline uint32_t SLPerfMeasMonitor::dscpvalue() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.DscpValue) + return _internal_dscpvalue(); +} +inline void SLPerfMeasMonitor::_internal_set_dscpvalue(uint32_t value) { + _has_bits_[0] |= 0x00000008u; + dscpvalue_ = value; +} +inline void SLPerfMeasMonitor::set_dscpvalue(uint32_t value) { + _internal_set_dscpvalue(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasMonitor.DscpValue) +} + +// .service_layer.SLIpAddress NextHop = 9; +inline bool SLPerfMeasMonitor::_internal_has_nexthop() const { + return this != internal_default_instance() && nexthop_ != nullptr; +} +inline bool SLPerfMeasMonitor::has_nexthop() const { + return _internal_has_nexthop(); +} +inline const ::service_layer::SLIpAddress& SLPerfMeasMonitor::_internal_nexthop() const { + const ::service_layer::SLIpAddress* p = nexthop_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLIpAddress_default_instance_); +} +inline const ::service_layer::SLIpAddress& SLPerfMeasMonitor::nexthop() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasMonitor.NextHop) + return _internal_nexthop(); +} +inline void SLPerfMeasMonitor::unsafe_arena_set_allocated_nexthop( + ::service_layer::SLIpAddress* nexthop) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthop_); + } + nexthop_ = nexthop; + if (nexthop) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasMonitor.NextHop) +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::release_nexthop() { + + ::service_layer::SLIpAddress* temp = nexthop_; + nexthop_ = 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* SLPerfMeasMonitor::unsafe_arena_release_nexthop() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasMonitor.NextHop) + + ::service_layer::SLIpAddress* temp = nexthop_; + nexthop_ = nullptr; + return temp; +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::_internal_mutable_nexthop() { + + if (nexthop_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLIpAddress>(GetArenaForAllocation()); + nexthop_ = p; + } + return nexthop_; +} +inline ::service_layer::SLIpAddress* SLPerfMeasMonitor::mutable_nexthop() { + ::service_layer::SLIpAddress* _msg = _internal_mutable_nexthop(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasMonitor.NextHop) + return _msg; +} +inline void SLPerfMeasMonitor::set_allocated_nexthop(::service_layer::SLIpAddress* nexthop) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthop_); + } + if (nexthop) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nexthop)); + if (message_arena != submessage_arena) { + nexthop = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, nexthop, submessage_arena); + } + + } else { + + } + nexthop_ = nexthop; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasMonitor.NextHop) +} + +// ------------------------------------------------------------------- + +// SLPerfMeasStats + +// .service_layer.SLPerfMeasSessionState State = 1; +inline void SLPerfMeasStats::clear_state() { + state_ = 0; +} +inline ::service_layer::SLPerfMeasSessionState SLPerfMeasStats::_internal_state() const { + return static_cast< ::service_layer::SLPerfMeasSessionState >(state_); +} +inline ::service_layer::SLPerfMeasSessionState SLPerfMeasStats::state() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasStats.State) + return _internal_state(); +} +inline void SLPerfMeasStats::_internal_set_state(::service_layer::SLPerfMeasSessionState value) { + + state_ = value; +} +inline void SLPerfMeasStats::set_state(::service_layer::SLPerfMeasSessionState value) { + _internal_set_state(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasStats.State) +} + +// uint64 ProbesSent = 2; +inline void SLPerfMeasStats::clear_probessent() { + probessent_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasStats::_internal_probessent() const { + return probessent_; +} +inline uint64_t SLPerfMeasStats::probessent() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasStats.ProbesSent) + return _internal_probessent(); +} +inline void SLPerfMeasStats::_internal_set_probessent(uint64_t value) { + + probessent_ = value; +} +inline void SLPerfMeasStats::set_probessent(uint64_t value) { + _internal_set_probessent(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasStats.ProbesSent) +} + +// uint64 ProbesReceived = 3; +inline void SLPerfMeasStats::clear_probesreceived() { + probesreceived_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasStats::_internal_probesreceived() const { + return probesreceived_; +} +inline uint64_t SLPerfMeasStats::probesreceived() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasStats.ProbesReceived) + return _internal_probesreceived(); +} +inline void SLPerfMeasStats::_internal_set_probesreceived(uint64_t value) { + + probesreceived_ = value; +} +inline void SLPerfMeasStats::set_probesreceived(uint64_t value) { + _internal_set_probesreceived(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasStats.ProbesReceived) +} + +// uint64 MinRtt = 4; +inline void SLPerfMeasStats::clear_minrtt() { + minrtt_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasStats::_internal_minrtt() const { + return minrtt_; +} +inline uint64_t SLPerfMeasStats::minrtt() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasStats.MinRtt) + return _internal_minrtt(); +} +inline void SLPerfMeasStats::_internal_set_minrtt(uint64_t value) { + + minrtt_ = value; +} +inline void SLPerfMeasStats::set_minrtt(uint64_t value) { + _internal_set_minrtt(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasStats.MinRtt) +} + +// uint64 MaxRtt = 5; +inline void SLPerfMeasStats::clear_maxrtt() { + maxrtt_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasStats::_internal_maxrtt() const { + return maxrtt_; +} +inline uint64_t SLPerfMeasStats::maxrtt() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasStats.MaxRtt) + return _internal_maxrtt(); +} +inline void SLPerfMeasStats::_internal_set_maxrtt(uint64_t value) { + + maxrtt_ = value; +} +inline void SLPerfMeasStats::set_maxrtt(uint64_t value) { + _internal_set_maxrtt(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasStats.MaxRtt) +} + +// uint64 AvgRtt = 6; +inline void SLPerfMeasStats::clear_avgrtt() { + avgrtt_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasStats::_internal_avgrtt() const { + return avgrtt_; +} +inline uint64_t SLPerfMeasStats::avgrtt() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasStats.AvgRtt) + return _internal_avgrtt(); +} +inline void SLPerfMeasStats::_internal_set_avgrtt(uint64_t value) { + + avgrtt_ = value; +} +inline void SLPerfMeasStats::set_avgrtt(uint64_t value) { + _internal_set_avgrtt(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasStats.AvgRtt) +} + +// ------------------------------------------------------------------- + +// SLPerfMeasReqMsgEntry + +// uint64 OperationId = 1; +inline void SLPerfMeasReqMsgEntry::clear_operationid() { + operationid_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasReqMsgEntry::_internal_operationid() const { + return operationid_; +} +inline uint64_t SLPerfMeasReqMsgEntry::operationid() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasReqMsgEntry.OperationId) + return _internal_operationid(); +} +inline void SLPerfMeasReqMsgEntry::_internal_set_operationid(uint64_t value) { + + operationid_ = value; +} +inline void SLPerfMeasReqMsgEntry::set_operationid(uint64_t value) { + _internal_set_operationid(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasReqMsgEntry.OperationId) +} + +// .service_layer.SLPerfMeasMsgType MsgType = 2; +inline void SLPerfMeasReqMsgEntry::clear_msgtype() { + msgtype_ = 0; +} +inline ::service_layer::SLPerfMeasMsgType SLPerfMeasReqMsgEntry::_internal_msgtype() const { + return static_cast< ::service_layer::SLPerfMeasMsgType >(msgtype_); +} +inline ::service_layer::SLPerfMeasMsgType SLPerfMeasReqMsgEntry::msgtype() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasReqMsgEntry.MsgType) + return _internal_msgtype(); +} +inline void SLPerfMeasReqMsgEntry::_internal_set_msgtype(::service_layer::SLPerfMeasMsgType value) { + + msgtype_ = value; +} +inline void SLPerfMeasReqMsgEntry::set_msgtype(::service_layer::SLPerfMeasMsgType value) { + _internal_set_msgtype(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasReqMsgEntry.MsgType) +} + +// string PerfSessionName = 3; +inline bool SLPerfMeasReqMsgEntry::_internal_has_perfsessionname() const { + return Value_case() == kPerfSessionName; +} +inline bool SLPerfMeasReqMsgEntry::has_perfsessionname() const { + return _internal_has_perfsessionname(); +} +inline void SLPerfMeasReqMsgEntry::set_has_perfsessionname() { + _oneof_case_[0] = kPerfSessionName; +} +inline void SLPerfMeasReqMsgEntry::clear_perfsessionname() { + if (_internal_has_perfsessionname()) { + Value_.perfsessionname_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + clear_has_Value(); + } +} +inline const std::string& SLPerfMeasReqMsgEntry::perfsessionname() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasReqMsgEntry.PerfSessionName) + return _internal_perfsessionname(); +} +template +inline void SLPerfMeasReqMsgEntry::set_perfsessionname(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_perfsessionname()) { + clear_Value(); + set_has_perfsessionname(); + Value_.perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + Value_.perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasReqMsgEntry.PerfSessionName) +} +inline std::string* SLPerfMeasReqMsgEntry::mutable_perfsessionname() { + std::string* _s = _internal_mutable_perfsessionname(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasReqMsgEntry.PerfSessionName) + return _s; +} +inline const std::string& SLPerfMeasReqMsgEntry::_internal_perfsessionname() const { + if (_internal_has_perfsessionname()) { + return Value_.perfsessionname_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void SLPerfMeasReqMsgEntry::_internal_set_perfsessionname(const std::string& value) { + if (!_internal_has_perfsessionname()) { + clear_Value(); + set_has_perfsessionname(); + Value_.perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + Value_.perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasReqMsgEntry::_internal_mutable_perfsessionname() { + if (!_internal_has_perfsessionname()) { + clear_Value(); + set_has_perfsessionname(); + Value_.perfsessionname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return Value_.perfsessionname_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasReqMsgEntry::release_perfsessionname() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasReqMsgEntry.PerfSessionName) + if (_internal_has_perfsessionname()) { + clear_has_Value(); + return Value_.perfsessionname_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); + } else { + return nullptr; + } +} +inline void SLPerfMeasReqMsgEntry::set_allocated_perfsessionname(std::string* perfsessionname) { + if (has_Value()) { + clear_Value(); + } + if (perfsessionname != nullptr) { + set_has_perfsessionname(); + Value_.perfsessionname_.UnsafeSetDefault(perfsessionname); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArenaForAllocation(); + if (arena != nullptr) { + arena->Own(perfsessionname); + } + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasReqMsgEntry.PerfSessionName) +} + +// .service_layer.SLPerfMeasMonitor Parameters = 4; +inline bool SLPerfMeasReqMsgEntry::_internal_has_parameters() const { + return Value_case() == kParameters; +} +inline bool SLPerfMeasReqMsgEntry::has_parameters() const { + return _internal_has_parameters(); +} +inline void SLPerfMeasReqMsgEntry::set_has_parameters() { + _oneof_case_[0] = kParameters; +} +inline void SLPerfMeasReqMsgEntry::clear_parameters() { + if (_internal_has_parameters()) { + if (GetArenaForAllocation() == nullptr) { + delete Value_.parameters_; + } + clear_has_Value(); + } +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasReqMsgEntry::release_parameters() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasReqMsgEntry.Parameters) + if (_internal_has_parameters()) { + clear_has_Value(); + ::service_layer::SLPerfMeasMonitor* temp = Value_.parameters_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + Value_.parameters_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPerfMeasMonitor& SLPerfMeasReqMsgEntry::_internal_parameters() const { + return _internal_has_parameters() + ? *Value_.parameters_ + : reinterpret_cast< ::service_layer::SLPerfMeasMonitor&>(::service_layer::_SLPerfMeasMonitor_default_instance_); +} +inline const ::service_layer::SLPerfMeasMonitor& SLPerfMeasReqMsgEntry::parameters() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasReqMsgEntry.Parameters) + return _internal_parameters(); +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasReqMsgEntry::unsafe_arena_release_parameters() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPerfMeasReqMsgEntry.Parameters) + if (_internal_has_parameters()) { + clear_has_Value(); + ::service_layer::SLPerfMeasMonitor* temp = Value_.parameters_; + Value_.parameters_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPerfMeasReqMsgEntry::unsafe_arena_set_allocated_parameters(::service_layer::SLPerfMeasMonitor* parameters) { + clear_Value(); + if (parameters) { + set_has_parameters(); + Value_.parameters_ = parameters; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasReqMsgEntry.Parameters) +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasReqMsgEntry::_internal_mutable_parameters() { + if (!_internal_has_parameters()) { + clear_Value(); + set_has_parameters(); + Value_.parameters_ = CreateMaybeMessage< ::service_layer::SLPerfMeasMonitor >(GetArenaForAllocation()); + } + return Value_.parameters_; +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasReqMsgEntry::mutable_parameters() { + ::service_layer::SLPerfMeasMonitor* _msg = _internal_mutable_parameters(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasReqMsgEntry.Parameters) + return _msg; +} + +inline bool SLPerfMeasReqMsgEntry::has_Value() const { + return Value_case() != VALUE_NOT_SET; +} +inline void SLPerfMeasReqMsgEntry::clear_has_Value() { + _oneof_case_[0] = VALUE_NOT_SET; +} +inline SLPerfMeasReqMsgEntry::ValueCase SLPerfMeasReqMsgEntry::Value_case() const { + return SLPerfMeasReqMsgEntry::ValueCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// SLPerfMeasReqMsg + +// repeated .service_layer.SLPerfMeasReqMsgEntry Entries = 1; +inline int SLPerfMeasReqMsg::_internal_entries_size() const { + return entries_.size(); +} +inline int SLPerfMeasReqMsg::entries_size() const { + return _internal_entries_size(); +} +inline void SLPerfMeasReqMsg::clear_entries() { + entries_.Clear(); +} +inline ::service_layer::SLPerfMeasReqMsgEntry* SLPerfMeasReqMsg::mutable_entries(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasReqMsg.Entries) + return entries_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasReqMsgEntry >* +SLPerfMeasReqMsg::mutable_entries() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLPerfMeasReqMsg.Entries) + return &entries_; +} +inline const ::service_layer::SLPerfMeasReqMsgEntry& SLPerfMeasReqMsg::_internal_entries(int index) const { + return entries_.Get(index); +} +inline const ::service_layer::SLPerfMeasReqMsgEntry& SLPerfMeasReqMsg::entries(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasReqMsg.Entries) + return _internal_entries(index); +} +inline ::service_layer::SLPerfMeasReqMsgEntry* SLPerfMeasReqMsg::_internal_add_entries() { + return entries_.Add(); +} +inline ::service_layer::SLPerfMeasReqMsgEntry* SLPerfMeasReqMsg::add_entries() { + ::service_layer::SLPerfMeasReqMsgEntry* _add = _internal_add_entries(); + // @@protoc_insertion_point(field_add:service_layer.SLPerfMeasReqMsg.Entries) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasReqMsgEntry >& +SLPerfMeasReqMsg::entries() const { + // @@protoc_insertion_point(field_list:service_layer.SLPerfMeasReqMsg.Entries) + return entries_; +} + +// ------------------------------------------------------------------- + +// SLPerfMeasRespErrMsgEntry + +// uint64 OperationId = 1; +inline void SLPerfMeasRespErrMsgEntry::clear_operationid() { + operationid_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasRespErrMsgEntry::_internal_operationid() const { + return operationid_; +} +inline uint64_t SLPerfMeasRespErrMsgEntry::operationid() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespErrMsgEntry.OperationId) + return _internal_operationid(); +} +inline void SLPerfMeasRespErrMsgEntry::_internal_set_operationid(uint64_t value) { + + operationid_ = value; +} +inline void SLPerfMeasRespErrMsgEntry::set_operationid(uint64_t value) { + _internal_set_operationid(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespErrMsgEntry.OperationId) +} + +// .service_layer.SLErrorStatus ErrStatus = 2; +inline bool SLPerfMeasRespErrMsgEntry::_internal_has_errstatus() const { + return this != internal_default_instance() && errstatus_ != nullptr; +} +inline bool SLPerfMeasRespErrMsgEntry::has_errstatus() const { + return _internal_has_errstatus(); +} +inline const ::service_layer::SLErrorStatus& SLPerfMeasRespErrMsgEntry::_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& SLPerfMeasRespErrMsgEntry::errstatus() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespErrMsgEntry.ErrStatus) + return _internal_errstatus(); +} +inline void SLPerfMeasRespErrMsgEntry::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.SLPerfMeasRespErrMsgEntry.ErrStatus) +} +inline ::service_layer::SLErrorStatus* SLPerfMeasRespErrMsgEntry::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* SLPerfMeasRespErrMsgEntry::unsafe_arena_release_errstatus() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespErrMsgEntry.ErrStatus) + + ::service_layer::SLErrorStatus* temp = errstatus_; + errstatus_ = nullptr; + return temp; +} +inline ::service_layer::SLErrorStatus* SLPerfMeasRespErrMsgEntry::_internal_mutable_errstatus() { + + if (errstatus_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); + errstatus_ = p; + } + return errstatus_; +} +inline ::service_layer::SLErrorStatus* SLPerfMeasRespErrMsgEntry::mutable_errstatus() { + ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespErrMsgEntry.ErrStatus) + return _msg; +} +inline void SLPerfMeasRespErrMsgEntry::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.SLPerfMeasRespErrMsgEntry.ErrStatus) +} + +// string PerfSessionName = 3; +inline void SLPerfMeasRespErrMsgEntry::clear_perfsessionname() { + perfsessionname_.ClearToEmpty(); +} +inline const std::string& SLPerfMeasRespErrMsgEntry::perfsessionname() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName) + return _internal_perfsessionname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void SLPerfMeasRespErrMsgEntry::set_perfsessionname(ArgT0&& arg0, ArgT... args) { + + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName) +} +inline std::string* SLPerfMeasRespErrMsgEntry::mutable_perfsessionname() { + std::string* _s = _internal_mutable_perfsessionname(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName) + return _s; +} +inline const std::string& SLPerfMeasRespErrMsgEntry::_internal_perfsessionname() const { + return perfsessionname_.Get(); +} +inline void SLPerfMeasRespErrMsgEntry::_internal_set_perfsessionname(const std::string& value) { + + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasRespErrMsgEntry::_internal_mutable_perfsessionname() { + + return perfsessionname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasRespErrMsgEntry::release_perfsessionname() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName) + return perfsessionname_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void SLPerfMeasRespErrMsgEntry::set_allocated_perfsessionname(std::string* perfsessionname) { + if (perfsessionname != nullptr) { + + } else { + + } + perfsessionname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), perfsessionname, + GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (perfsessionname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespErrMsgEntry.PerfSessionName) +} + +// ------------------------------------------------------------------- + +// SLPerfMeasRespDataMsgEntry + +// .service_layer.SLPerfMeasMsgType MsgType = 1; +inline void SLPerfMeasRespDataMsgEntry::clear_msgtype() { + msgtype_ = 0; +} +inline ::service_layer::SLPerfMeasMsgType SLPerfMeasRespDataMsgEntry::_internal_msgtype() const { + return static_cast< ::service_layer::SLPerfMeasMsgType >(msgtype_); +} +inline ::service_layer::SLPerfMeasMsgType SLPerfMeasRespDataMsgEntry::msgtype() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespDataMsgEntry.MsgType) + return _internal_msgtype(); +} +inline void SLPerfMeasRespDataMsgEntry::_internal_set_msgtype(::service_layer::SLPerfMeasMsgType value) { + + msgtype_ = value; +} +inline void SLPerfMeasRespDataMsgEntry::set_msgtype(::service_layer::SLPerfMeasMsgType value) { + _internal_set_msgtype(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespDataMsgEntry.MsgType) +} + +// string PerfSessionName = 2; +inline void SLPerfMeasRespDataMsgEntry::clear_perfsessionname() { + perfsessionname_.ClearToEmpty(); +} +inline const std::string& SLPerfMeasRespDataMsgEntry::perfsessionname() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName) + return _internal_perfsessionname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void SLPerfMeasRespDataMsgEntry::set_perfsessionname(ArgT0&& arg0, ArgT... args) { + + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName) +} +inline std::string* SLPerfMeasRespDataMsgEntry::mutable_perfsessionname() { + std::string* _s = _internal_mutable_perfsessionname(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName) + return _s; +} +inline const std::string& SLPerfMeasRespDataMsgEntry::_internal_perfsessionname() const { + return perfsessionname_.Get(); +} +inline void SLPerfMeasRespDataMsgEntry::_internal_set_perfsessionname(const std::string& value) { + + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasRespDataMsgEntry::_internal_mutable_perfsessionname() { + + return perfsessionname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasRespDataMsgEntry::release_perfsessionname() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName) + return perfsessionname_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void SLPerfMeasRespDataMsgEntry::set_allocated_perfsessionname(std::string* perfsessionname) { + if (perfsessionname != nullptr) { + + } else { + + } + perfsessionname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), perfsessionname, + GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (perfsessionname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespDataMsgEntry.PerfSessionName) +} + +// uint64 OperationId = 3; +inline void SLPerfMeasRespDataMsgEntry::clear_operationid() { + operationid_ = uint64_t{0u}; +} +inline uint64_t SLPerfMeasRespDataMsgEntry::_internal_operationid() const { + return operationid_; +} +inline uint64_t SLPerfMeasRespDataMsgEntry::operationid() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespDataMsgEntry.OperationId) + return _internal_operationid(); +} +inline void SLPerfMeasRespDataMsgEntry::_internal_set_operationid(uint64_t value) { + + operationid_ = value; +} +inline void SLPerfMeasRespDataMsgEntry::set_operationid(uint64_t value) { + _internal_set_operationid(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespDataMsgEntry.OperationId) +} + +// .service_layer.SLPerfMeasStats Stats = 4; +inline bool SLPerfMeasRespDataMsgEntry::_internal_has_stats() const { + return Data_case() == kStats; +} +inline bool SLPerfMeasRespDataMsgEntry::has_stats() const { + return _internal_has_stats(); +} +inline void SLPerfMeasRespDataMsgEntry::set_has_stats() { + _oneof_case_[0] = kStats; +} +inline void SLPerfMeasRespDataMsgEntry::clear_stats() { + if (_internal_has_stats()) { + if (GetArenaForAllocation() == nullptr) { + delete Data_.stats_; + } + clear_has_Data(); + } +} +inline ::service_layer::SLPerfMeasStats* SLPerfMeasRespDataMsgEntry::release_stats() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespDataMsgEntry.Stats) + if (_internal_has_stats()) { + clear_has_Data(); + ::service_layer::SLPerfMeasStats* temp = Data_.stats_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + Data_.stats_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPerfMeasStats& SLPerfMeasRespDataMsgEntry::_internal_stats() const { + return _internal_has_stats() + ? *Data_.stats_ + : reinterpret_cast< ::service_layer::SLPerfMeasStats&>(::service_layer::_SLPerfMeasStats_default_instance_); +} +inline const ::service_layer::SLPerfMeasStats& SLPerfMeasRespDataMsgEntry::stats() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespDataMsgEntry.Stats) + return _internal_stats(); +} +inline ::service_layer::SLPerfMeasStats* SLPerfMeasRespDataMsgEntry::unsafe_arena_release_stats() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPerfMeasRespDataMsgEntry.Stats) + if (_internal_has_stats()) { + clear_has_Data(); + ::service_layer::SLPerfMeasStats* temp = Data_.stats_; + Data_.stats_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPerfMeasRespDataMsgEntry::unsafe_arena_set_allocated_stats(::service_layer::SLPerfMeasStats* stats) { + clear_Data(); + if (stats) { + set_has_stats(); + Data_.stats_ = stats; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasRespDataMsgEntry.Stats) +} +inline ::service_layer::SLPerfMeasStats* SLPerfMeasRespDataMsgEntry::_internal_mutable_stats() { + if (!_internal_has_stats()) { + clear_Data(); + set_has_stats(); + Data_.stats_ = CreateMaybeMessage< ::service_layer::SLPerfMeasStats >(GetArenaForAllocation()); + } + return Data_.stats_; +} +inline ::service_layer::SLPerfMeasStats* SLPerfMeasRespDataMsgEntry::mutable_stats() { + ::service_layer::SLPerfMeasStats* _msg = _internal_mutable_stats(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespDataMsgEntry.Stats) + return _msg; +} + +// .service_layer.SLPerfMeasMonitor Info = 5; +inline bool SLPerfMeasRespDataMsgEntry::_internal_has_info() const { + return Data_case() == kInfo; +} +inline bool SLPerfMeasRespDataMsgEntry::has_info() const { + return _internal_has_info(); +} +inline void SLPerfMeasRespDataMsgEntry::set_has_info() { + _oneof_case_[0] = kInfo; +} +inline void SLPerfMeasRespDataMsgEntry::clear_info() { + if (_internal_has_info()) { + if (GetArenaForAllocation() == nullptr) { + delete Data_.info_; + } + clear_has_Data(); + } +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasRespDataMsgEntry::release_info() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespDataMsgEntry.Info) + if (_internal_has_info()) { + clear_has_Data(); + ::service_layer::SLPerfMeasMonitor* temp = Data_.info_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + Data_.info_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPerfMeasMonitor& SLPerfMeasRespDataMsgEntry::_internal_info() const { + return _internal_has_info() + ? *Data_.info_ + : reinterpret_cast< ::service_layer::SLPerfMeasMonitor&>(::service_layer::_SLPerfMeasMonitor_default_instance_); +} +inline const ::service_layer::SLPerfMeasMonitor& SLPerfMeasRespDataMsgEntry::info() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespDataMsgEntry.Info) + return _internal_info(); +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasRespDataMsgEntry::unsafe_arena_release_info() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPerfMeasRespDataMsgEntry.Info) + if (_internal_has_info()) { + clear_has_Data(); + ::service_layer::SLPerfMeasMonitor* temp = Data_.info_; + Data_.info_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPerfMeasRespDataMsgEntry::unsafe_arena_set_allocated_info(::service_layer::SLPerfMeasMonitor* info) { + clear_Data(); + if (info) { + set_has_info(); + Data_.info_ = info; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasRespDataMsgEntry.Info) +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasRespDataMsgEntry::_internal_mutable_info() { + if (!_internal_has_info()) { + clear_Data(); + set_has_info(); + Data_.info_ = CreateMaybeMessage< ::service_layer::SLPerfMeasMonitor >(GetArenaForAllocation()); + } + return Data_.info_; +} +inline ::service_layer::SLPerfMeasMonitor* SLPerfMeasRespDataMsgEntry::mutable_info() { + ::service_layer::SLPerfMeasMonitor* _msg = _internal_mutable_info(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespDataMsgEntry.Info) + return _msg; +} + +inline bool SLPerfMeasRespDataMsgEntry::has_Data() const { + return Data_case() != DATA_NOT_SET; +} +inline void SLPerfMeasRespDataMsgEntry::clear_has_Data() { + _oneof_case_[0] = DATA_NOT_SET; +} +inline SLPerfMeasRespDataMsgEntry::DataCase SLPerfMeasRespDataMsgEntry::Data_case() const { + return SLPerfMeasRespDataMsgEntry::DataCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// SLPerfMeasRespStateMsgEntry + +// .service_layer.SLPerfMeasSessionState State = 1; +inline void SLPerfMeasRespStateMsgEntry::clear_state() { + state_ = 0; +} +inline ::service_layer::SLPerfMeasSessionState SLPerfMeasRespStateMsgEntry::_internal_state() const { + return static_cast< ::service_layer::SLPerfMeasSessionState >(state_); +} +inline ::service_layer::SLPerfMeasSessionState SLPerfMeasRespStateMsgEntry::state() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespStateMsgEntry.State) + return _internal_state(); +} +inline void SLPerfMeasRespStateMsgEntry::_internal_set_state(::service_layer::SLPerfMeasSessionState value) { + + state_ = value; +} +inline void SLPerfMeasRespStateMsgEntry::set_state(::service_layer::SLPerfMeasSessionState value) { + _internal_set_state(value); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespStateMsgEntry.State) +} + +// optional string PerfSessionName = 2; +inline bool SLPerfMeasRespStateMsgEntry::_internal_has_perfsessionname() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool SLPerfMeasRespStateMsgEntry::has_perfsessionname() const { + return _internal_has_perfsessionname(); +} +inline void SLPerfMeasRespStateMsgEntry::clear_perfsessionname() { + perfsessionname_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& SLPerfMeasRespStateMsgEntry::perfsessionname() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName) + return _internal_perfsessionname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void SLPerfMeasRespStateMsgEntry::set_perfsessionname(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName) +} +inline std::string* SLPerfMeasRespStateMsgEntry::mutable_perfsessionname() { + std::string* _s = _internal_mutable_perfsessionname(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName) + return _s; +} +inline const std::string& SLPerfMeasRespStateMsgEntry::_internal_perfsessionname() const { + return perfsessionname_.Get(); +} +inline void SLPerfMeasRespStateMsgEntry::_internal_set_perfsessionname(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + perfsessionname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasRespStateMsgEntry::_internal_mutable_perfsessionname() { + _has_bits_[0] |= 0x00000001u; + return perfsessionname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* SLPerfMeasRespStateMsgEntry::release_perfsessionname() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName) + if (!_internal_has_perfsessionname()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + auto* p = perfsessionname_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (perfsessionname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void SLPerfMeasRespStateMsgEntry::set_allocated_perfsessionname(std::string* perfsessionname) { + if (perfsessionname != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + perfsessionname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), perfsessionname, + GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (perfsessionname_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + perfsessionname_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPerfMeasRespStateMsgEntry.PerfSessionName) +} + +// ------------------------------------------------------------------- + +// SLPerfMeasRespMsgEntry + +// .service_layer.SLPerfMeasRespErrMsgEntry Error = 1; +inline bool SLPerfMeasRespMsgEntry::_internal_has_error() const { + return Event_case() == kError; +} +inline bool SLPerfMeasRespMsgEntry::has_error() const { + return _internal_has_error(); +} +inline void SLPerfMeasRespMsgEntry::set_has_error() { + _oneof_case_[0] = kError; +} +inline void SLPerfMeasRespMsgEntry::clear_error() { + if (_internal_has_error()) { + if (GetArenaForAllocation() == nullptr) { + delete Event_.error_; + } + clear_has_Event(); + } +} +inline ::service_layer::SLPerfMeasRespErrMsgEntry* SLPerfMeasRespMsgEntry::release_error() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespMsgEntry.Error) + if (_internal_has_error()) { + clear_has_Event(); + ::service_layer::SLPerfMeasRespErrMsgEntry* temp = Event_.error_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + Event_.error_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPerfMeasRespErrMsgEntry& SLPerfMeasRespMsgEntry::_internal_error() const { + return _internal_has_error() + ? *Event_.error_ + : reinterpret_cast< ::service_layer::SLPerfMeasRespErrMsgEntry&>(::service_layer::_SLPerfMeasRespErrMsgEntry_default_instance_); +} +inline const ::service_layer::SLPerfMeasRespErrMsgEntry& SLPerfMeasRespMsgEntry::error() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespMsgEntry.Error) + return _internal_error(); +} +inline ::service_layer::SLPerfMeasRespErrMsgEntry* SLPerfMeasRespMsgEntry::unsafe_arena_release_error() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPerfMeasRespMsgEntry.Error) + if (_internal_has_error()) { + clear_has_Event(); + ::service_layer::SLPerfMeasRespErrMsgEntry* temp = Event_.error_; + Event_.error_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPerfMeasRespMsgEntry::unsafe_arena_set_allocated_error(::service_layer::SLPerfMeasRespErrMsgEntry* error) { + clear_Event(); + if (error) { + set_has_error(); + Event_.error_ = error; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasRespMsgEntry.Error) +} +inline ::service_layer::SLPerfMeasRespErrMsgEntry* SLPerfMeasRespMsgEntry::_internal_mutable_error() { + if (!_internal_has_error()) { + clear_Event(); + set_has_error(); + Event_.error_ = CreateMaybeMessage< ::service_layer::SLPerfMeasRespErrMsgEntry >(GetArenaForAllocation()); + } + return Event_.error_; +} +inline ::service_layer::SLPerfMeasRespErrMsgEntry* SLPerfMeasRespMsgEntry::mutable_error() { + ::service_layer::SLPerfMeasRespErrMsgEntry* _msg = _internal_mutable_error(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespMsgEntry.Error) + return _msg; +} + +// .service_layer.SLPerfMeasRespDataMsgEntry SessionDetail = 2; +inline bool SLPerfMeasRespMsgEntry::_internal_has_sessiondetail() const { + return Event_case() == kSessionDetail; +} +inline bool SLPerfMeasRespMsgEntry::has_sessiondetail() const { + return _internal_has_sessiondetail(); +} +inline void SLPerfMeasRespMsgEntry::set_has_sessiondetail() { + _oneof_case_[0] = kSessionDetail; +} +inline void SLPerfMeasRespMsgEntry::clear_sessiondetail() { + if (_internal_has_sessiondetail()) { + if (GetArenaForAllocation() == nullptr) { + delete Event_.sessiondetail_; + } + clear_has_Event(); + } +} +inline ::service_layer::SLPerfMeasRespDataMsgEntry* SLPerfMeasRespMsgEntry::release_sessiondetail() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespMsgEntry.SessionDetail) + if (_internal_has_sessiondetail()) { + clear_has_Event(); + ::service_layer::SLPerfMeasRespDataMsgEntry* temp = Event_.sessiondetail_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + Event_.sessiondetail_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPerfMeasRespDataMsgEntry& SLPerfMeasRespMsgEntry::_internal_sessiondetail() const { + return _internal_has_sessiondetail() + ? *Event_.sessiondetail_ + : reinterpret_cast< ::service_layer::SLPerfMeasRespDataMsgEntry&>(::service_layer::_SLPerfMeasRespDataMsgEntry_default_instance_); +} +inline const ::service_layer::SLPerfMeasRespDataMsgEntry& SLPerfMeasRespMsgEntry::sessiondetail() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespMsgEntry.SessionDetail) + return _internal_sessiondetail(); +} +inline ::service_layer::SLPerfMeasRespDataMsgEntry* SLPerfMeasRespMsgEntry::unsafe_arena_release_sessiondetail() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPerfMeasRespMsgEntry.SessionDetail) + if (_internal_has_sessiondetail()) { + clear_has_Event(); + ::service_layer::SLPerfMeasRespDataMsgEntry* temp = Event_.sessiondetail_; + Event_.sessiondetail_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPerfMeasRespMsgEntry::unsafe_arena_set_allocated_sessiondetail(::service_layer::SLPerfMeasRespDataMsgEntry* sessiondetail) { + clear_Event(); + if (sessiondetail) { + set_has_sessiondetail(); + Event_.sessiondetail_ = sessiondetail; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasRespMsgEntry.SessionDetail) +} +inline ::service_layer::SLPerfMeasRespDataMsgEntry* SLPerfMeasRespMsgEntry::_internal_mutable_sessiondetail() { + if (!_internal_has_sessiondetail()) { + clear_Event(); + set_has_sessiondetail(); + Event_.sessiondetail_ = CreateMaybeMessage< ::service_layer::SLPerfMeasRespDataMsgEntry >(GetArenaForAllocation()); + } + return Event_.sessiondetail_; +} +inline ::service_layer::SLPerfMeasRespDataMsgEntry* SLPerfMeasRespMsgEntry::mutable_sessiondetail() { + ::service_layer::SLPerfMeasRespDataMsgEntry* _msg = _internal_mutable_sessiondetail(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespMsgEntry.SessionDetail) + return _msg; +} + +// .service_layer.SLPerfMeasRespStateMsgEntry SessionState = 3; +inline bool SLPerfMeasRespMsgEntry::_internal_has_sessionstate() const { + return Event_case() == kSessionState; +} +inline bool SLPerfMeasRespMsgEntry::has_sessionstate() const { + return _internal_has_sessionstate(); +} +inline void SLPerfMeasRespMsgEntry::set_has_sessionstate() { + _oneof_case_[0] = kSessionState; +} +inline void SLPerfMeasRespMsgEntry::clear_sessionstate() { + if (_internal_has_sessionstate()) { + if (GetArenaForAllocation() == nullptr) { + delete Event_.sessionstate_; + } + clear_has_Event(); + } +} +inline ::service_layer::SLPerfMeasRespStateMsgEntry* SLPerfMeasRespMsgEntry::release_sessionstate() { + // @@protoc_insertion_point(field_release:service_layer.SLPerfMeasRespMsgEntry.SessionState) + if (_internal_has_sessionstate()) { + clear_has_Event(); + ::service_layer::SLPerfMeasRespStateMsgEntry* temp = Event_.sessionstate_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + Event_.sessionstate_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLPerfMeasRespStateMsgEntry& SLPerfMeasRespMsgEntry::_internal_sessionstate() const { + return _internal_has_sessionstate() + ? *Event_.sessionstate_ + : reinterpret_cast< ::service_layer::SLPerfMeasRespStateMsgEntry&>(::service_layer::_SLPerfMeasRespStateMsgEntry_default_instance_); +} +inline const ::service_layer::SLPerfMeasRespStateMsgEntry& SLPerfMeasRespMsgEntry::sessionstate() const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespMsgEntry.SessionState) + return _internal_sessionstate(); +} +inline ::service_layer::SLPerfMeasRespStateMsgEntry* SLPerfMeasRespMsgEntry::unsafe_arena_release_sessionstate() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLPerfMeasRespMsgEntry.SessionState) + if (_internal_has_sessionstate()) { + clear_has_Event(); + ::service_layer::SLPerfMeasRespStateMsgEntry* temp = Event_.sessionstate_; + Event_.sessionstate_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLPerfMeasRespMsgEntry::unsafe_arena_set_allocated_sessionstate(::service_layer::SLPerfMeasRespStateMsgEntry* sessionstate) { + clear_Event(); + if (sessionstate) { + set_has_sessionstate(); + Event_.sessionstate_ = sessionstate; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLPerfMeasRespMsgEntry.SessionState) +} +inline ::service_layer::SLPerfMeasRespStateMsgEntry* SLPerfMeasRespMsgEntry::_internal_mutable_sessionstate() { + if (!_internal_has_sessionstate()) { + clear_Event(); + set_has_sessionstate(); + Event_.sessionstate_ = CreateMaybeMessage< ::service_layer::SLPerfMeasRespStateMsgEntry >(GetArenaForAllocation()); + } + return Event_.sessionstate_; +} +inline ::service_layer::SLPerfMeasRespStateMsgEntry* SLPerfMeasRespMsgEntry::mutable_sessionstate() { + ::service_layer::SLPerfMeasRespStateMsgEntry* _msg = _internal_mutable_sessionstate(); + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespMsgEntry.SessionState) + return _msg; +} + +inline bool SLPerfMeasRespMsgEntry::has_Event() const { + return Event_case() != EVENT_NOT_SET; +} +inline void SLPerfMeasRespMsgEntry::clear_has_Event() { + _oneof_case_[0] = EVENT_NOT_SET; +} +inline SLPerfMeasRespMsgEntry::EventCase SLPerfMeasRespMsgEntry::Event_case() const { + return SLPerfMeasRespMsgEntry::EventCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// SLPerfMeasRespMsg + +// repeated .service_layer.SLPerfMeasRespMsgEntry Entries = 1; +inline int SLPerfMeasRespMsg::_internal_entries_size() const { + return entries_.size(); +} +inline int SLPerfMeasRespMsg::entries_size() const { + return _internal_entries_size(); +} +inline void SLPerfMeasRespMsg::clear_entries() { + entries_.Clear(); +} +inline ::service_layer::SLPerfMeasRespMsgEntry* SLPerfMeasRespMsg::mutable_entries(int index) { + // @@protoc_insertion_point(field_mutable:service_layer.SLPerfMeasRespMsg.Entries) + return entries_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasRespMsgEntry >* +SLPerfMeasRespMsg::mutable_entries() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLPerfMeasRespMsg.Entries) + return &entries_; +} +inline const ::service_layer::SLPerfMeasRespMsgEntry& SLPerfMeasRespMsg::_internal_entries(int index) const { + return entries_.Get(index); +} +inline const ::service_layer::SLPerfMeasRespMsgEntry& SLPerfMeasRespMsg::entries(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLPerfMeasRespMsg.Entries) + return _internal_entries(index); +} +inline ::service_layer::SLPerfMeasRespMsgEntry* SLPerfMeasRespMsg::_internal_add_entries() { + return entries_.Add(); +} +inline ::service_layer::SLPerfMeasRespMsgEntry* SLPerfMeasRespMsg::add_entries() { + ::service_layer::SLPerfMeasRespMsgEntry* _add = _internal_add_entries(); + // @@protoc_insertion_point(field_add:service_layer.SLPerfMeasRespMsg.Entries) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPerfMeasRespMsgEntry >& +SLPerfMeasRespMsg::entries() const { + // @@protoc_insertion_point(field_list:service_layer.SLPerfMeasRespMsg.Entries) + return entries_; +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace service_layer + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::service_layer::SLPerfMeasMsgType> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLPerfMeasMsgType>() { + return ::service_layer::SLPerfMeasMsgType_descriptor(); +} +template <> struct is_proto_enum< ::service_layer::SLPerfMeasSessionState> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLPerfMeasSessionState>() { + return ::service_layer::SLPerfMeasSessionState_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_sl_5fperf_5fmeas_2eproto diff --git a/grpc/cpp/src/gencpp/sl_route_common.grpc.pb.h b/grpc/cpp/src/gencpp/sl_route_common.grpc.pb.h index f0d012d2..6b1bb0cb 100644 --- a/grpc/cpp/src/gencpp/sl_route_common.grpc.pb.h +++ b/grpc/cpp/src/gencpp/sl_route_common.grpc.pb.h @@ -9,7 +9,7 @@ // default route status for a route object. // // ---------------------------------------------------------------- -// Copyright (c) 2016, 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2016, 2023, 2024, 2026 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // diff --git a/grpc/cpp/src/gencpp/sl_route_common.pb.cc b/grpc/cpp/src/gencpp/sl_route_common.pb.cc index 564a55c1..ddc5d7ce 100644 --- a/grpc/cpp/src/gencpp/sl_route_common.pb.cc +++ b/grpc/cpp/src/gencpp/sl_route_common.pb.cc @@ -279,6 +279,8 @@ constexpr SLRoutePath::SLRoutePath( , remoteaddress_() , pathflags_() , _pathflags_cached_byte_size_(0) + , backupindex_() + , _backupindex_cached_byte_size_(0) , vrfname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , vteproutermacaddress_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , nexthopaddress_(nullptr) @@ -288,6 +290,7 @@ constexpr SLRoutePath::SLRoutePath( , pathid_(0u) , encaptype_(0) + , minresolutionlength_(0u) , _oneof_case_{}{} struct SLRoutePathDefaultTypeInternal { constexpr SLRoutePathDefaultTypeInternal() @@ -298,6 +301,48 @@ struct SLRoutePathDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLRoutePathDefaultTypeInternal _SLRoutePath_default_instance_; +constexpr SLPathGroup_SLPath::SLPathGroup_SLPath( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : path_(nullptr){} +struct SLPathGroup_SLPathDefaultTypeInternal { + constexpr SLPathGroup_SLPathDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPathGroup_SLPathDefaultTypeInternal() {} + union { + SLPathGroup_SLPath _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroup_SLPathDefaultTypeInternal _SLPathGroup_SLPath_default_instance_; +constexpr SLPathGroup_SLPathList::SLPathGroup_SLPathList( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : paths_(){} +struct SLPathGroup_SLPathListDefaultTypeInternal { + constexpr SLPathGroup_SLPathListDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPathGroup_SLPathListDefaultTypeInternal() {} + union { + SLPathGroup_SLPathList _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroup_SLPathListDefaultTypeInternal _SLPathGroup_SLPathList_default_instance_; +constexpr SLPathGroup::SLPathGroup( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : pgflags_() + , _pgflags_cached_byte_size_(0) + , pathgroupid_(nullptr) + , admindistance_(0u) + , underlaylevel_(0) + + , _oneof_case_{}{} +struct SLPathGroupDefaultTypeInternal { + constexpr SLPathGroupDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLPathGroupDefaultTypeInternal() {} + union { + SLPathGroup _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLPathGroupDefaultTypeInternal _SLPathGroup_default_instance_; constexpr SLRoutePrefix::SLRoutePrefix( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : prefix_(nullptr) @@ -312,8 +357,8 @@ struct SLRoutePrefixDefaultTypeInternal { }; 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]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5froute_5fcommon_2eproto[23]; +static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sl_5froute_5fcommon_2eproto[4]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_sl_5froute_5fcommon_2eproto = nullptr; const uint32_t TableStruct_sl_5froute_5fcommon_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -494,8 +539,36 @@ const uint32_t TableStruct_sl_5froute_5fcommon_2eproto::offsets[] PROTOBUF_SECTI PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, vxlanpath_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, pathflags_), ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, backupindex_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, minresolutionlength_), PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePath, entry_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPath, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPath, path_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPathList, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup_SLPathList, paths_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + 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, pgflags_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, underlaylevel_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLPathGroup, entry_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::service_layer::SLRoutePrefix, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -524,7 +597,10 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 133, -1, -1, sizeof(::service_layer::SLRouteCommon)}, { 147, -1, -1, sizeof(::service_layer::SLVxLANPath)}, { 158, -1, -1, sizeof(::service_layer::SLRoutePath)}, - { 178, -1, -1, sizeof(::service_layer::SLRoutePrefix)}, + { 180, -1, -1, sizeof(::service_layer::SLPathGroup_SLPath)}, + { 187, -1, -1, sizeof(::service_layer::SLPathGroup_SLPathList)}, + { 194, -1, -1, sizeof(::service_layer::SLPathGroup)}, + { 206, -1, -1, sizeof(::service_layer::SLRoutePrefix)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -547,6 +623,9 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = 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::_SLPathGroup_SLPath_default_instance_), + reinterpret_cast(&::service_layer::_SLPathGroup_SLPathList_default_instance_), + reinterpret_cast(&::service_layer::_SLPathGroup_default_instance_), reinterpret_cast(&::service_layer::_SLRoutePrefix_default_instance_), }; @@ -599,7 +678,7 @@ const char descriptor_table_protodef_sl_5froute_5fcommon_2eproto[] PROTOBUF_SECT "dress\030\002 \001(\014\022\026\n\016DestMacAddress\030\003 \001(\014\0220\n\014S" "rcIpAddress\030\004 \001(\0132\032.service_layer.SLIpAd" "dress\0221\n\rDestIpAddress\030\005 \001(\0132\032.service_l" - "ayer.SLIpAddress\"\241\004\n\013SLRoutePath\0222\n\016Next" + "ayer.SLIpAddress\"\323\004\n\013SLRoutePath\0222\n\016Next" "hopAddress\030\001 \001(\0132\032.service_layer.SLIpAdd" "ress\0224\n\020NexthopInterface\030\002 \001(\0132\032.service" "_layer.SLInterface\022\022\n\nLoadMetric\030\003 \001(\r\022\017" @@ -612,32 +691,47 @@ const char descriptor_table_protodef_sl_5froute_5fcommon_2eproto[] PROTOBUF_SECT "rvice_layer.SLVxLANPath\022-\n\tPathFlags\030\016 \003" "(\0162\032.service_layer.SLPathFlags\0228\n\014PathGr" "oupKey\030\017 \001(\0132 .service_layer.SLPathGroup" - "RefKeyH\000B\007\n\005entryJ\004\010\r\020\016J\004\010\005\020\006R\005FlagsR\006Me" - "tric\"N\n\rSLRoutePrefix\022*\n\006Prefix\030\001 \001(\0132\032." - "service_layer.SLIpAddress\022\021\n\tPrefixLen\030\002" - " \001(\r*\312\001\n\013SLNotifType\022\032\n\026SL_EVENT_TYPE_RE" - "SERVED\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_ROU" - "TE\020\003\022\036\n\032SL_EVENT_TYPE_START_MARKER\020\004\022\034\n\030" - "SL_EVENT_TYPE_END_MARKER\020\005\022\025\n\021SL_EVENT_T" - "YPE_VRF\020\006*\302\001\n\014SLRouteFlags\022\032\n\026SL_ROUTE_F" - "LAG_RESERVED\020\000\022!\n\035SL_ROUTE_FLAG_PREFER_O" - "VER_LDP\020\001\022%\n!SL_ROUTE_FLAG_DISABLE_LABEL" - "_MERGE\020\002\022#\n\037SL_ROUTE_FLAG_VIABLE_PATHS_O" - "NLY\020\003\022\'\n#SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_" - "PATH\020\004*J\n\013SLPathFlags\022\031\n\025SL_PATH_FLAG_RE" - "SERVED\020\000\022 \n\034SL_PATH_FLAG_SINGLE_PATH_OPT" - "\020\001BQZOgithub.com/Cisco-service-layer/ser" - "vice-layer-objmodel/grpc/protos;service_" - "layerb\006proto3" + "RefKeyH\000\022\023\n\013BackupIndex\030\020 \003(\r\022\033\n\023MinReso" + "lutionLength\030\021 \001(\rB\007\n\005entryJ\004\010\r\020\016J\004\010\005\020\006R" + "\005FlagsR\006Metric\"\362\002\n\013SLPathGroup\022.\n\013PathGr" + "oupId\030\001 \001(\0132\031.service_layer.SLObjectId\022\025" + "\n\rAdminDistance\030\002 \001(\r\0229\n\010PathList\030\003 \001(\0132" + "%.service_layer.SLPathGroup.SLPathListH\000" + "\022,\n\007PgFlags\030\004 \003(\0162\033.service_layer.SLRout" + "eFlags\0226\n\rUnderlayLevel\030\005 \001(\0162\037.service_" + "layer.SLUnderlayLevels\0322\n\006SLPath\022(\n\004Path" + "\030\001 \001(\0132\032.service_layer.SLRoutePath\032>\n\nSL" + "PathList\0220\n\005Paths\030\001 \003(\0132!.service_layer." + "SLPathGroup.SLPathB\007\n\005entry\"N\n\rSLRoutePr" + "efix\022*\n\006Prefix\030\001 \001(\0132\032.service_layer.SLI" + "pAddress\022\021\n\tPrefixLen\030\002 \001(\r*\312\001\n\013SLNotifT" + "ype\022\032\n\026SL_EVENT_TYPE_RESERVED\020\000\022\027\n\023SL_EV" + "ENT_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_START_MARKER\020\004\022\034\n\030SL_EVENT_TYPE_END" + "_MARKER\020\005\022\025\n\021SL_EVENT_TYPE_VRF\020\006*\206\002\n\014SLR" + "outeFlags\022\032\n\026SL_ROUTE_FLAG_RESERVED\020\000\022!\n" + "\035SL_ROUTE_FLAG_PREFER_OVER_LDP\020\001\022%\n!SL_R" + "OUTE_FLAG_DISABLE_LABEL_MERGE\020\002\022#\n\037SL_RO" + "UTE_FLAG_VIABLE_PATHS_ONLY\020\003\022\'\n#SL_ROUTE" + "_FLAG_ACTIVE_ON_VIABLE_PATH\020\004\022\037\n\033SL_ROUT" + "E_FLAG_FRR_PATHGROUP\020\005\022!\n\035SL_ROUTE_FLAG_" + "LOSSLESS_UPDATE\020\006*c\n\013SLPathFlags\022\031\n\025SL_P" + "ATH_FLAG_RESERVED\020\000\022 \n\034SL_PATH_FLAG_SING" + "LE_PATH_OPT\020\001\022\027\n\023SL_PATH_FLAG_BACKUP\020\003*V" + "\n\020SLUnderlayLevels\022\035\n\031SL_UNDERLAY_LEVEL_" + "DEFAULT\020\000\022#\n\037SL_UNDERLAY_LEVEL_NO_FLATTE" + "NING\020\001BQZOgithub.com/Cisco-service-layer" + "/service-layer-objmodel/grpc/protos;serv" + "ice_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, 3133, 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, + false, false, 3737, 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, 23, 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, }; @@ -678,6 +772,8 @@ bool SLRouteFlags_IsValid(int value) { case 2: case 3: case 4: + case 5: + case 6: return true; default: return false; @@ -689,6 +785,21 @@ const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPathFlags_descriptor() { return file_level_enum_descriptors_sl_5froute_5fcommon_2eproto[2]; } bool SLPathFlags_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 3: + return true; + default: + return false; + } +} + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLUnderlayLevels_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_sl_5froute_5fcommon_2eproto); + return file_level_enum_descriptors_sl_5froute_5fcommon_2eproto[3]; +} +bool SLUnderlayLevels_IsValid(int value) { switch (value) { case 0: case 1: @@ -5232,7 +5343,8 @@ SLRoutePath::SLRoutePath(::PROTOBUF_NAMESPACE_ID::Arena* arena, protectedpathbitmap_(arena), labelstack_(arena), remoteaddress_(arena), - pathflags_(arena) { + pathflags_(arena), + backupindex_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); @@ -5244,7 +5356,8 @@ SLRoutePath::SLRoutePath(const SLRoutePath& from) protectedpathbitmap_(from.protectedpathbitmap_), labelstack_(from.labelstack_), remoteaddress_(from.remoteaddress_), - pathflags_(from.pathflags_) { + pathflags_(from.pathflags_), + backupindex_(from.backupindex_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); vrfname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING @@ -5278,8 +5391,8 @@ SLRoutePath::SLRoutePath(const SLRoutePath& from) vxlanpath_ = nullptr; } ::memcpy(&loadmetric_, &from.loadmetric_, - static_cast(reinterpret_cast(&encaptype_) - - reinterpret_cast(&loadmetric_)) + sizeof(encaptype_)); + static_cast(reinterpret_cast(&minresolutionlength_) - + reinterpret_cast(&loadmetric_)) + sizeof(minresolutionlength_)); clear_has_entry(); switch (from.entry_case()) { case kPathGroupKey: { @@ -5304,8 +5417,8 @@ 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(&encaptype_) - - reinterpret_cast(&nexthopaddress_)) + sizeof(encaptype_)); + 0, static_cast(reinterpret_cast(&minresolutionlength_) - + reinterpret_cast(&nexthopaddress_)) + sizeof(minresolutionlength_)); clear_has_entry(); } @@ -5365,6 +5478,7 @@ void SLRoutePath::Clear() { labelstack_.Clear(); remoteaddress_.Clear(); pathflags_.Clear(); + backupindex_.Clear(); vrfname_.ClearToEmpty(); vteproutermacaddress_.ClearToEmpty(); if (GetArenaForAllocation() == nullptr && nexthopaddress_ != nullptr) { @@ -5380,8 +5494,8 @@ void SLRoutePath::Clear() { } vxlanpath_ = nullptr; ::memset(&loadmetric_, 0, static_cast( - reinterpret_cast(&encaptype_) - - reinterpret_cast(&loadmetric_)) + sizeof(encaptype_)); + reinterpret_cast(&minresolutionlength_) - + reinterpret_cast(&loadmetric_)) + sizeof(minresolutionlength_)); clear_entry(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -5515,6 +5629,25 @@ const char* SLRoutePath::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID } else goto handle_unusual; continue; + // repeated uint32 BackupIndex = 16; + case 16: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 130)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_backupindex(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 128) { + _internal_add_backupindex(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 MinResolutionLength = 17; + case 17: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 136)) { + minresolutionlength_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -5646,6 +5779,21 @@ uint8_t* SLRoutePath::_InternalSerialize( 15, _Internal::pathgroupkey(this), target, stream); } + // repeated uint32 BackupIndex = 16; + { + int byte_size = _backupindex_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteUInt32Packed( + 16, _internal_backupindex(), byte_size, target); + } + } + + // uint32 MinResolutionLength = 17; + if (this->_internal_minresolutionlength() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(17, this->_internal_minresolutionlength(), 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); @@ -5717,6 +5865,21 @@ size_t SLRoutePath::ByteSizeLong() const { total_size += data_size; } + // repeated uint32 BackupIndex = 16; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + UInt32Size(this->backupindex_); + if (data_size > 0) { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _backupindex_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 + @@ -5768,6 +5931,13 @@ size_t SLRoutePath::ByteSizeLong() const { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_encaptype()); } + // uint32 MinResolutionLength = 17; + if (this->_internal_minresolutionlength() != 0) { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size( + this->_internal_minresolutionlength()); + } + switch (entry_case()) { // .service_layer.SLPathGroupRefKey PathGroupKey = 15; case kPathGroupKey: { @@ -5806,6 +5976,7 @@ void SLRoutePath::MergeFrom(const SLRoutePath& from) { labelstack_.MergeFrom(from.labelstack_); remoteaddress_.MergeFrom(from.remoteaddress_); pathflags_.MergeFrom(from.pathflags_); + backupindex_.MergeFrom(from.backupindex_); if (!from._internal_vrfname().empty()) { _internal_set_vrfname(from._internal_vrfname()); } @@ -5830,6 +6001,9 @@ void SLRoutePath::MergeFrom(const SLRoutePath& from) { if (from._internal_encaptype() != 0) { _internal_set_encaptype(from._internal_encaptype()); } + if (from._internal_minresolutionlength() != 0) { + _internal_set_minresolutionlength(from._internal_minresolutionlength()); + } switch (from.entry_case()) { case kPathGroupKey: { _internal_mutable_pathgroupkey()->::service_layer::SLPathGroupRefKey::MergeFrom(from._internal_pathgroupkey()); @@ -5862,6 +6036,7 @@ void SLRoutePath::InternalSwap(SLRoutePath* other) { labelstack_.InternalSwap(&other->labelstack_); remoteaddress_.InternalSwap(&other->remoteaddress_); pathflags_.InternalSwap(&other->pathflags_); + backupindex_.InternalSwap(&other->backupindex_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), &vrfname_, lhs_arena, @@ -5873,8 +6048,8 @@ void SLRoutePath::InternalSwap(SLRoutePath* other) { &other->vteproutermacaddress_, rhs_arena ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(SLRoutePath, encaptype_) - + sizeof(SLRoutePath::encaptype_) + PROTOBUF_FIELD_OFFSET(SLRoutePath, minresolutionlength_) + + sizeof(SLRoutePath::minresolutionlength_) - PROTOBUF_FIELD_OFFSET(SLRoutePath, nexthopaddress_)>( reinterpret_cast(&nexthopaddress_), reinterpret_cast(&other->nexthopaddress_)); @@ -5890,103 +6065,84 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLRoutePath::GetMetadata() const { // =================================================================== -class SLRoutePrefix::_Internal { +class SLPathGroup_SLPath::_Internal { public: - static const ::service_layer::SLIpAddress& prefix(const SLRoutePrefix* msg); + static const ::service_layer::SLRoutePath& path(const SLPathGroup_SLPath* 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; +const ::service_layer::SLRoutePath& +SLPathGroup_SLPath::_Internal::path(const SLPathGroup_SLPath* msg) { + return *msg->path_; } -SLRoutePrefix::SLRoutePrefix(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SLPathGroup_SLPath::SLPathGroup_SLPath(::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) + // @@protoc_insertion_point(arena_constructor:service_layer.SLPathGroup.SLPath) } -SLRoutePrefix::SLRoutePrefix(const SLRoutePrefix& from) +SLPathGroup_SLPath::SLPathGroup_SLPath(const SLPathGroup_SLPath& 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_); + if (from._internal_has_path()) { + path_ = new ::service_layer::SLRoutePath(*from.path_); } else { - prefix_ = nullptr; + path_ = nullptr; } - prefixlen_ = from.prefixlen_; - // @@protoc_insertion_point(copy_constructor:service_layer.SLRoutePrefix) + // @@protoc_insertion_point(copy_constructor:service_layer.SLPathGroup.SLPath) } -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_)); +inline void SLPathGroup_SLPath::SharedCtor() { +path_ = nullptr; } -SLRoutePrefix::~SLRoutePrefix() { - // @@protoc_insertion_point(destructor:service_layer.SLRoutePrefix) +SLPathGroup_SLPath::~SLPathGroup_SLPath() { + // @@protoc_insertion_point(destructor:service_layer.SLPathGroup.SLPath) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void SLRoutePrefix::SharedDtor() { +inline void SLPathGroup_SLPath::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete prefix_; + if (this != internal_default_instance()) delete path_; } -void SLRoutePrefix::ArenaDtor(void* object) { - SLRoutePrefix* _this = reinterpret_cast< SLRoutePrefix* >(object); +void SLPathGroup_SLPath::ArenaDtor(void* object) { + SLPathGroup_SLPath* _this = reinterpret_cast< SLPathGroup_SLPath* >(object); (void)_this; } -void SLRoutePrefix::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SLPathGroup_SLPath::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void SLRoutePrefix::SetCachedSize(int size) const { +void SLPathGroup_SLPath::SetCachedSize(int size) const { _cached_size_.Set(size); } -void SLRoutePrefix::Clear() { -// @@protoc_insertion_point(message_clear_start:service_layer.SLRoutePrefix) +void SLPathGroup_SLPath::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPathGroup.SLPath) 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_; + if (GetArenaForAllocation() == nullptr && path_ != nullptr) { + delete path_; } - prefix_ = nullptr; - prefixlen_ = 0u; + path_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* SLRoutePrefix::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SLPathGroup_SLPath::_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; + // .service_layer.SLRoutePath Path = 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); + ptr = ctx->ParseMessage(_internal_mutable_path(), ptr); CHK_(ptr); } else goto handle_unusual; @@ -6014,172 +6170,977 @@ const char* SLRoutePrefix::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ #undef CHK_ } -uint8_t* SLRoutePrefix::_InternalSerialize( +uint8_t* SLPathGroup_SLPath::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLRoutePrefix) + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPathGroup.SLPath) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .service_layer.SLIpAddress Prefix = 1; - if (this->_internal_has_prefix()) { + // .service_layer.SLRoutePath Path = 1; + if (this->_internal_has_path()) { 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); + 1, _Internal::path(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.SLRoutePrefix) + // @@protoc_insertion_point(serialize_to_array_end:service_layer.SLPathGroup.SLPath) return target; } -size_t SLRoutePrefix::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:service_layer.SLRoutePrefix) +size_t SLPathGroup_SLPath::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPathGroup.SLPath) 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()) { + // .service_layer.SLRoutePath Path = 1; + if (this->_internal_has_path()) { 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()); + *path_); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLRoutePrefix::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPathGroup_SLPath::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - SLRoutePrefix::MergeImpl + SLPathGroup_SLPath::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLRoutePrefix::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPathGroup_SLPath::GetClassData() const { return &_class_data_; } -void SLRoutePrefix::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SLPathGroup_SLPath::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 SLRoutePrefix::MergeFrom(const SLRoutePrefix& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLRoutePrefix) +void SLPathGroup_SLPath::MergeFrom(const SLPathGroup_SLPath& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPathGroup.SLPath) 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()); + if (from._internal_has_path()) { + _internal_mutable_path()->::service_layer::SLRoutePath::MergeFrom(from._internal_path()); } _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) +void SLPathGroup_SLPath::CopyFrom(const SLPathGroup_SLPath& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPathGroup.SLPath) if (&from == this) return; Clear(); MergeFrom(from); } -bool SLRoutePrefix::IsInitialized() const { +bool SLPathGroup_SLPath::IsInitialized() const { return true; } -void SLRoutePrefix::InternalSwap(SLRoutePrefix* other) { +void SLPathGroup_SLPath::InternalSwap(SLPathGroup_SLPath* 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_)); + swap(path_, other->path_); } -::PROTOBUF_NAMESPACE_ID::Metadata SLRoutePrefix::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup_SLPath::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]); } -// @@protoc_insertion_point(namespace_scope) -} // namespace service_layer -PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalsGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalsGetMsg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalsGetMsg >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalsGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalsGetMsgRsp >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalsGetMsgRsp >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalStatsGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalStatsGetMsg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalStatsGetMsg >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalStatsGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalStatsGetMsgRsp >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalStatsGetMsgRsp >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfReg* Arena::CreateMaybeMessage< ::service_layer::SLVrfReg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfReg >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegMsg* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegMsg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfRegMsg >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegMsgRes* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegMsgRes >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfRegMsgRes >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegMsgRsp >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfRegMsgRsp >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegGetMsg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfRegGetMsg >(arena); -} -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegGetMsgRsp >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfRegGetMsgRsp >(arena); +// =================================================================== + +class SLPathGroup_SLPathList::_Internal { + public: +}; + +SLPathGroup_SLPathList::SLPathGroup_SLPathList(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + paths_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLPathGroup.SLPathList) } -template<> PROTOBUF_NOINLINE ::service_layer::SLVRFGetStatsMsgRes* Arena::CreateMaybeMessage< ::service_layer::SLVRFGetStatsMsgRes >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVRFGetStatsMsgRes >(arena); +SLPathGroup_SLPathList::SLPathGroup_SLPathList(const SLPathGroup_SLPathList& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + paths_(from.paths_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:service_layer.SLPathGroup.SLPathList) } -template<> PROTOBUF_NOINLINE ::service_layer::SLVRFGetStatsMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLVRFGetStatsMsgRsp >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVRFGetStatsMsgRsp >(arena); + +inline void SLPathGroup_SLPathList::SharedCtor() { } -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGetNotifMsg* Arena::CreateMaybeMessage< ::service_layer::SLRouteGetNotifMsg >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteGetNotifMsg >(arena); + +SLPathGroup_SLPathList::~SLPathGroup_SLPathList() { + // @@protoc_insertion_point(destructor:service_layer.SLPathGroup.SLPathList) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteNotifStatus* Arena::CreateMaybeMessage< ::service_layer::SLRouteNotifStatus >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteNotifStatus >(arena); + +inline void SLPathGroup_SLPathList::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); } -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteNotifMarker* Arena::CreateMaybeMessage< ::service_layer::SLRouteNotifMarker >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteNotifMarker >(arena); + +void SLPathGroup_SLPathList::ArenaDtor(void* object) { + SLPathGroup_SLPathList* _this = reinterpret_cast< SLPathGroup_SLPathList* >(object); + (void)_this; } -template<> PROTOBUF_NOINLINE ::service_layer::SLVrfNotif* Arena::CreateMaybeMessage< ::service_layer::SLVrfNotif >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVrfNotif >(arena); +void SLPathGroup_SLPathList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -template<> PROTOBUF_NOINLINE ::service_layer::SLRouteCommon* Arena::CreateMaybeMessage< ::service_layer::SLRouteCommon >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRouteCommon >(arena); +void SLPathGroup_SLPathList::SetCachedSize(int size) const { + _cached_size_.Set(size); } -template<> PROTOBUF_NOINLINE ::service_layer::SLVxLANPath* Arena::CreateMaybeMessage< ::service_layer::SLVxLANPath >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLVxLANPath >(arena); + +void SLPathGroup_SLPathList::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPathGroup.SLPathList) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + paths_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -template<> PROTOBUF_NOINLINE ::service_layer::SLRoutePath* Arena::CreateMaybeMessage< ::service_layer::SLRoutePath >(Arena* arena) { - return Arena::CreateMessageInternal< ::service_layer::SLRoutePath >(arena); + +const char* SLPathGroup_SLPathList::_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.SLPathGroup.SLPath Paths = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + 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<10>(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* SLPathGroup_SLPathList::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPathGroup.SLPathList) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .service_layer.SLPathGroup.SLPath Paths = 1; + 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(1, this->_internal_paths(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.SLPathGroup.SLPathList) + return target; +} + +size_t SLPathGroup_SLPathList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPathGroup.SLPathList) + 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.SLPathGroup.SLPath Paths = 1; + total_size += 1UL * this->_internal_paths_size(); + for (const auto& msg : this->paths_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPathGroup_SLPathList::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPathGroup_SLPathList::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPathGroup_SLPathList::GetClassData() const { return &_class_data_; } + +void SLPathGroup_SLPathList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPathGroup_SLPathList::MergeFrom(const SLPathGroup_SLPathList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPathGroup.SLPathList) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + paths_.MergeFrom(from.paths_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPathGroup_SLPathList::CopyFrom(const SLPathGroup_SLPathList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPathGroup.SLPathList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPathGroup_SLPathList::IsInitialized() const { + return true; +} + +void SLPathGroup_SLPathList::InternalSwap(SLPathGroup_SLPathList* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + paths_.InternalSwap(&other->paths_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup_SLPathList::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[20]); +} + +// =================================================================== + +class SLPathGroup::_Internal { + public: + static const ::service_layer::SLObjectId& pathgroupid(const SLPathGroup* msg); + static const ::service_layer::SLPathGroup_SLPathList& pathlist(const SLPathGroup* msg); +}; + +const ::service_layer::SLObjectId& +SLPathGroup::_Internal::pathgroupid(const SLPathGroup* msg) { + return *msg->pathgroupid_; +} +const ::service_layer::SLPathGroup_SLPathList& +SLPathGroup::_Internal::pathlist(const SLPathGroup* msg) { + return *msg->entry_.pathlist_; +} +void SLPathGroup::clear_pathgroupid() { + if (GetArenaForAllocation() == nullptr && pathgroupid_ != nullptr) { + delete pathgroupid_; + } + pathgroupid_ = nullptr; +} +void SLPathGroup::set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList* pathlist) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_entry(); + if (pathlist) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLPathGroup_SLPathList>::GetOwningArena(pathlist); + if (message_arena != submessage_arena) { + pathlist = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, pathlist, submessage_arena); + } + set_has_pathlist(); + entry_.pathlist_ = pathlist; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.PathList) +} +SLPathGroup::SLPathGroup(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + pgflags_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:service_layer.SLPathGroup) +} +SLPathGroup::SLPathGroup(const SLPathGroup& from) + : ::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(&underlaylevel_) - + reinterpret_cast(&admindistance_)) + sizeof(underlaylevel_)); + clear_has_entry(); + switch (from.entry_case()) { + case kPathList: { + _internal_mutable_pathlist()->::service_layer::SLPathGroup_SLPathList::MergeFrom(from._internal_pathlist()); + break; + } + case ENTRY_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service_layer.SLPathGroup) +} + +inline void SLPathGroup::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&pathgroupid_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&underlaylevel_) - + reinterpret_cast(&pathgroupid_)) + sizeof(underlaylevel_)); +clear_has_entry(); +} + +SLPathGroup::~SLPathGroup() { + // @@protoc_insertion_point(destructor:service_layer.SLPathGroup) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLPathGroup::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete pathgroupid_; + if (has_entry()) { + clear_entry(); + } +} + +void SLPathGroup::ArenaDtor(void* object) { + SLPathGroup* _this = reinterpret_cast< SLPathGroup* >(object); + (void)_this; +} +void SLPathGroup::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLPathGroup::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLPathGroup::clear_entry() { +// @@protoc_insertion_point(one_of_clear_start:service_layer.SLPathGroup) + switch (entry_case()) { + case kPathList: { + if (GetArenaForAllocation() == nullptr) { + delete entry_.pathlist_; + } + break; + } + case ENTRY_NOT_SET: { + break; + } + } + _oneof_case_[0] = ENTRY_NOT_SET; +} + + +void SLPathGroup::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLPathGroup) + uint32_t cached_has_bits = 0; + // 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(&underlaylevel_) - + reinterpret_cast(&admindistance_)) + sizeof(underlaylevel_)); + clear_entry(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLPathGroup::_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.SLObjectId PathGroupId = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_pathgroupid(), 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; + // .service_layer.SLPathGroup.SLPathList PathList = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_pathlist(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated .service_layer.SLRouteFlags PgFlags = 4; + case 4: + 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; + // .service_layer.SLUnderlayLevels UnderlayLevel = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_underlaylevel(static_cast<::service_layer::SLUnderlayLevels>(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* SLPathGroup::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLPathGroup) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service_layer.SLObjectId PathGroupId = 1; + if (this->_internal_has_pathgroupid()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::pathgroupid(this), target, stream); + } + + // uint32 AdminDistance = 2; + if (this->_internal_admindistance() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_admindistance(), target); + } + + // .service_layer.SLPathGroup.SLPathList PathList = 3; + if (_internal_has_pathlist()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::pathlist(this), target, stream); + } + + // 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); + } + } + + // .service_layer.SLUnderlayLevels UnderlayLevel = 5; + if (this->_internal_underlaylevel() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 5, this->_internal_underlaylevel(), 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.SLPathGroup) + return target; +} + +size_t SLPathGroup::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLPathGroup) + 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.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 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *pathgroupid_); + } + + // uint32 AdminDistance = 2; + if (this->_internal_admindistance() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32SizePlusOne(this->_internal_admindistance()); + } + + // .service_layer.SLUnderlayLevels UnderlayLevel = 5; + if (this->_internal_underlaylevel() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_underlaylevel()); + } + + switch (entry_case()) { + // .service_layer.SLPathGroup.SLPathList PathList = 3; + case kPathList: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *entry_.pathlist_); + break; + } + case ENTRY_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLPathGroup::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLPathGroup::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLPathGroup::GetClassData() const { return &_class_data_; } + +void SLPathGroup::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLPathGroup::MergeFrom(const SLPathGroup& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLPathGroup) + GOOGLE_DCHECK_NE(&from, this); + 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_underlaylevel() != 0) { + _internal_set_underlaylevel(from._internal_underlaylevel()); + } + switch (from.entry_case()) { + case kPathList: { + _internal_mutable_pathlist()->::service_layer::SLPathGroup_SLPathList::MergeFrom(from._internal_pathlist()); + break; + } + case ENTRY_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLPathGroup::CopyFrom(const SLPathGroup& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLPathGroup) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLPathGroup::IsInitialized() const { + return true; +} + +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, underlaylevel_) + + sizeof(SLPathGroup::underlaylevel_) + - PROTOBUF_FIELD_OFFSET(SLPathGroup, pathgroupid_)>( + reinterpret_cast(&pathgroupid_), + reinterpret_cast(&other->pathgroupid_)); + swap(entry_, other->entry_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLPathGroup::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[21]); +} + +// =================================================================== + +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[22]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace service_layer +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalsGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalsGetMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalsGetMsg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalsGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalsGetMsgRsp >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalsGetMsgRsp >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalStatsGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalStatsGetMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalStatsGetMsg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGlobalStatsGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLRouteGlobalStatsGetMsgRsp >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteGlobalStatsGetMsgRsp >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVrfReg* Arena::CreateMaybeMessage< ::service_layer::SLVrfReg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVrfReg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegMsg* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVrfRegMsg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegMsgRes* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegMsgRes >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVrfRegMsgRes >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegMsgRsp >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVrfRegMsgRsp >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegGetMsg* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegGetMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVrfRegGetMsg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVrfRegGetMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLVrfRegGetMsgRsp >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVrfRegGetMsgRsp >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVRFGetStatsMsgRes* Arena::CreateMaybeMessage< ::service_layer::SLVRFGetStatsMsgRes >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVRFGetStatsMsgRes >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVRFGetStatsMsgRsp* Arena::CreateMaybeMessage< ::service_layer::SLVRFGetStatsMsgRsp >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVRFGetStatsMsgRsp >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteGetNotifMsg* Arena::CreateMaybeMessage< ::service_layer::SLRouteGetNotifMsg >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteGetNotifMsg >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteNotifStatus* Arena::CreateMaybeMessage< ::service_layer::SLRouteNotifStatus >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteNotifStatus >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLRouteNotifMarker* Arena::CreateMaybeMessage< ::service_layer::SLRouteNotifMarker >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteNotifMarker >(arena); +} +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::SLRouteCommon* Arena::CreateMaybeMessage< ::service_layer::SLRouteCommon >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLRouteCommon >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLVxLANPath* Arena::CreateMaybeMessage< ::service_layer::SLVxLANPath >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLVxLANPath >(arena); +} +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::SLPathGroup_SLPath* Arena::CreateMaybeMessage< ::service_layer::SLPathGroup_SLPath >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPathGroup_SLPath >(arena); +} +template<> PROTOBUF_NOINLINE ::service_layer::SLPathGroup_SLPathList* Arena::CreateMaybeMessage< ::service_layer::SLPathGroup_SLPathList >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLPathGroup_SLPathList >(arena); +} +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::SLRoutePrefix* Arena::CreateMaybeMessage< ::service_layer::SLRoutePrefix >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLRoutePrefix >(arena); diff --git a/grpc/cpp/src/gencpp/sl_route_common.pb.h b/grpc/cpp/src/gencpp/sl_route_common.pb.h index 5a6f78db..04673b7c 100644 --- a/grpc/cpp/src/gencpp/sl_route_common.pb.h +++ b/grpc/cpp/src/gencpp/sl_route_common.pb.h @@ -49,7 +49,7 @@ struct TableStruct_sl_5froute_5fcommon_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[20] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[23] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -57,6 +57,15 @@ struct TableStruct_sl_5froute_5fcommon_2eproto { }; extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5froute_5fcommon_2eproto; namespace service_layer { +class SLPathGroup; +struct SLPathGroupDefaultTypeInternal; +extern SLPathGroupDefaultTypeInternal _SLPathGroup_default_instance_; +class SLPathGroup_SLPath; +struct SLPathGroup_SLPathDefaultTypeInternal; +extern SLPathGroup_SLPathDefaultTypeInternal _SLPathGroup_SLPath_default_instance_; +class SLPathGroup_SLPathList; +struct SLPathGroup_SLPathListDefaultTypeInternal; +extern SLPathGroup_SLPathListDefaultTypeInternal _SLPathGroup_SLPathList_default_instance_; class SLRouteCommon; struct SLRouteCommonDefaultTypeInternal; extern SLRouteCommonDefaultTypeInternal _SLRouteCommon_default_instance_; @@ -119,6 +128,9 @@ struct SLVxLANPathDefaultTypeInternal; extern SLVxLANPathDefaultTypeInternal _SLVxLANPath_default_instance_; } // namespace service_layer PROTOBUF_NAMESPACE_OPEN +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::SLRouteCommon* Arena::CreateMaybeMessage<::service_layer::SLRouteCommon>(Arena*); template<> ::service_layer::SLRouteGetNotifMsg* Arena::CreateMaybeMessage<::service_layer::SLRouteGetNotifMsg>(Arena*); template<> ::service_layer::SLRouteGlobalStatsGetMsg* Arena::CreateMaybeMessage<::service_layer::SLRouteGlobalStatsGetMsg>(Arena*); @@ -178,12 +190,14 @@ enum SLRouteFlags : int { SL_ROUTE_FLAG_DISABLE_LABEL_MERGE = 2, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY = 3, SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH = 4, + SL_ROUTE_FLAG_FRR_PATHGROUP = 5, + SL_ROUTE_FLAG_LOSSLESS_UPDATE = 6, SLRouteFlags_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLRouteFlags_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool SLRouteFlags_IsValid(int value); constexpr SLRouteFlags SLRouteFlags_MIN = SL_ROUTE_FLAG_RESERVED; -constexpr SLRouteFlags SLRouteFlags_MAX = SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH; +constexpr SLRouteFlags SLRouteFlags_MAX = SL_ROUTE_FLAG_LOSSLESS_UPDATE; constexpr int SLRouteFlags_ARRAYSIZE = SLRouteFlags_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLRouteFlags_descriptor(); @@ -203,12 +217,13 @@ inline bool SLRouteFlags_Parse( enum SLPathFlags : int { SL_PATH_FLAG_RESERVED = 0, SL_PATH_FLAG_SINGLE_PATH_OPT = 1, + SL_PATH_FLAG_BACKUP = 3, SLPathFlags_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLPathFlags_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool SLPathFlags_IsValid(int value); constexpr SLPathFlags SLPathFlags_MIN = SL_PATH_FLAG_RESERVED; -constexpr SLPathFlags SLPathFlags_MAX = SL_PATH_FLAG_SINGLE_PATH_OPT; +constexpr SLPathFlags SLPathFlags_MAX = SL_PATH_FLAG_BACKUP; constexpr int SLPathFlags_ARRAYSIZE = SLPathFlags_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLPathFlags_descriptor(); @@ -225,6 +240,31 @@ inline bool SLPathFlags_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( SLPathFlags_descriptor(), name, value); } +enum SLUnderlayLevels : int { + SL_UNDERLAY_LEVEL_DEFAULT = 0, + SL_UNDERLAY_LEVEL_NO_FLATTENING = 1, + SLUnderlayLevels_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + SLUnderlayLevels_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool SLUnderlayLevels_IsValid(int value); +constexpr SLUnderlayLevels SLUnderlayLevels_MIN = SL_UNDERLAY_LEVEL_DEFAULT; +constexpr SLUnderlayLevels SLUnderlayLevels_MAX = SL_UNDERLAY_LEVEL_NO_FLATTENING; +constexpr int SLUnderlayLevels_ARRAYSIZE = SLUnderlayLevels_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLUnderlayLevels_descriptor(); +template +inline const std::string& SLUnderlayLevels_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SLUnderlayLevels_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + SLUnderlayLevels_descriptor(), enum_t_value); +} +inline bool SLUnderlayLevels_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SLUnderlayLevels* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + SLUnderlayLevels_descriptor(), name, value); +} // =================================================================== class SLRouteGlobalsGetMsg final : @@ -3500,6 +3540,7 @@ class SLRoutePath final : kLabelStackFieldNumber = 8, kRemoteAddressFieldNumber = 9, kPathFlagsFieldNumber = 14, + kBackupIndexFieldNumber = 16, kVrfNameFieldNumber = 4, kVtepRouterMacAddressFieldNumber = 11, kNexthopAddressFieldNumber = 1, @@ -3508,6 +3549,7 @@ class SLRoutePath final : kLoadMetricFieldNumber = 3, kPathIdFieldNumber = 6, kEncapTypeFieldNumber = 10, + kMinResolutionLengthFieldNumber = 17, kPathGroupKeyFieldNumber = 15, }; // repeated uint64 ProtectedPathBitmap = 7; @@ -3589,6 +3631,28 @@ class SLRoutePath final : const ::PROTOBUF_NAMESPACE_ID::RepeatedField& pathflags() const; ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_pathflags(); + // repeated uint32 BackupIndex = 16; + int backupindex_size() const; + private: + int _internal_backupindex_size() const; + public: + void clear_backupindex(); + private: + uint32_t _internal_backupindex(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& + _internal_backupindex() const; + void _internal_add_backupindex(uint32_t value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* + _internal_mutable_backupindex(); + public: + uint32_t backupindex(int index) const; + void set_backupindex(int index, uint32_t value); + void add_backupindex(uint32_t value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& + backupindex() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* + mutable_backupindex(); + // string VrfName = 4; void clear_vrfname(); const std::string& vrfname() const; @@ -3698,6 +3762,15 @@ class SLRoutePath final : void _internal_set_encaptype(::service_layer::SLEncapType value); public: + // uint32 MinResolutionLength = 17; + void clear_minresolutionlength(); + uint32_t minresolutionlength() const; + void set_minresolutionlength(uint32_t value); + private: + uint32_t _internal_minresolutionlength() const; + void _internal_set_minresolutionlength(uint32_t value); + public: + // .service_layer.SLPathGroupRefKey PathGroupKey = 15; bool has_pathgroupkey() const; private: @@ -3736,6 +3809,8 @@ class SLRoutePath final : ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLIpAddress > remoteaddress_; ::PROTOBUF_NAMESPACE_ID::RepeatedField pathflags_; mutable std::atomic _pathflags_cached_byte_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t > backupindex_; + mutable std::atomic _backupindex_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vrfname_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vteproutermacaddress_; ::service_layer::SLIpAddress* nexthopaddress_; @@ -3744,6 +3819,7 @@ class SLRoutePath final : uint32_t loadmetric_; uint32_t pathid_; int encaptype_; + uint32_t minresolutionlength_; union EntryUnion { constexpr EntryUnion() : _constinit_{} {} ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; @@ -3756,24 +3832,24 @@ class SLRoutePath final : }; // ------------------------------------------------------------------- -class SLRoutePrefix final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLRoutePrefix) */ { +class SLPathGroup_SLPath final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPathGroup.SLPath) */ { public: - inline SLRoutePrefix() : SLRoutePrefix(nullptr) {} - ~SLRoutePrefix() override; - explicit constexpr SLRoutePrefix(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SLPathGroup_SLPath() : SLPathGroup_SLPath(nullptr) {} + ~SLPathGroup_SLPath() override; + explicit constexpr SLPathGroup_SLPath(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - SLRoutePrefix(const SLRoutePrefix& from); - SLRoutePrefix(SLRoutePrefix&& from) noexcept - : SLRoutePrefix() { + SLPathGroup_SLPath(const SLPathGroup_SLPath& from); + SLPathGroup_SLPath(SLPathGroup_SLPath&& from) noexcept + : SLPathGroup_SLPath() { *this = ::std::move(from); } - inline SLRoutePrefix& operator=(const SLRoutePrefix& from) { + inline SLPathGroup_SLPath& operator=(const SLPathGroup_SLPath& from) { CopyFrom(from); return *this; } - inline SLRoutePrefix& operator=(SLRoutePrefix&& from) noexcept { + inline SLPathGroup_SLPath& operator=(SLPathGroup_SLPath&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3796,20 +3872,20 @@ class SLRoutePrefix final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SLRoutePrefix& default_instance() { + static const SLPathGroup_SLPath& default_instance() { return *internal_default_instance(); } - static inline const SLRoutePrefix* internal_default_instance() { - return reinterpret_cast( - &_SLRoutePrefix_default_instance_); + static inline const SLPathGroup_SLPath* internal_default_instance() { + return reinterpret_cast( + &_SLPathGroup_SLPath_default_instance_); } static constexpr int kIndexInFileMessages = 19; - friend void swap(SLRoutePrefix& a, SLRoutePrefix& b) { + friend void swap(SLPathGroup_SLPath& a, SLPathGroup_SLPath& b) { a.Swap(&b); } - inline void Swap(SLRoutePrefix* other) { + inline void Swap(SLPathGroup_SLPath* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3822,7 +3898,7 @@ class SLRoutePrefix final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SLRoutePrefix* other) { + void UnsafeArenaSwap(SLPathGroup_SLPath* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3830,13 +3906,13 @@ class SLRoutePrefix final : // implements Message ---------------------------------------------- - SLRoutePrefix* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SLPathGroup_SLPath* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SLRoutePrefix& from); + void CopyFrom(const SLPathGroup_SLPath& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const SLRoutePrefix& from); + void MergeFrom(const SLPathGroup_SLPath& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3853,15 +3929,15 @@ class SLRoutePrefix final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(SLRoutePrefix* other); + void InternalSwap(SLPathGroup_SLPath* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "service_layer.SLRoutePrefix"; + return "service_layer.SLPathGroup.SLPath"; } protected: - explicit SLRoutePrefix(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SLPathGroup_SLPath(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -3878,190 +3954,737 @@ class SLRoutePrefix final : // accessors ------------------------------------------------------- enum : int { - kPrefixFieldNumber = 1, - kPrefixLenFieldNumber = 2, + kPathFieldNumber = 1, }; - // .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); + // .service_layer.SLRoutePath Path = 1; + bool has_path() const; private: - const ::service_layer::SLIpAddress& _internal_prefix() const; - ::service_layer::SLIpAddress* _internal_mutable_prefix(); + bool _internal_has_path() const; 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); + void clear_path(); + const ::service_layer::SLRoutePath& path() const; + PROTOBUF_NODISCARD ::service_layer::SLRoutePath* release_path(); + ::service_layer::SLRoutePath* mutable_path(); + void set_allocated_path(::service_layer::SLRoutePath* path); private: - uint32_t _internal_prefixlen() const; - void _internal_set_prefixlen(uint32_t value); + const ::service_layer::SLRoutePath& _internal_path() const; + ::service_layer::SLRoutePath* _internal_mutable_path(); public: + void unsafe_arena_set_allocated_path( + ::service_layer::SLRoutePath* path); + ::service_layer::SLRoutePath* unsafe_arena_release_path(); - // @@protoc_insertion_point(class_scope:service_layer.SLRoutePrefix) + // @@protoc_insertion_point(class_scope:service_layer.SLPathGroup.SLPath) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::service_layer::SLIpAddress* prefix_; - uint32_t prefixlen_; + ::service_layer::SLRoutePath* path_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5froute_5fcommon_2eproto; }; -// =================================================================== - - -// =================================================================== +// ------------------------------------------------------------------- -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// SLRouteGlobalsGetMsg +class SLPathGroup_SLPathList final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPathGroup.SLPathList) */ { + public: + inline SLPathGroup_SLPathList() : SLPathGroup_SLPathList(nullptr) {} + ~SLPathGroup_SLPathList() override; + explicit constexpr SLPathGroup_SLPathList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); -// ------------------------------------------------------------------- + SLPathGroup_SLPathList(const SLPathGroup_SLPathList& from); + SLPathGroup_SLPathList(SLPathGroup_SLPathList&& from) noexcept + : SLPathGroup_SLPathList() { + *this = ::std::move(from); + } -// SLRouteGlobalsGetMsgRsp + inline SLPathGroup_SLPathList& operator=(const SLPathGroup_SLPathList& from) { + CopyFrom(from); + return *this; + } + inline SLPathGroup_SLPathList& operator=(SLPathGroup_SLPathList&& 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; + } -// .service_layer.SLErrorStatus ErrStatus = 1; -inline bool SLRouteGlobalsGetMsgRsp::_internal_has_errstatus() const { - return this != internal_default_instance() && errstatus_ != nullptr; -} -inline bool SLRouteGlobalsGetMsgRsp::has_errstatus() const { - return _internal_has_errstatus(); -} -inline const ::service_layer::SLErrorStatus& SLRouteGlobalsGetMsgRsp::_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& SLRouteGlobalsGetMsgRsp::errstatus() const { - // @@protoc_insertion_point(field_get:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) - return _internal_errstatus(); -} -inline void SLRouteGlobalsGetMsgRsp::unsafe_arena_set_allocated_errstatus( - ::service_layer::SLErrorStatus* errstatus) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(errstatus_); + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); } - errstatus_ = errstatus; - if (errstatus) { - - } else { - + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) -} -inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::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); + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::unsafe_arena_release_errstatus() { - // @@protoc_insertion_point(field_release:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) - - ::service_layer::SLErrorStatus* temp = errstatus_; - errstatus_ = nullptr; - return temp; -} -inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::_internal_mutable_errstatus() { - - if (errstatus_ == nullptr) { - auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); - errstatus_ = p; + static const SLPathGroup_SLPathList& default_instance() { + return *internal_default_instance(); } - return errstatus_; -} -inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::mutable_errstatus() { - ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); - // @@protoc_insertion_point(field_mutable:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) - return _msg; -} -inline void SLRouteGlobalsGetMsgRsp::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_); + static inline const SLPathGroup_SLPathList* internal_default_instance() { + return reinterpret_cast( + &_SLPathGroup_SLPathList_default_instance_); } - 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); + static constexpr int kIndexInFileMessages = + 20; + + friend void swap(SLPathGroup_SLPathList& a, SLPathGroup_SLPathList& b) { + a.Swap(&b); + } + inline void Swap(SLPathGroup_SLPathList* 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); } - - } else { - } - errstatus_ = errstatus; - // @@protoc_insertion_point(field_set_allocated:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) -} + void UnsafeArenaSwap(SLPathGroup_SLPathList* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } -// uint32 MaxVrfregPerVrfregmsg = 2; -inline void SLRouteGlobalsGetMsgRsp::clear_maxvrfregpervrfregmsg() { - maxvrfregpervrfregmsg_ = 0u; -} -inline uint32_t SLRouteGlobalsGetMsgRsp::_internal_maxvrfregpervrfregmsg() const { - return maxvrfregpervrfregmsg_; -} -inline uint32_t SLRouteGlobalsGetMsgRsp::maxvrfregpervrfregmsg() const { - // @@protoc_insertion_point(field_get:service_layer.SLRouteGlobalsGetMsgRsp.MaxVrfregPerVrfregmsg) - return _internal_maxvrfregpervrfregmsg(); -} -inline void SLRouteGlobalsGetMsgRsp::_internal_set_maxvrfregpervrfregmsg(uint32_t value) { - - maxvrfregpervrfregmsg_ = value; -} -inline void SLRouteGlobalsGetMsgRsp::set_maxvrfregpervrfregmsg(uint32_t value) { - _internal_set_maxvrfregpervrfregmsg(value); - // @@protoc_insertion_point(field_set:service_layer.SLRouteGlobalsGetMsgRsp.MaxVrfregPerVrfregmsg) -} + // implements Message ---------------------------------------------- -// uint32 MaxRoutePerRoutemsg = 3; -inline void SLRouteGlobalsGetMsgRsp::clear_maxrouteperroutemsg() { - maxrouteperroutemsg_ = 0u; -} -inline uint32_t SLRouteGlobalsGetMsgRsp::_internal_maxrouteperroutemsg() const { - return maxrouteperroutemsg_; -} -inline uint32_t SLRouteGlobalsGetMsgRsp::maxrouteperroutemsg() const { - // @@protoc_insertion_point(field_get:service_layer.SLRouteGlobalsGetMsgRsp.MaxRoutePerRoutemsg) - return _internal_maxrouteperroutemsg(); -} -inline void SLRouteGlobalsGetMsgRsp::_internal_set_maxrouteperroutemsg(uint32_t value) { - - maxrouteperroutemsg_ = value; -} -inline void SLRouteGlobalsGetMsgRsp::set_maxrouteperroutemsg(uint32_t value) { - _internal_set_maxrouteperroutemsg(value); - // @@protoc_insertion_point(field_set:service_layer.SLRouteGlobalsGetMsgRsp.MaxRoutePerRoutemsg) -} + SLPathGroup_SLPathList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPathGroup_SLPathList& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPathGroup_SLPathList& 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(SLPathGroup_SLPathList* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPathGroup.SLPathList"; + } + protected: + explicit SLPathGroup_SLPathList(::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 = 1, + }; + // repeated .service_layer.SLPathGroup.SLPath Paths = 1; + int paths_size() const; + private: + int _internal_paths_size() const; + public: + void clear_paths(); + ::service_layer::SLPathGroup_SLPath* mutable_paths(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >* + mutable_paths(); + private: + const ::service_layer::SLPathGroup_SLPath& _internal_paths(int index) const; + ::service_layer::SLPathGroup_SLPath* _internal_add_paths(); + public: + const ::service_layer::SLPathGroup_SLPath& paths(int index) const; + ::service_layer::SLPathGroup_SLPath* add_paths(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath >& + paths() const; + + // @@protoc_insertion_point(class_scope:service_layer.SLPathGroup.SLPathList) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLPathGroup_SLPath > paths_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5froute_5fcommon_2eproto; +}; +// ------------------------------------------------------------------- + +class SLPathGroup final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLPathGroup) */ { + public: + inline SLPathGroup() : SLPathGroup(nullptr) {} + ~SLPathGroup() override; + explicit constexpr SLPathGroup(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLPathGroup(const SLPathGroup& from); + SLPathGroup(SLPathGroup&& from) noexcept + : SLPathGroup() { + *this = ::std::move(from); + } + + inline SLPathGroup& operator=(const SLPathGroup& from) { + CopyFrom(from); + return *this; + } + inline SLPathGroup& operator=(SLPathGroup&& 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 SLPathGroup& default_instance() { + return *internal_default_instance(); + } + enum EntryCase { + kPathList = 3, + ENTRY_NOT_SET = 0, + }; + + static inline const SLPathGroup* internal_default_instance() { + return reinterpret_cast( + &_SLPathGroup_default_instance_); + } + static constexpr int kIndexInFileMessages = + 21; + + friend void swap(SLPathGroup& a, SLPathGroup& b) { + a.Swap(&b); + } + inline void Swap(SLPathGroup* 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(SLPathGroup* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLPathGroup* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLPathGroup& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLPathGroup& 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(SLPathGroup* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLPathGroup"; + } + protected: + explicit SLPathGroup(::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 SLPathGroup_SLPath SLPath; + typedef SLPathGroup_SLPathList SLPathList; + + // accessors ------------------------------------------------------- + + enum : int { + kPgFlagsFieldNumber = 4, + kPathGroupIdFieldNumber = 1, + kAdminDistanceFieldNumber = 2, + kUnderlayLevelFieldNumber = 5, + 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: + bool _internal_has_pathgroupid() const; + public: + 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: + 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(); + + // 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: + + // .service_layer.SLUnderlayLevels UnderlayLevel = 5; + void clear_underlaylevel(); + ::service_layer::SLUnderlayLevels underlaylevel() const; + void set_underlaylevel(::service_layer::SLUnderlayLevels value); + private: + ::service_layer::SLUnderlayLevels _internal_underlaylevel() const; + void _internal_set_underlaylevel(::service_layer::SLUnderlayLevels value); + public: + + // .service_layer.SLPathGroup.SLPathList PathList = 3; + bool has_pathlist() const; + private: + bool _internal_has_pathlist() const; + public: + void clear_pathlist(); + const ::service_layer::SLPathGroup_SLPathList& pathlist() const; + PROTOBUF_NODISCARD ::service_layer::SLPathGroup_SLPathList* release_pathlist(); + ::service_layer::SLPathGroup_SLPathList* mutable_pathlist(); + void set_allocated_pathlist(::service_layer::SLPathGroup_SLPathList* pathlist); + private: + const ::service_layer::SLPathGroup_SLPathList& _internal_pathlist() const; + ::service_layer::SLPathGroup_SLPathList* _internal_mutable_pathlist(); + public: + void unsafe_arena_set_allocated_pathlist( + ::service_layer::SLPathGroup_SLPathList* pathlist); + ::service_layer::SLPathGroup_SLPathList* unsafe_arena_release_pathlist(); + + void clear_entry(); + EntryCase entry_case() const; + // @@protoc_insertion_point(class_scope:service_layer.SLPathGroup) + private: + class _Internal; + void set_has_pathlist(); + + 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::RepeatedField pgflags_; + mutable std::atomic _pgflags_cached_byte_size_; + ::service_layer::SLObjectId* pathgroupid_; + uint32_t admindistance_; + int underlaylevel_; + union EntryUnion { + constexpr EntryUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLPathGroup_SLPathList* pathlist_; + } 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 = + 22; + + 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; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// SLRouteGlobalsGetMsg + +// ------------------------------------------------------------------- + +// SLRouteGlobalsGetMsgRsp + +// .service_layer.SLErrorStatus ErrStatus = 1; +inline bool SLRouteGlobalsGetMsgRsp::_internal_has_errstatus() const { + return this != internal_default_instance() && errstatus_ != nullptr; +} +inline bool SLRouteGlobalsGetMsgRsp::has_errstatus() const { + return _internal_has_errstatus(); +} +inline const ::service_layer::SLErrorStatus& SLRouteGlobalsGetMsgRsp::_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& SLRouteGlobalsGetMsgRsp::errstatus() const { + // @@protoc_insertion_point(field_get:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) + return _internal_errstatus(); +} +inline void SLRouteGlobalsGetMsgRsp::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.SLRouteGlobalsGetMsgRsp.ErrStatus) +} +inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::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* SLRouteGlobalsGetMsgRsp::unsafe_arena_release_errstatus() { + // @@protoc_insertion_point(field_release:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) + + ::service_layer::SLErrorStatus* temp = errstatus_; + errstatus_ = nullptr; + return temp; +} +inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::_internal_mutable_errstatus() { + + if (errstatus_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLErrorStatus>(GetArenaForAllocation()); + errstatus_ = p; + } + return errstatus_; +} +inline ::service_layer::SLErrorStatus* SLRouteGlobalsGetMsgRsp::mutable_errstatus() { + ::service_layer::SLErrorStatus* _msg = _internal_mutable_errstatus(); + // @@protoc_insertion_point(field_mutable:service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus) + return _msg; +} +inline void SLRouteGlobalsGetMsgRsp::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.SLRouteGlobalsGetMsgRsp.ErrStatus) +} + +// uint32 MaxVrfregPerVrfregmsg = 2; +inline void SLRouteGlobalsGetMsgRsp::clear_maxvrfregpervrfregmsg() { + maxvrfregpervrfregmsg_ = 0u; +} +inline uint32_t SLRouteGlobalsGetMsgRsp::_internal_maxvrfregpervrfregmsg() const { + return maxvrfregpervrfregmsg_; +} +inline uint32_t SLRouteGlobalsGetMsgRsp::maxvrfregpervrfregmsg() const { + // @@protoc_insertion_point(field_get:service_layer.SLRouteGlobalsGetMsgRsp.MaxVrfregPerVrfregmsg) + return _internal_maxvrfregpervrfregmsg(); +} +inline void SLRouteGlobalsGetMsgRsp::_internal_set_maxvrfregpervrfregmsg(uint32_t value) { + + maxvrfregpervrfregmsg_ = value; +} +inline void SLRouteGlobalsGetMsgRsp::set_maxvrfregpervrfregmsg(uint32_t value) { + _internal_set_maxvrfregpervrfregmsg(value); + // @@protoc_insertion_point(field_set:service_layer.SLRouteGlobalsGetMsgRsp.MaxVrfregPerVrfregmsg) +} + +// uint32 MaxRoutePerRoutemsg = 3; +inline void SLRouteGlobalsGetMsgRsp::clear_maxrouteperroutemsg() { + maxrouteperroutemsg_ = 0u; +} +inline uint32_t SLRouteGlobalsGetMsgRsp::_internal_maxrouteperroutemsg() const { + return maxrouteperroutemsg_; +} +inline uint32_t SLRouteGlobalsGetMsgRsp::maxrouteperroutemsg() const { + // @@protoc_insertion_point(field_get:service_layer.SLRouteGlobalsGetMsgRsp.MaxRoutePerRoutemsg) + return _internal_maxrouteperroutemsg(); +} +inline void SLRouteGlobalsGetMsgRsp::_internal_set_maxrouteperroutemsg(uint32_t value) { + + maxrouteperroutemsg_ = value; +} +inline void SLRouteGlobalsGetMsgRsp::set_maxrouteperroutemsg(uint32_t value) { + _internal_set_maxrouteperroutemsg(value); + // @@protoc_insertion_point(field_set:service_layer.SLRouteGlobalsGetMsgRsp.MaxRoutePerRoutemsg) +} + +// ------------------------------------------------------------------- // SLRouteGlobalStatsGetMsg @@ -6798,6 +7421,73 @@ inline ::service_layer::SLPathGroupRefKey* SLRoutePath::mutable_pathgroupkey() { return _msg; } +// repeated uint32 BackupIndex = 16; +inline int SLRoutePath::_internal_backupindex_size() const { + return backupindex_.size(); +} +inline int SLRoutePath::backupindex_size() const { + return _internal_backupindex_size(); +} +inline void SLRoutePath::clear_backupindex() { + backupindex_.Clear(); +} +inline uint32_t SLRoutePath::_internal_backupindex(int index) const { + return backupindex_.Get(index); +} +inline uint32_t SLRoutePath::backupindex(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLRoutePath.BackupIndex) + return _internal_backupindex(index); +} +inline void SLRoutePath::set_backupindex(int index, uint32_t value) { + backupindex_.Set(index, value); + // @@protoc_insertion_point(field_set:service_layer.SLRoutePath.BackupIndex) +} +inline void SLRoutePath::_internal_add_backupindex(uint32_t value) { + backupindex_.Add(value); +} +inline void SLRoutePath::add_backupindex(uint32_t value) { + _internal_add_backupindex(value); + // @@protoc_insertion_point(field_add:service_layer.SLRoutePath.BackupIndex) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& +SLRoutePath::_internal_backupindex() const { + return backupindex_; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >& +SLRoutePath::backupindex() const { + // @@protoc_insertion_point(field_list:service_layer.SLRoutePath.BackupIndex) + return _internal_backupindex(); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* +SLRoutePath::_internal_mutable_backupindex() { + return &backupindex_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint32_t >* +SLRoutePath::mutable_backupindex() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLRoutePath.BackupIndex) + return _internal_mutable_backupindex(); +} + +// uint32 MinResolutionLength = 17; +inline void SLRoutePath::clear_minresolutionlength() { + minresolutionlength_ = 0u; +} +inline uint32_t SLRoutePath::_internal_minresolutionlength() const { + return minresolutionlength_; +} +inline uint32_t SLRoutePath::minresolutionlength() const { + // @@protoc_insertion_point(field_get:service_layer.SLRoutePath.MinResolutionLength) + return _internal_minresolutionlength(); +} +inline void SLRoutePath::_internal_set_minresolutionlength(uint32_t value) { + + minresolutionlength_ = value; +} +inline void SLRoutePath::set_minresolutionlength(uint32_t value) { + _internal_set_minresolutionlength(value); + // @@protoc_insertion_point(field_set:service_layer.SLRoutePath.MinResolutionLength) +} + inline bool SLRoutePath::has_entry() const { return entry_case() != ENTRY_NOT_SET; } @@ -6809,6 +7499,400 @@ inline SLRoutePath::EntryCase SLRoutePath::entry_case() const { } // ------------------------------------------------------------------- +// 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 void SLPathGroup_SLPath::clear_path() { + if (GetArenaForAllocation() == nullptr && path_ != nullptr) { + delete path_; + } + path_ = nullptr; +} +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 path_; + } + if (path) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLRoutePath>::GetOwningArena(path); + if (message_arena != submessage_arena) { + path = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, path, submessage_arena); + } + + } else { + + } + path_ = path; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLPathGroup.SLPath.Path) +} + +// ------------------------------------------------------------------- + +// 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(); +} +inline void SLPathGroup_SLPathList::clear_paths() { + paths_.Clear(); +} +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::SLPathGroup_SLPath >* +SLPathGroup_SLPathList::mutable_paths() { + // @@protoc_insertion_point(field_mutable_list:service_layer.SLPathGroup.SLPathList.Paths) + return &paths_; +} +inline const ::service_layer::SLPathGroup_SLPath& SLPathGroup_SLPathList::_internal_paths(int index) const { + return paths_.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 ::service_layer::SLPathGroup_SLPath* SLPathGroup_SLPathList::_internal_add_paths() { + return paths_.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) + 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_; +} + +// ------------------------------------------------------------------- + +// SLPathGroup + +// .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(); +} +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::SLObjectId& SLPathGroup::pathgroupid() const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PathGroupId) + return _internal_pathgroupid(); +} +inline void SLPathGroup::unsafe_arena_set_allocated_pathgroupid( + ::service_layer::SLObjectId* pathgroupid) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pathgroupid_); + } + pathgroupid_ = pathgroupid; + if (pathgroupid) { + + } else { + + } + // @@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); + } +#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 ::service_layer::SLObjectId* SLPathGroup::_internal_mutable_pathgroupid() { + + if (pathgroupid_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLObjectId>(GetArenaForAllocation()); + pathgroupid_ = p; + } + return pathgroupid_; +} +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 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; + } + // @@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()); + } + 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; +} + +// repeated .service_layer.SLRouteFlags PgFlags = 4; +inline int SLPathGroup::_internal_pgflags_size() const { + return pgflags_.size(); +} +inline int SLPathGroup::pgflags_size() const { + return _internal_pgflags_size(); +} +inline void SLPathGroup::clear_pgflags() { + pgflags_.Clear(); +} +inline ::service_layer::SLRouteFlags SLPathGroup::_internal_pgflags(int index) const { + return static_cast< ::service_layer::SLRouteFlags >(pgflags_.Get(index)); +} +inline ::service_layer::SLRouteFlags SLPathGroup::pgflags(int index) const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.PgFlags) + return _internal_pgflags(index); +} +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 void SLPathGroup::_internal_add_pgflags(::service_layer::SLRouteFlags value) { + pgflags_.Add(value); +} +inline void SLPathGroup::add_pgflags(::service_layer::SLRouteFlags value) { + _internal_add_pgflags(value); + // @@protoc_insertion_point(field_add:service_layer.SLPathGroup.PgFlags) +} +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.SLUnderlayLevels UnderlayLevel = 5; +inline void SLPathGroup::clear_underlaylevel() { + underlaylevel_ = 0; +} +inline ::service_layer::SLUnderlayLevels SLPathGroup::_internal_underlaylevel() const { + return static_cast< ::service_layer::SLUnderlayLevels >(underlaylevel_); +} +inline ::service_layer::SLUnderlayLevels SLPathGroup::underlaylevel() const { + // @@protoc_insertion_point(field_get:service_layer.SLPathGroup.UnderlayLevel) + return _internal_underlaylevel(); +} +inline void SLPathGroup::_internal_set_underlaylevel(::service_layer::SLUnderlayLevels value) { + + underlaylevel_ = value; +} +inline void SLPathGroup::set_underlaylevel(::service_layer::SLUnderlayLevels value) { + _internal_set_underlaylevel(value); + // @@protoc_insertion_point(field_set:service_layer.SLPathGroup.UnderlayLevel) +} + +inline bool SLPathGroup::has_entry() const { + return entry_case() != ENTRY_NOT_SET; +} +inline void SLPathGroup::clear_has_entry() { + _oneof_case_[0] = ENTRY_NOT_SET; +} +inline SLPathGroup::EntryCase SLPathGroup::entry_case() const { + return SLPathGroup::EntryCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + // SLRoutePrefix // .service_layer.SLIpAddress Prefix = 1; @@ -6958,6 +8042,12 @@ inline void SLRoutePrefix::set_prefixlen(uint32_t value) { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -6980,6 +8070,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLPathFlags>() { return ::service_layer::SLPathFlags_descriptor(); } +template <> struct is_proto_enum< ::service_layer::SLUnderlayLevels> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::service_layer::SLUnderlayLevels>() { + return ::service_layer::SLUnderlayLevels_descriptor(); +} PROTOBUF_NAMESPACE_CLOSE diff --git a/grpc/cpp/src/gencpp/sl_srte_policy.pb.cc b/grpc/cpp/src/gencpp/sl_srte_policy.pb.cc index 8544c156..d54c83da 100644 --- a/grpc/cpp/src/gencpp/sl_srte_policy.pb.cc +++ b/grpc/cpp/src/gencpp/sl_srte_policy.pb.cc @@ -137,6 +137,7 @@ constexpr SLSrPolicyAttributes::SLSrPolicyAttributes( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : srv6_bsids_() , mpls_bsid_(nullptr) + , srv6_attrs_(nullptr) , transit_eligible_(false) , dataplane_(0) @@ -241,8 +242,20 @@ struct SLSrSrv6DynamicBindingSIDDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLSrSrv6DynamicBindingSIDDefaultTypeInternal _SLSrSrv6DynamicBindingSID_default_instance_; +constexpr SLSrSrv6PolicyAttributes::SLSrSrv6PolicyAttributes( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : install_final_node_sid_(false){} +struct SLSrSrv6PolicyAttributesDefaultTypeInternal { + constexpr SLSrSrv6PolicyAttributesDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~SLSrSrv6PolicyAttributesDefaultTypeInternal() {} + union { + SLSrSrv6PolicyAttributes _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SLSrSrv6PolicyAttributesDefaultTypeInternal _SLSrSrv6PolicyAttributes_default_instance_; } // namespace service_layer -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5fsrte_5fpolicy_2eproto[17]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_sl_5fsrte_5fpolicy_2eproto[18]; static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_sl_5fsrte_5fpolicy_2eproto[2]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_sl_5fsrte_5fpolicy_2eproto = nullptr; @@ -329,6 +342,7 @@ const uint32_t TableStruct_sl_5fsrte_5fpolicy_2eproto::offsets[] PROTOBUF_SECTIO PROTOBUF_FIELD_OFFSET(::service_layer::SLSrPolicyAttributes, mpls_bsid_), PROTOBUF_FIELD_OFFSET(::service_layer::SLSrPolicyAttributes, srv6_bsids_), PROTOBUF_FIELD_OFFSET(::service_layer::SLSrPolicyAttributes, profile_id_), + PROTOBUF_FIELD_OFFSET(::service_layer::SLSrPolicyAttributes, srv6_attrs_), PROTOBUF_FIELD_OFFSET(::service_layer::SLSrCandidatePath, _has_bits_), PROTOBUF_FIELD_OFFSET(::service_layer::SLSrCandidatePath, _internal_metadata_), ~0u, // no _extensions_ @@ -378,6 +392,7 @@ const uint32_t TableStruct_sl_5fsrte_5fpolicy_2eproto::offsets[] PROTOBUF_SECTIO ~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::SLSrSrv6BindingSID, type_), PROTOBUF_FIELD_OFFSET(::service_layer::SLSrMPLSBindingSID, _has_bits_), PROTOBUF_FIELD_OFFSET(::service_layer::SLSrMPLSBindingSID, _internal_metadata_), @@ -394,6 +409,13 @@ const uint32_t TableStruct_sl_5fsrte_5fpolicy_2eproto::offsets[] PROTOBUF_SECTIO ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::service_layer::SLSrSrv6DynamicBindingSID, srv6_endpoint_behavior_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLSrSrv6PolicyAttributes, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service_layer::SLSrSrv6PolicyAttributes, install_final_node_sid_), }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::service_layer::SLSrPolicyMsg)}, @@ -406,13 +428,14 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 55, -1, -1, sizeof(::service_layer::SLSrStartOfReplay)}, { 61, -1, -1, sizeof(::service_layer::SLSrPolicy)}, { 71, -1, -1, sizeof(::service_layer::SLSrPolicyAttributes)}, - { 82, 94, -1, sizeof(::service_layer::SLSrCandidatePath)}, - { 99, -1, -1, sizeof(::service_layer::SLSrExplicitCP)}, - { 107, -1, -1, sizeof(::service_layer::SLSrDynamicCP)}, - { 115, -1, -1, sizeof(::service_layer::SLSrConstraints)}, - { 124, -1, -1, sizeof(::service_layer::SLSrSrv6BindingSID)}, - { 132, 139, -1, sizeof(::service_layer::SLSrMPLSBindingSID)}, - { 140, -1, -1, sizeof(::service_layer::SLSrSrv6DynamicBindingSID)}, + { 83, 95, -1, sizeof(::service_layer::SLSrCandidatePath)}, + { 100, -1, -1, sizeof(::service_layer::SLSrExplicitCP)}, + { 108, -1, -1, sizeof(::service_layer::SLSrDynamicCP)}, + { 116, -1, -1, sizeof(::service_layer::SLSrConstraints)}, + { 125, -1, -1, sizeof(::service_layer::SLSrSrv6BindingSID)}, + { 134, 141, -1, sizeof(::service_layer::SLSrMPLSBindingSID)}, + { 142, -1, -1, sizeof(::service_layer::SLSrSrv6DynamicBindingSID)}, + { 149, -1, -1, sizeof(::service_layer::SLSrSrv6PolicyAttributes)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -433,6 +456,7 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::service_layer::_SLSrSrv6BindingSID_default_instance_), reinterpret_cast(&::service_layer::_SLSrMPLSBindingSID_default_instance_), reinterpret_cast(&::service_layer::_SLSrSrv6DynamicBindingSID_default_instance_), + reinterpret_cast(&::service_layer::_SLSrSrv6PolicyAttributes_default_instance_), }; const char descriptor_table_protodef_sl_5fsrte_5fpolicy_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = @@ -461,46 +485,51 @@ const char descriptor_table_protodef_sl_5fsrte_5fpolicy_2eproto[] PROTOBUF_SECTI "tion_id\030\001 \001(\004\022)\n\003key\030\002 \001(\0132\034.service_lay" "er.SLSrPolicyKey\0222\n\005attrs\030\003 \001(\0132#.servic" "e_layer.SLSrPolicyAttributes\022-\n\003CPs\030\004 \003(" - "\0132 .service_layer.SLSrCandidatePath\"\342\001\n\024" + "\0132 .service_layer.SLSrCandidatePath\"\237\002\n\024" "SLSrPolicyAttributes\022\030\n\020transit_eligible" "\030\002 \001(\010\022/\n\tdataplane\030\003 \001(\0162\034.service_laye" "r.SLSrDataplane\0224\n\tmpls_bsid\030\004 \001(\0132!.ser" "vice_layer.SLSrMPLSBindingSID\0225\n\nsrv6_bs" "ids\030\005 \003(\0132!.service_layer.SLSrSrv6Bindin" - "gSID\022\022\n\nprofile_id\030\006 \001(\r\"\345\001\n\021SLSrCandida" - "tePath\0220\n\003key\030\002 \001(\0132#.service_layer.SLSr" - "CandidatePathKey\022\014\n\004name\030\003 \001(\t\022\027\n\nprefer" - "ence\030\004 \001(\rH\001\210\001\001\022/\n\007dynamic\030\005 \001(\0132\034.servi" - "ce_layer.SLSrDynamicCPH\000\0221\n\010explicit\030\006 \001" - "(\0132\035.service_layer.SLSrExplicitCPH\000B\004\n\002C" - "PB\r\n\013_preference\"[\n\016SLSrExplicitCP\0224\n\014se" - "gment_list\030\001 \003(\0132\036.service_layer.SLSrSeg" - "mentList\022\023\n\013metric_type\030\003 \001(\r\"Y\n\rSLSrDyn" - "amicCP\022\023\n\013metric_type\030\001 \001(\r\0223\n\013constrain" - "ts\030\002 \001(\0132\036.service_layer.SLSrConstraints" - "\"\273\001\n\017SLSrConstraints\0221\n\naffinities\030\001 \001(\013" - "2\035.service_layer.SLSrAffinities\0226\n\rsegme" - "nt_rules\030\002 \001(\0132\037.service_layer.SLSrSegme" - "ntRules\022=\n\013upper_bound\030\003 \001(\0132(.service_l" - "ayer.SLSrUpperBoundConstraints\"Y\n\022SLSrSr" - "v6BindingSID\022;\n\007dynamic\030\002 \001(\0132(.service_" - "layer.SLSrSrv6DynamicBindingSIDH\000B\006\n\004typ" - "e\":\n\022SLSrMPLSBindingSID\022\026\n\tmpls_bsid\030\001 \001" - "(\rH\000\210\001\001B\014\n\n_mpls_bsid\";\n\031SLSrSrv6Dynamic" - "BindingSID\022\036\n\026srv6_endpoint_behavior\030\001 \001" - "(\r2^\n\014SLSrtePolicy\022N\n\014SLSrPolicyOp\022\034.ser" - "vice_layer.SLSrPolicyMsg\032\034.service_layer" - ".SLSrPolicyRsp(\0010\001BQZOgithub.com/Cisco-s" - "ervice-layer/service-layer-objmodel/grpc" - "/protos;service_layerb\006proto3" + "gSID\022\022\n\nprofile_id\030\006 \001(\r\022;\n\nsrv6_attrs\030\007" + " \001(\0132\'.service_layer.SLSrSrv6PolicyAttri" + "butes\"\345\001\n\021SLSrCandidatePath\0220\n\003key\030\002 \001(\013" + "2#.service_layer.SLSrCandidatePathKey\022\014\n" + "\004name\030\003 \001(\t\022\027\n\npreference\030\004 \001(\rH\001\210\001\001\022/\n\007" + "dynamic\030\005 \001(\0132\034.service_layer.SLSrDynami" + "cCPH\000\0221\n\010explicit\030\006 \001(\0132\035.service_layer." + "SLSrExplicitCPH\000B\004\n\002CPB\r\n\013_preference\"[\n" + "\016SLSrExplicitCP\0224\n\014segment_list\030\001 \003(\0132\036." + "service_layer.SLSrSegmentList\022\023\n\013metric_" + "type\030\003 \001(\r\"Y\n\rSLSrDynamicCP\022\023\n\013metric_ty" + "pe\030\001 \001(\r\0223\n\013constraints\030\002 \001(\0132\036.service_" + "layer.SLSrConstraints\"\273\001\n\017SLSrConstraint" + "s\0221\n\naffinities\030\001 \001(\0132\035.service_layer.SL" + "SrAffinities\0226\n\rsegment_rules\030\002 \001(\0132\037.se" + "rvice_layer.SLSrSegmentRules\022=\n\013upper_bo" + "und\030\003 \001(\0132(.service_layer.SLSrUpperBound" + "Constraints\"\213\001\n\022SLSrSrv6BindingSID\0220\n\010ex" + "plicit\030\001 \001(\0132\034.service_layer.SLSRv6SIDIn" + "foH\000\022;\n\007dynamic\030\002 \001(\0132(.service_layer.SL" + "SrSrv6DynamicBindingSIDH\000B\006\n\004type\":\n\022SLS" + "rMPLSBindingSID\022\026\n\tmpls_bsid\030\001 \001(\rH\000\210\001\001B" + "\014\n\n_mpls_bsid\";\n\031SLSrSrv6DynamicBindingS" + "ID\022\036\n\026srv6_endpoint_behavior\030\001 \001(\r\":\n\030SL" + "SrSrv6PolicyAttributes\022\036\n\026install_final_" + "node_sid\030\001 \001(\0102^\n\014SLSrtePolicy\022N\n\014SLSrPo" + "licyOp\022\034.service_layer.SLSrPolicyMsg\032\034.s" + "ervice_layer.SLSrPolicyRsp(\0010\001BQZOgithub" + ".com/Cisco-service-layer/service-layer-o" + "bjmodel/grpc/protos;service_layerb\006proto" + "3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_sl_5fsrte_5fpolicy_2eproto_deps[1] = { &::descriptor_table_sl_5fsr_5fcommon_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_sl_5fsrte_5fpolicy_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_sl_5fsrte_5fpolicy_2eproto = { - false, false, 2269, descriptor_table_protodef_sl_5fsrte_5fpolicy_2eproto, "sl_srte_policy.proto", - &descriptor_table_sl_5fsrte_5fpolicy_2eproto_once, descriptor_table_sl_5fsrte_5fpolicy_2eproto_deps, 1, 17, + false, false, 2441, descriptor_table_protodef_sl_5fsrte_5fpolicy_2eproto, "sl_srte_policy.proto", + &descriptor_table_sl_5fsrte_5fpolicy_2eproto_once, descriptor_table_sl_5fsrte_5fpolicy_2eproto_deps, 1, 18, schemas, file_default_instances, TableStruct_sl_5fsrte_5fpolicy_2eproto::offsets, file_level_metadata_sl_5fsrte_5fpolicy_2eproto, file_level_enum_descriptors_sl_5fsrte_5fpolicy_2eproto, file_level_service_descriptors_sl_5fsrte_5fpolicy_2eproto, }; @@ -2407,12 +2436,17 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLSrPolicy::GetMetadata() const { class SLSrPolicyAttributes::_Internal { public: static const ::service_layer::SLSrMPLSBindingSID& mpls_bsid(const SLSrPolicyAttributes* msg); + static const ::service_layer::SLSrSrv6PolicyAttributes& srv6_attrs(const SLSrPolicyAttributes* msg); }; const ::service_layer::SLSrMPLSBindingSID& SLSrPolicyAttributes::_Internal::mpls_bsid(const SLSrPolicyAttributes* msg) { return *msg->mpls_bsid_; } +const ::service_layer::SLSrSrv6PolicyAttributes& +SLSrPolicyAttributes::_Internal::srv6_attrs(const SLSrPolicyAttributes* msg) { + return *msg->srv6_attrs_; +} SLSrPolicyAttributes::SLSrPolicyAttributes(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), @@ -2432,6 +2466,11 @@ SLSrPolicyAttributes::SLSrPolicyAttributes(const SLSrPolicyAttributes& from) } else { mpls_bsid_ = nullptr; } + if (from._internal_has_srv6_attrs()) { + srv6_attrs_ = new ::service_layer::SLSrSrv6PolicyAttributes(*from.srv6_attrs_); + } else { + srv6_attrs_ = nullptr; + } ::memcpy(&transit_eligible_, &from.transit_eligible_, static_cast(reinterpret_cast(&profile_id_) - reinterpret_cast(&transit_eligible_)) + sizeof(profile_id_)); @@ -2455,6 +2494,7 @@ SLSrPolicyAttributes::~SLSrPolicyAttributes() { inline void SLSrPolicyAttributes::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); if (this != internal_default_instance()) delete mpls_bsid_; + if (this != internal_default_instance()) delete srv6_attrs_; } void SLSrPolicyAttributes::ArenaDtor(void* object) { @@ -2478,6 +2518,10 @@ void SLSrPolicyAttributes::Clear() { delete mpls_bsid_; } mpls_bsid_ = nullptr; + if (GetArenaForAllocation() == nullptr && srv6_attrs_ != nullptr) { + delete srv6_attrs_; + } + srv6_attrs_ = nullptr; ::memset(&transit_eligible_, 0, static_cast( reinterpret_cast(&profile_id_) - reinterpret_cast(&transit_eligible_)) + sizeof(profile_id_)); @@ -2536,6 +2580,14 @@ const char* SLSrPolicyAttributes::_InternalParse(const char* ptr, ::PROTOBUF_NAM } else goto handle_unusual; continue; + // .service_layer.SLSrSrv6PolicyAttributes srv6_attrs = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_srv6_attrs(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -2600,6 +2652,14 @@ uint8_t* SLSrPolicyAttributes::_InternalSerialize( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(6, this->_internal_profile_id(), target); } + // .service_layer.SLSrSrv6PolicyAttributes srv6_attrs = 7; + if (this->_internal_has_srv6_attrs()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 7, _Internal::srv6_attrs(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); @@ -2630,6 +2690,13 @@ size_t SLSrPolicyAttributes::ByteSizeLong() const { *mpls_bsid_); } + // .service_layer.SLSrSrv6PolicyAttributes srv6_attrs = 7; + if (this->_internal_has_srv6_attrs()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *srv6_attrs_); + } + // bool transit_eligible = 2; if (this->_internal_transit_eligible() != 0) { total_size += 1 + 1; @@ -2672,6 +2739,9 @@ void SLSrPolicyAttributes::MergeFrom(const SLSrPolicyAttributes& from) { if (from._internal_has_mpls_bsid()) { _internal_mutable_mpls_bsid()->::service_layer::SLSrMPLSBindingSID::MergeFrom(from._internal_mpls_bsid()); } + if (from._internal_has_srv6_attrs()) { + _internal_mutable_srv6_attrs()->::service_layer::SLSrSrv6PolicyAttributes::MergeFrom(from._internal_srv6_attrs()); + } if (from._internal_transit_eligible() != 0) { _internal_set_transit_eligible(from._internal_transit_eligible()); } @@ -3904,13 +3974,43 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLSrConstraints::GetMetadata() const { class SLSrSrv6BindingSID::_Internal { public: + static const ::service_layer::SLSRv6SIDInfo& explicit_(const SLSrSrv6BindingSID* msg); static const ::service_layer::SLSrSrv6DynamicBindingSID& dynamic(const SLSrSrv6BindingSID* msg); }; +const ::service_layer::SLSRv6SIDInfo& +SLSrSrv6BindingSID::_Internal::explicit_(const SLSrSrv6BindingSID* msg) { + return *msg->type_.explicit__; +} const ::service_layer::SLSrSrv6DynamicBindingSID& SLSrSrv6BindingSID::_Internal::dynamic(const SLSrSrv6BindingSID* msg) { return *msg->type_.dynamic_; } +void SLSrSrv6BindingSID::set_allocated_explicit_(::service_layer::SLSRv6SIDInfo* explicit_) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_type(); + if (explicit_) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(explicit_)); + if (message_arena != submessage_arena) { + explicit_ = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, explicit_, submessage_arena); + } + set_has_explicit_(); + type_.explicit__ = explicit_; + } + // @@protoc_insertion_point(field_set_allocated:service_layer.SLSrSrv6BindingSID.explicit) +} +void SLSrSrv6BindingSID::clear_explicit_() { + if (_internal_has_explicit_()) { + if (GetArenaForAllocation() == nullptr) { + delete type_.explicit__; + } + clear_has_type(); + } +} void SLSrSrv6BindingSID::set_allocated_dynamic(::service_layer::SLSrSrv6DynamicBindingSID* dynamic) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_type(); @@ -3940,6 +4040,10 @@ SLSrSrv6BindingSID::SLSrSrv6BindingSID(const SLSrSrv6BindingSID& from) _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); clear_has_type(); switch (from.type_case()) { + case kExplicit: { + _internal_mutable_explicit_()->::service_layer::SLSRv6SIDInfo::MergeFrom(from._internal_explicit_()); + break; + } case kDynamic: { _internal_mutable_dynamic()->::service_layer::SLSrSrv6DynamicBindingSID::MergeFrom(from._internal_dynamic()); break; @@ -3982,6 +4086,12 @@ void SLSrSrv6BindingSID::SetCachedSize(int size) const { void SLSrSrv6BindingSID::clear_type() { // @@protoc_insertion_point(one_of_clear_start:service_layer.SLSrSrv6BindingSID) switch (type_case()) { + case kExplicit: { + if (GetArenaForAllocation() == nullptr) { + delete type_.explicit__; + } + break; + } case kDynamic: { if (GetArenaForAllocation() == nullptr) { delete type_.dynamic_; @@ -4012,6 +4122,14 @@ const char* SLSrSrv6BindingSID::_InternalParse(const char* ptr, ::PROTOBUF_NAMES uint32_t tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { + // .service_layer.SLSRv6SIDInfo explicit = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_explicit_(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; // .service_layer.SLSrSrv6DynamicBindingSID dynamic = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { @@ -4049,6 +4167,14 @@ uint8_t* SLSrSrv6BindingSID::_InternalSerialize( uint32_t cached_has_bits = 0; (void) cached_has_bits; + // .service_layer.SLSRv6SIDInfo explicit = 1; + if (_internal_has_explicit_()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::explicit_(this), target, stream); + } + // .service_layer.SLSrSrv6DynamicBindingSID dynamic = 2; if (_internal_has_dynamic()) { target = stream->EnsureSpace(target); @@ -4074,6 +4200,13 @@ size_t SLSrSrv6BindingSID::ByteSizeLong() const { (void) cached_has_bits; switch (type_case()) { + // .service_layer.SLSRv6SIDInfo explicit = 1; + case kExplicit: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *type_.explicit__); + break; + } // .service_layer.SLSrSrv6DynamicBindingSID dynamic = 2; case kDynamic: { total_size += 1 + @@ -4108,6 +4241,10 @@ void SLSrSrv6BindingSID::MergeFrom(const SLSrSrv6BindingSID& from) { (void) cached_has_bits; switch (from.type_case()) { + case kExplicit: { + _internal_mutable_explicit_()->::service_layer::SLSRv6SIDInfo::MergeFrom(from._internal_explicit_()); + break; + } case kDynamic: { _internal_mutable_dynamic()->::service_layer::SLSrSrv6DynamicBindingSID::MergeFrom(from._internal_dynamic()); break; @@ -4510,6 +4647,184 @@ ::PROTOBUF_NAMESPACE_ID::Metadata SLSrSrv6DynamicBindingSID::GetMetadata() const file_level_metadata_sl_5fsrte_5fpolicy_2eproto[16]); } +// =================================================================== + +class SLSrSrv6PolicyAttributes::_Internal { + public: +}; + +SLSrSrv6PolicyAttributes::SLSrSrv6PolicyAttributes(::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.SLSrSrv6PolicyAttributes) +} +SLSrSrv6PolicyAttributes::SLSrSrv6PolicyAttributes(const SLSrSrv6PolicyAttributes& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + install_final_node_sid_ = from.install_final_node_sid_; + // @@protoc_insertion_point(copy_constructor:service_layer.SLSrSrv6PolicyAttributes) +} + +inline void SLSrSrv6PolicyAttributes::SharedCtor() { +install_final_node_sid_ = false; +} + +SLSrSrv6PolicyAttributes::~SLSrSrv6PolicyAttributes() { + // @@protoc_insertion_point(destructor:service_layer.SLSrSrv6PolicyAttributes) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void SLSrSrv6PolicyAttributes::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void SLSrSrv6PolicyAttributes::ArenaDtor(void* object) { + SLSrSrv6PolicyAttributes* _this = reinterpret_cast< SLSrSrv6PolicyAttributes* >(object); + (void)_this; +} +void SLSrSrv6PolicyAttributes::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void SLSrSrv6PolicyAttributes::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void SLSrSrv6PolicyAttributes::Clear() { +// @@protoc_insertion_point(message_clear_start:service_layer.SLSrSrv6PolicyAttributes) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + install_final_node_sid_ = false; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* SLSrSrv6PolicyAttributes::_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) { + // bool install_final_node_sid = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + install_final_node_sid_ = ::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* SLSrSrv6PolicyAttributes::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service_layer.SLSrSrv6PolicyAttributes) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bool install_final_node_sid = 1; + if (this->_internal_install_final_node_sid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_install_final_node_sid(), 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.SLSrSrv6PolicyAttributes) + return target; +} + +size_t SLSrSrv6PolicyAttributes::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service_layer.SLSrSrv6PolicyAttributes) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bool install_final_node_sid = 1; + if (this->_internal_install_final_node_sid() != 0) { + total_size += 1 + 1; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SLSrSrv6PolicyAttributes::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + SLSrSrv6PolicyAttributes::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SLSrSrv6PolicyAttributes::GetClassData() const { return &_class_data_; } + +void SLSrSrv6PolicyAttributes::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void SLSrSrv6PolicyAttributes::MergeFrom(const SLSrSrv6PolicyAttributes& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service_layer.SLSrSrv6PolicyAttributes) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_install_final_node_sid() != 0) { + _internal_set_install_final_node_sid(from._internal_install_final_node_sid()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void SLSrSrv6PolicyAttributes::CopyFrom(const SLSrSrv6PolicyAttributes& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service_layer.SLSrSrv6PolicyAttributes) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool SLSrSrv6PolicyAttributes::IsInitialized() const { + return true; +} + +void SLSrSrv6PolicyAttributes::InternalSwap(SLSrSrv6PolicyAttributes* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(install_final_node_sid_, other->install_final_node_sid_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata SLSrSrv6PolicyAttributes::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_sl_5fsrte_5fpolicy_2eproto_getter, &descriptor_table_sl_5fsrte_5fpolicy_2eproto_once, + file_level_metadata_sl_5fsrte_5fpolicy_2eproto[17]); +} + // @@protoc_insertion_point(namespace_scope) } // namespace service_layer PROTOBUF_NAMESPACE_OPEN @@ -4564,6 +4879,9 @@ template<> PROTOBUF_NOINLINE ::service_layer::SLSrMPLSBindingSID* Arena::CreateM template<> PROTOBUF_NOINLINE ::service_layer::SLSrSrv6DynamicBindingSID* Arena::CreateMaybeMessage< ::service_layer::SLSrSrv6DynamicBindingSID >(Arena* arena) { return Arena::CreateMessageInternal< ::service_layer::SLSrSrv6DynamicBindingSID >(arena); } +template<> PROTOBUF_NOINLINE ::service_layer::SLSrSrv6PolicyAttributes* Arena::CreateMaybeMessage< ::service_layer::SLSrSrv6PolicyAttributes >(Arena* arena) { + return Arena::CreateMessageInternal< ::service_layer::SLSrSrv6PolicyAttributes >(arena); +} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/grpc/cpp/src/gencpp/sl_srte_policy.pb.h b/grpc/cpp/src/gencpp/sl_srte_policy.pb.h index 50abfb9b..917938c5 100644 --- a/grpc/cpp/src/gencpp/sl_srte_policy.pb.h +++ b/grpc/cpp/src/gencpp/sl_srte_policy.pb.h @@ -49,7 +49,7 @@ struct TableStruct_sl_5fsrte_5fpolicy_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[17] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[18] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -105,6 +105,9 @@ extern SLSrSrv6BindingSIDDefaultTypeInternal _SLSrSrv6BindingSID_default_instanc class SLSrSrv6DynamicBindingSID; struct SLSrSrv6DynamicBindingSIDDefaultTypeInternal; extern SLSrSrv6DynamicBindingSIDDefaultTypeInternal _SLSrSrv6DynamicBindingSID_default_instance_; +class SLSrSrv6PolicyAttributes; +struct SLSrSrv6PolicyAttributesDefaultTypeInternal; +extern SLSrSrv6PolicyAttributesDefaultTypeInternal _SLSrSrv6PolicyAttributes_default_instance_; class SLSrStartOfReplay; struct SLSrStartOfReplayDefaultTypeInternal; extern SLSrStartOfReplayDefaultTypeInternal _SLSrStartOfReplay_default_instance_; @@ -126,6 +129,7 @@ template<> ::service_layer::SLSrPolicyRsp* Arena::CreateMaybeMessage<::service_l template<> ::service_layer::SLSrPolicyRsp_PolicyRsp* Arena::CreateMaybeMessage<::service_layer::SLSrPolicyRsp_PolicyRsp>(Arena*); template<> ::service_layer::SLSrSrv6BindingSID* Arena::CreateMaybeMessage<::service_layer::SLSrSrv6BindingSID>(Arena*); template<> ::service_layer::SLSrSrv6DynamicBindingSID* Arena::CreateMaybeMessage<::service_layer::SLSrSrv6DynamicBindingSID>(Arena*); +template<> ::service_layer::SLSrSrv6PolicyAttributes* Arena::CreateMaybeMessage<::service_layer::SLSrSrv6PolicyAttributes>(Arena*); template<> ::service_layer::SLSrStartOfReplay* Arena::CreateMaybeMessage<::service_layer::SLSrStartOfReplay>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace service_layer { @@ -1851,6 +1855,7 @@ class SLSrPolicyAttributes final : enum : int { kSrv6BsidsFieldNumber = 5, kMplsBsidFieldNumber = 4, + kSrv6AttrsFieldNumber = 7, kTransitEligibleFieldNumber = 2, kDataplaneFieldNumber = 3, kProfileIdFieldNumber = 6, @@ -1891,6 +1896,24 @@ class SLSrPolicyAttributes final : ::service_layer::SLSrMPLSBindingSID* mpls_bsid); ::service_layer::SLSrMPLSBindingSID* unsafe_arena_release_mpls_bsid(); + // .service_layer.SLSrSrv6PolicyAttributes srv6_attrs = 7; + bool has_srv6_attrs() const; + private: + bool _internal_has_srv6_attrs() const; + public: + void clear_srv6_attrs(); + const ::service_layer::SLSrSrv6PolicyAttributes& srv6_attrs() const; + PROTOBUF_NODISCARD ::service_layer::SLSrSrv6PolicyAttributes* release_srv6_attrs(); + ::service_layer::SLSrSrv6PolicyAttributes* mutable_srv6_attrs(); + void set_allocated_srv6_attrs(::service_layer::SLSrSrv6PolicyAttributes* srv6_attrs); + private: + const ::service_layer::SLSrSrv6PolicyAttributes& _internal_srv6_attrs() const; + ::service_layer::SLSrSrv6PolicyAttributes* _internal_mutable_srv6_attrs(); + public: + void unsafe_arena_set_allocated_srv6_attrs( + ::service_layer::SLSrSrv6PolicyAttributes* srv6_attrs); + ::service_layer::SLSrSrv6PolicyAttributes* unsafe_arena_release_srv6_attrs(); + // bool transit_eligible = 2; void clear_transit_eligible(); bool transit_eligible() const; @@ -1927,6 +1950,7 @@ class SLSrPolicyAttributes final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service_layer::SLSrSrv6BindingSID > srv6_bsids_; ::service_layer::SLSrMPLSBindingSID* mpls_bsid_; + ::service_layer::SLSrSrv6PolicyAttributes* srv6_attrs_; bool transit_eligible_; int dataplane_; uint32_t profile_id_; @@ -2752,6 +2776,7 @@ class SLSrSrv6BindingSID final : return *internal_default_instance(); } enum TypeCase { + kExplicit = 1, kDynamic = 2, TYPE_NOT_SET = 0, }; @@ -2835,8 +2860,27 @@ class SLSrSrv6BindingSID final : // accessors ------------------------------------------------------- enum : int { + kExplicitFieldNumber = 1, kDynamicFieldNumber = 2, }; + // .service_layer.SLSRv6SIDInfo explicit = 1; + bool has_explicit_() const; + private: + bool _internal_has_explicit_() const; + public: + void clear_explicit_(); + const ::service_layer::SLSRv6SIDInfo& explicit_() const; + PROTOBUF_NODISCARD ::service_layer::SLSRv6SIDInfo* release_explicit_(); + ::service_layer::SLSRv6SIDInfo* mutable_explicit_(); + void set_allocated_explicit_(::service_layer::SLSRv6SIDInfo* explicit_); + private: + const ::service_layer::SLSRv6SIDInfo& _internal_explicit_() const; + ::service_layer::SLSRv6SIDInfo* _internal_mutable_explicit_(); + public: + void unsafe_arena_set_allocated_explicit_( + ::service_layer::SLSRv6SIDInfo* explicit_); + ::service_layer::SLSRv6SIDInfo* unsafe_arena_release_explicit_(); + // .service_layer.SLSrSrv6DynamicBindingSID dynamic = 2; bool has_dynamic() const; private: @@ -2860,6 +2904,7 @@ class SLSrSrv6BindingSID final : // @@protoc_insertion_point(class_scope:service_layer.SLSrSrv6BindingSID) private: class _Internal; + void set_has_explicit_(); void set_has_dynamic(); inline bool has_type() const; @@ -2871,6 +2916,7 @@ class SLSrSrv6BindingSID final : union TypeUnion { constexpr TypeUnion() : _constinit_{} {} ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service_layer::SLSRv6SIDInfo* explicit__; ::service_layer::SLSrSrv6DynamicBindingSID* dynamic_; } type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -3175,6 +3221,152 @@ class SLSrSrv6DynamicBindingSID final : mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_sl_5fsrte_5fpolicy_2eproto; }; +// ------------------------------------------------------------------- + +class SLSrSrv6PolicyAttributes final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service_layer.SLSrSrv6PolicyAttributes) */ { + public: + inline SLSrSrv6PolicyAttributes() : SLSrSrv6PolicyAttributes(nullptr) {} + ~SLSrSrv6PolicyAttributes() override; + explicit constexpr SLSrSrv6PolicyAttributes(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SLSrSrv6PolicyAttributes(const SLSrSrv6PolicyAttributes& from); + SLSrSrv6PolicyAttributes(SLSrSrv6PolicyAttributes&& from) noexcept + : SLSrSrv6PolicyAttributes() { + *this = ::std::move(from); + } + + inline SLSrSrv6PolicyAttributes& operator=(const SLSrSrv6PolicyAttributes& from) { + CopyFrom(from); + return *this; + } + inline SLSrSrv6PolicyAttributes& operator=(SLSrSrv6PolicyAttributes&& 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 SLSrSrv6PolicyAttributes& default_instance() { + return *internal_default_instance(); + } + static inline const SLSrSrv6PolicyAttributes* internal_default_instance() { + return reinterpret_cast( + &_SLSrSrv6PolicyAttributes_default_instance_); + } + static constexpr int kIndexInFileMessages = + 17; + + friend void swap(SLSrSrv6PolicyAttributes& a, SLSrSrv6PolicyAttributes& b) { + a.Swap(&b); + } + inline void Swap(SLSrSrv6PolicyAttributes* 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(SLSrSrv6PolicyAttributes* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SLSrSrv6PolicyAttributes* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const SLSrSrv6PolicyAttributes& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const SLSrSrv6PolicyAttributes& 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(SLSrSrv6PolicyAttributes* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service_layer.SLSrSrv6PolicyAttributes"; + } + protected: + explicit SLSrSrv6PolicyAttributes(::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 { + kInstallFinalNodeSidFieldNumber = 1, + }; + // bool install_final_node_sid = 1; + void clear_install_final_node_sid(); + bool install_final_node_sid() const; + void set_install_final_node_sid(bool value); + private: + bool _internal_install_final_node_sid() const; + void _internal_set_install_final_node_sid(bool value); + public: + + // @@protoc_insertion_point(class_scope:service_layer.SLSrSrv6PolicyAttributes) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + bool install_final_node_sid_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_sl_5fsrte_5fpolicy_2eproto; +}; // =================================================================== @@ -4344,6 +4536,96 @@ inline void SLSrPolicyAttributes::set_profile_id(uint32_t value) { // @@protoc_insertion_point(field_set:service_layer.SLSrPolicyAttributes.profile_id) } +// .service_layer.SLSrSrv6PolicyAttributes srv6_attrs = 7; +inline bool SLSrPolicyAttributes::_internal_has_srv6_attrs() const { + return this != internal_default_instance() && srv6_attrs_ != nullptr; +} +inline bool SLSrPolicyAttributes::has_srv6_attrs() const { + return _internal_has_srv6_attrs(); +} +inline void SLSrPolicyAttributes::clear_srv6_attrs() { + if (GetArenaForAllocation() == nullptr && srv6_attrs_ != nullptr) { + delete srv6_attrs_; + } + srv6_attrs_ = nullptr; +} +inline const ::service_layer::SLSrSrv6PolicyAttributes& SLSrPolicyAttributes::_internal_srv6_attrs() const { + const ::service_layer::SLSrSrv6PolicyAttributes* p = srv6_attrs_; + return p != nullptr ? *p : reinterpret_cast( + ::service_layer::_SLSrSrv6PolicyAttributes_default_instance_); +} +inline const ::service_layer::SLSrSrv6PolicyAttributes& SLSrPolicyAttributes::srv6_attrs() const { + // @@protoc_insertion_point(field_get:service_layer.SLSrPolicyAttributes.srv6_attrs) + return _internal_srv6_attrs(); +} +inline void SLSrPolicyAttributes::unsafe_arena_set_allocated_srv6_attrs( + ::service_layer::SLSrSrv6PolicyAttributes* srv6_attrs) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(srv6_attrs_); + } + srv6_attrs_ = srv6_attrs; + if (srv6_attrs) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLSrPolicyAttributes.srv6_attrs) +} +inline ::service_layer::SLSrSrv6PolicyAttributes* SLSrPolicyAttributes::release_srv6_attrs() { + + ::service_layer::SLSrSrv6PolicyAttributes* temp = srv6_attrs_; + srv6_attrs_ = 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::SLSrSrv6PolicyAttributes* SLSrPolicyAttributes::unsafe_arena_release_srv6_attrs() { + // @@protoc_insertion_point(field_release:service_layer.SLSrPolicyAttributes.srv6_attrs) + + ::service_layer::SLSrSrv6PolicyAttributes* temp = srv6_attrs_; + srv6_attrs_ = nullptr; + return temp; +} +inline ::service_layer::SLSrSrv6PolicyAttributes* SLSrPolicyAttributes::_internal_mutable_srv6_attrs() { + + if (srv6_attrs_ == nullptr) { + auto* p = CreateMaybeMessage<::service_layer::SLSrSrv6PolicyAttributes>(GetArenaForAllocation()); + srv6_attrs_ = p; + } + return srv6_attrs_; +} +inline ::service_layer::SLSrSrv6PolicyAttributes* SLSrPolicyAttributes::mutable_srv6_attrs() { + ::service_layer::SLSrSrv6PolicyAttributes* _msg = _internal_mutable_srv6_attrs(); + // @@protoc_insertion_point(field_mutable:service_layer.SLSrPolicyAttributes.srv6_attrs) + return _msg; +} +inline void SLSrPolicyAttributes::set_allocated_srv6_attrs(::service_layer::SLSrSrv6PolicyAttributes* srv6_attrs) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete srv6_attrs_; + } + if (srv6_attrs) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::service_layer::SLSrSrv6PolicyAttributes>::GetOwningArena(srv6_attrs); + if (message_arena != submessage_arena) { + srv6_attrs = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, srv6_attrs, submessage_arena); + } + + } else { + + } + srv6_attrs_ = srv6_attrs; + // @@protoc_insertion_point(field_set_allocated:service_layer.SLSrPolicyAttributes.srv6_attrs) +} + // ------------------------------------------------------------------- // SLSrCandidatePath @@ -5111,6 +5393,72 @@ inline void SLSrConstraints::set_allocated_upper_bound(::service_layer::SLSrUppe // SLSrSrv6BindingSID +// .service_layer.SLSRv6SIDInfo explicit = 1; +inline bool SLSrSrv6BindingSID::_internal_has_explicit_() const { + return type_case() == kExplicit; +} +inline bool SLSrSrv6BindingSID::has_explicit_() const { + return _internal_has_explicit_(); +} +inline void SLSrSrv6BindingSID::set_has_explicit_() { + _oneof_case_[0] = kExplicit; +} +inline ::service_layer::SLSRv6SIDInfo* SLSrSrv6BindingSID::release_explicit_() { + // @@protoc_insertion_point(field_release:service_layer.SLSrSrv6BindingSID.explicit) + if (_internal_has_explicit_()) { + clear_has_type(); + ::service_layer::SLSRv6SIDInfo* temp = type_.explicit__; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + type_.explicit__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service_layer::SLSRv6SIDInfo& SLSrSrv6BindingSID::_internal_explicit_() const { + return _internal_has_explicit_() + ? *type_.explicit__ + : reinterpret_cast< ::service_layer::SLSRv6SIDInfo&>(::service_layer::_SLSRv6SIDInfo_default_instance_); +} +inline const ::service_layer::SLSRv6SIDInfo& SLSrSrv6BindingSID::explicit_() const { + // @@protoc_insertion_point(field_get:service_layer.SLSrSrv6BindingSID.explicit) + return _internal_explicit_(); +} +inline ::service_layer::SLSRv6SIDInfo* SLSrSrv6BindingSID::unsafe_arena_release_explicit_() { + // @@protoc_insertion_point(field_unsafe_arena_release:service_layer.SLSrSrv6BindingSID.explicit) + if (_internal_has_explicit_()) { + clear_has_type(); + ::service_layer::SLSRv6SIDInfo* temp = type_.explicit__; + type_.explicit__ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void SLSrSrv6BindingSID::unsafe_arena_set_allocated_explicit_(::service_layer::SLSRv6SIDInfo* explicit_) { + clear_type(); + if (explicit_) { + set_has_explicit_(); + type_.explicit__ = explicit_; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service_layer.SLSrSrv6BindingSID.explicit) +} +inline ::service_layer::SLSRv6SIDInfo* SLSrSrv6BindingSID::_internal_mutable_explicit_() { + if (!_internal_has_explicit_()) { + clear_type(); + set_has_explicit_(); + type_.explicit__ = CreateMaybeMessage< ::service_layer::SLSRv6SIDInfo >(GetArenaForAllocation()); + } + return type_.explicit__; +} +inline ::service_layer::SLSRv6SIDInfo* SLSrSrv6BindingSID::mutable_explicit_() { + ::service_layer::SLSRv6SIDInfo* _msg = _internal_mutable_explicit_(); + // @@protoc_insertion_point(field_mutable:service_layer.SLSrSrv6BindingSID.explicit) + return _msg; +} + // .service_layer.SLSrSrv6DynamicBindingSID dynamic = 2; inline bool SLSrSrv6BindingSID::_internal_has_dynamic() const { return type_case() == kDynamic; @@ -5250,6 +5598,30 @@ inline void SLSrSrv6DynamicBindingSID::set_srv6_endpoint_behavior(uint32_t value // @@protoc_insertion_point(field_set:service_layer.SLSrSrv6DynamicBindingSID.srv6_endpoint_behavior) } +// ------------------------------------------------------------------- + +// SLSrSrv6PolicyAttributes + +// bool install_final_node_sid = 1; +inline void SLSrSrv6PolicyAttributes::clear_install_final_node_sid() { + install_final_node_sid_ = false; +} +inline bool SLSrSrv6PolicyAttributes::_internal_install_final_node_sid() const { + return install_final_node_sid_; +} +inline bool SLSrSrv6PolicyAttributes::install_final_node_sid() const { + // @@protoc_insertion_point(field_get:service_layer.SLSrSrv6PolicyAttributes.install_final_node_sid) + return _internal_install_final_node_sid(); +} +inline void SLSrSrv6PolicyAttributes::_internal_set_install_final_node_sid(bool value) { + + install_final_node_sid_ = value; +} +inline void SLSrSrv6PolicyAttributes::set_install_final_node_sid(bool value) { + _internal_set_install_final_node_sid(value); + // @@protoc_insertion_point(field_set:service_layer.SLSrSrv6PolicyAttributes.install_final_node_sid) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -5285,6 +5657,8 @@ inline void SLSrSrv6DynamicBindingSID::set_srv6_endpoint_behavior(uint32_t value // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/grpc/cpp/src/gencpp/sl_version.pb.cc b/grpc/cpp/src/gencpp/sl_version.pb.cc index a4ec7d27..145e51fa 100644 --- a/grpc/cpp/src/gencpp/sl_version.pb.cc +++ b/grpc/cpp/src/gencpp/sl_version.pb.cc @@ -27,7 +27,7 @@ static constexpr ::PROTOBUF_NAMESPACE_ID::Message* const* file_default_instances const char descriptor_table_protodef_sl_5fversion_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\020sl_version.proto\022\rservice_layer*f\n\tSLV" "ersion\022\025\n\021SL_VERSION_UNUSED\020\000\022\024\n\020SL_MAJO" - "R_VERSION\020\000\022\024\n\020SL_MINOR_VERSION\020\013\022\022\n\016SL_" + "R_VERSION\020\000\022\024\n\020SL_MINOR_VERSION\020\014\022\022\n\016SL_" "SUB_VERSION\020\000\032\002\020\001BQZOgithub.com/Cisco-se" "rvice-layer/service-layer-objmodel/grpc/" "protos;service_layerb\006proto3" @@ -53,7 +53,7 @@ const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SLVersion_descriptor() { bool SLVersion_IsValid(int value) { switch (value) { case 0: - case 11: + case 12: return true; default: return false; diff --git a/grpc/cpp/src/gencpp/sl_version.pb.h b/grpc/cpp/src/gencpp/sl_version.pb.h index 37d01ab7..65f08a35 100644 --- a/grpc/cpp/src/gencpp/sl_version.pb.h +++ b/grpc/cpp/src/gencpp/sl_version.pb.h @@ -59,7 +59,7 @@ namespace service_layer { enum SLVersion : int { SL_VERSION_UNUSED = 0, SL_MAJOR_VERSION = 0, - SL_MINOR_VERSION = 11, + SL_MINOR_VERSION = 12, SL_SUB_VERSION = 0, SLVersion_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), SLVersion_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() diff --git a/grpc/cpp/src/tutorial/rshuttle/README.md b/grpc/cpp/src/tutorial/rshuttle/README.md index 247ae9f0..86cfa2f4 100644 --- a/grpc/cpp/src/tutorial/rshuttle/README.md +++ b/grpc/cpp/src/tutorial/rshuttle/README.md @@ -142,8 +142,8 @@ For now, if you already have passed this setup step, follow this example: | --- | --- | | -m/--first_mpls_path_nhip | Configure the starting address for this test for MPLS (default "11.0.0.1") | | -n/--next_hop_interface_mpls | Configure the next hop interface for MPLS (default "FourHundredGigE0/0/0/0") | -| -o/--local_label | Configure the starting local label for this test for MPLS (default 12000) | -| -K/--out_label | Configure the starting out label for this test for MPLS (default 20000) | +| -o/--entry_key_label | Configure the starting entry key label for this test for MPLS (default 12000) | +| -K/--remote_label_stack | Configure the starting label added to the remote label stack for this test for MPLS (default 20000) | | -q/--num_paths | Configure the number of paths for MPLS labels (default 1) | ##### PG Testing @@ -243,10 +243,10 @@ IPV6 Example: MPLS Example: Adding 1000 Labels with streaming rpc and with response ack set to RIB_AND_FIB_ACK: - $ ./servicelayermain -u username -p password -a Add -w Register --table_type mpls -b 1000 --local_label 12000 --response_ack_type RIB_AND_FIB_ACK + $ ./servicelayermain -u username -p password -a Add -w Register --table_type mpls -b 1000 --entry_key_label 12000 --response_ack_type RIB_AND_FIB_ACK $ ./servicelayermain -u username -p password -a Add -w Register --table_type mpls --num_operations 1000 -o 12000 --batch_size 1024 --response_ack_type RIB_AND_FIB_ACK (same as above example) Deleting 35 labels with unary rpc: - $ ./servicelayermain -u username -p password -a Delete -w Register --table_type mpls --num_operations 35 --local_label 12010 --stream_case false + $ ./servicelayermain -u username -p password -a Delete -w Register --table_type mpls --num_operations 35 --entry_key_label 12010 --stream_case false Path Group Example: diff --git a/grpc/cpp/src/tutorial/rshuttle/ServiceLayerMain.cpp b/grpc/cpp/src/tutorial/rshuttle/ServiceLayerMain.cpp index 8a5b9319..b8e7929f 100644 --- a/grpc/cpp/src/tutorial/rshuttle/ServiceLayerMain.cpp +++ b/grpc/cpp/src/tutorial/rshuttle/ServiceLayerMain.cpp @@ -216,7 +216,6 @@ printHelperSlRoutePath(SLAFRShuttle* slaf_route_shuttle, service_layer::SLRouteP } LOG(INFO) << "\t\t\t\tLoad Metric: " << path_object.loadmetric(); LOG(INFO) << "\t\t\t\tVRF Name: " << path_object.vrfname(); - LOG(INFO) << "\t\t\t\tMetric: " << path_object.metric(); LOG(INFO) << "\t\t\t\tPath ID: " << path_object.pathid(); for (int temp_index = 0; temp_index < path_object.protectedpathbitmap_size(); temp_index++) { @@ -709,15 +708,15 @@ void routepush_slaf(SLAFRShuttle* slaf_route_shuttle, LOG(INFO) << "Starting MPLS"; // Populate MPLS DB - uint32_t local_label = env_data.local_label; - database.mpls_start_index = local_label; + uint32_t entry_key_label = env_data.entry_key_label; + database.mpls_start_index = entry_key_label; for(int i = 0; i < env_data.num_operations; i++){ statusObject dummy; std::pair temp = std::make_pair(env_data, dummy); - database.db_mpls[local_label+i] = temp; + database.db_mpls[entry_key_label+i] = temp; database.db_count++; } - database.mpls_last_index = local_label+env_data.num_operations-1; + database.mpls_last_index = entry_key_label+env_data.num_operations-1; if (env_data.stream_case == true) { totalroutes = slaf_route_shuttle->routeSLAFOpStream(addr_family, env_data.route_oper); @@ -1008,9 +1007,9 @@ void get_slaf(SLAFRShuttle* slaf_route_shuttle, objs_to_search.ipv6_routes.push_back(std::make_pair(prefix, prefix_len)); } } else if (slaf_obj.addr_family == service_layer::SL_MPLS_LABEL_TABLE) { - uint32_t local_label = slaf_obj.start_mpls; + uint32_t entry_key_label = slaf_obj.start_mpls; for (int j = 0; j < slaf_obj.num_operations; j++){ - objs_to_search.mpls_labels.push_back(local_label+j); + objs_to_search.mpls_labels.push_back(entry_key_label+j); } } else if (slaf_obj.addr_family == service_layer::SL_PATH_GROUP_TABLE) { @@ -1144,7 +1143,7 @@ void try_notif_slaf(std::shared_ptr channel, delete slaf_route_shuttle; } } - if (status.error_code() != grpc::StatusCode::UNAVAILABLE || status.error_code() != grpc::StatusCode::CANCELLED) { + if (status.error_code() != grpc::StatusCode::UNAVAILABLE) { LOG(INFO) << "Cannot retry for status code: " << status.error_code(); attempts = maxAttempts + 1; break; @@ -1209,8 +1208,8 @@ int main(int argc, char** argv) { {"next_hop_ip_ipv6", required_argument, nullptr, 'l'}, {"first_mpls_path_nhip", required_argument, nullptr, 'm'}, {"next_hop_interface_mpls", required_argument, nullptr, 'n'}, - {"local_label", required_argument, nullptr, 'o'}, - {"out_label", required_argument, nullptr, 'K'}, + {"entry_key_label", required_argument, nullptr, 'o'}, + {"remote_label_stack", required_argument, nullptr, 'K'}, {"num_paths", required_argument, nullptr, 'q'}, {"create_path_group_for", required_argument, nullptr, 'r'}, {"path_group_name", required_argument, nullptr, 'y'}, @@ -1329,10 +1328,10 @@ int main(int argc, char** argv) { env_data.next_hop_interface_mpls = optarg; break; case 'o': - env_data.local_label = stringToInt(optarg); + env_data.entry_key_label = stringToInt(optarg); break; case 'K': - env_data.out_label = stringToInt(optarg); + env_data.remote_label_stack = stringToInt(optarg); break; case 'q': env_data.num_paths = stringToInt(optarg); @@ -1393,8 +1392,8 @@ int main(int argc, char** argv) { LOG(INFO) << "Programming MPLS Labels (table_type is set to mpls)"; LOG(INFO) << "| -m/--first_mpls_path_nhip | Configure the starting address for this test for MPLS (default 11.0.0.1) |"; LOG(INFO) << "| -n/--next_hop_interface_mpls | Configure the next hop interface for MPLS (default FourHundredGigE0/0/0/0) |"; - LOG(INFO) << "| -o/--local_label | Configure the starting local label for this test for MPLS (default 12000) |"; - LOG(INFO) << "| -K/--out_label | Configure the starting out label for this test for MPLS (default 20000) |"; + LOG(INFO) << "| -o/--entry_key_label | Configure the starting entry key label for this test for MPLS (default 12000) |"; + LOG(INFO) << "| -K/--remote_label_stack | Configure the starting label added to the remote label stack for this test for MPLS (default 20000) |"; LOG(INFO) << "| -q/--num_paths | Configure the number of paths for MPLS labels (default 1) |"; LOG(INFO) << "Programming PG (table_type is set to pg)"; LOG(INFO) << "| -r/--create_path_group_for | Configure the table_type for which path group is being made (default ipv4) |"; diff --git a/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.cpp b/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.cpp index 655c303d..19c3bb69 100644 --- a/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.cpp +++ b/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.cpp @@ -241,12 +241,12 @@ SLAFRShuttle::pushFromDB(bool streamCase, service_layer::SLObjectOp routeOper, s // Labels are incremented by 1 while (mpls_index <= mpls_last) { auto db_label = mpls_index; - auto local_label = database.db_mpls[mpls_index].first.local_label; - auto out_label = database.db_mpls[mpls_index].first.out_label; + auto entry_key_label = database.db_mpls[mpls_index].first.entry_key_label; + auto remote_label_stack = database.db_mpls[mpls_index].first.remote_label_stack; auto next_hop_address = this->ipv4ToLong(database.db_mpls[mpls_index].first.first_mpls_path_nhip.c_str()); this->insertAddBatchMPLS(db_label, - local_label, - out_label, + entry_key_label, + remote_label_stack, database.db_mpls[mpls_index].first.num_paths, next_hop_address, database.db_mpls[mpls_index].first.next_hop_interface_mpls, @@ -297,7 +297,7 @@ SLAFRShuttle::pushFromDB(bool streamCase, service_layer::SLObjectOp routeOper, s route_path->mutable_nexthopaddress()->set_v4address(db_prefix); route_path->mutable_nexthopinterface()->set_name(database.db_pg[pg_name].first.next_hop_interface_ipv4); if (createPathGroupFor == service_layer::SL_MPLS_LABEL_TABLE) { - route_path->add_labelstack(database.db_pg[pg_name].first.out_label); + route_path->add_labelstack(database.db_pg[pg_name].first.remote_label_stack); } route_count++; ipv4_index++; @@ -443,6 +443,7 @@ SLAFRShuttle::readStream(std::shared_ptrRead(&resp_msg)) { @@ -507,17 +508,22 @@ SLAFRShuttle::readStream(std::shared_ptr lck(finish_m); read_finished = true; finish_read_cv.notify_all(); + stop_listening = true; } db_mutex.unlock(); + + if (stop_listening) { + break; + } } db_mutex.lock(); // Signifies we have closed stream due to abort or failure in write rpc. Thus signal main thread to wake up if (read_count != database.db_count) { - // In this instance telling main thread to tell write thread to end terminate stream doesn't matter + // In this instance telling main thread to tell write thread to stop sending but it doesn't matter std::unique_lock lck(finish_m); read_finished = true; finish_read_cv.notify_all(); @@ -561,7 +567,7 @@ SLAFRShuttle::writeStream(std::shared_ptrWrite(message); } - // Signifies the stream write is finished and stops stream + // Signifies the stream write is finished stream->WritesDone(); } @@ -649,10 +655,19 @@ SLAFRShuttle::routeSLAFOpStream(service_layer::SLTableType addrFamily, service_l total_routes = this->pushFromDB(true,routeOper,addrFamily,createPathGroupFor); stopStream(&reader,&writer); + /* + * Message specificstatus code errors are tracked within the db objects. + * Cancelled error code or going out of scope for stream variable (which closes channel) + * is the only way to end stream as server does not close the stream on its own. + */ + context.TryCancel(); status = stream->Finish(); + LOG(INFO) << "Stream finished"; if (!status.ok()) { - LOG(ERROR) << "RPC failed, error code is " << status.error_code() << " tid: " << std::this_thread::get_id(); - throw(status); + if (status.error_code() != grpc::StatusCode::CANCELLED) { + LOG(ERROR) << "RPC failed, error code is " << status.error_code() << " tid: " << std::this_thread::get_id(); + throw(status); + } } return total_routes; } @@ -812,14 +827,21 @@ SLAFRShuttle::routeSLAFNotifStream(unsigned int batchSize, service_layer::SLNoti std::this_thread::sleep_for(std::chrono::seconds(notificationStreamDuration)); - // WritesDone Will cause the stream read to return false and exit this program stream->WritesDone(); + /* + * Cancelled error code or going out of scope for stream variable (which closes channel) + * is the only way to end stream as server does not close the stream on its own. + * This will also unblock the reader thread if it is waiting on a read. + */ + context.TryCancel(); reader.join(); status = stream->Finish(); if (!status.ok()) { - LOG(ERROR) << "RPC failed, error code is " << status.error_code() << " tid: " << std::this_thread::get_id(); - throw(status); + if (status.error_code() != grpc::StatusCode::CANCELLED) { + LOG(ERROR) << "RPC failed, error code is " << status.error_code() << " tid: " << std::this_thread::get_id(); + throw(status); + } } return responses; } @@ -1353,43 +1375,42 @@ SLAFRShuttle::insertAddBatchV6(std::string prefix, void SLAFRShuttle::insertAddBatchMPLS(uint32_t label, uint32_t startLabel, - uint32_t startOutLabel, + uint32_t remoteLabelStack, unsigned int numPaths, uint32_t nextHopAddress, std::string nextHopInterface, std::string pgName, responseAcks responseAck) { - /* Create a new ilm entry, and the only way to do that with the current proto file + /* Create a new mpls_entry, and the only way to do that with the current proto file is to add a new oplist */ service_layer::SLAFOpMsg* operation = route_msg.add_oplist(); service_layer::SLAFObject* af_object = operation->mutable_afobject(); - service_layer::SLMplsEntry* ilm = af_object->mutable_mplslabel(); - service_layer::SLMplsEntryKey* ilm_key = ilm->mutable_mplskey(); + service_layer::SLMplsEntry* mpls_entry = af_object->mutable_mplslabel(); + service_layer::SLMplsEntryKey* mpls_entry_key = mpls_entry->mutable_mplskey(); operation->set_operationid(database.operation_id++); this->responseAckSet(operation, responseAck); - ilm_key->set_label(label); + mpls_entry_key->set_label(label); if (pgName == "") { // Multiple path in entry for(int pathIdx = 0; pathIdx < numPaths; pathIdx++){ - service_layer::SLRoutePath* nhlfe = ilm->add_pathlist(); - service_layer::SLIpAddress* slip_add = nhlfe->mutable_nexthopaddress(); + service_layer::SLRoutePath* path_list = mpls_entry->add_pathlist(); + service_layer::SLIpAddress* slip_add = path_list->mutable_nexthopaddress(); slip_add->set_v4address(nextHopAddress); - nhlfe->set_vrfname("default"); + path_list->set_vrfname("default"); if (nextHopInterface.length() != 0){ - service_layer::SLInterface* sli_add = nhlfe->mutable_nexthopinterface(); + service_layer::SLInterface* sli_add = path_list->mutable_nexthopinterface(); sli_add->set_name(nextHopInterface); } if (startLabel > 0) { - int out_label = startOutLabel + (label-startLabel); - nhlfe->add_labelstack(out_label); + path_list->add_labelstack(remoteLabelStack); } } } else { - service_layer::SLRoutePath* nhlfe = ilm->add_pathlist(); - auto pathGroup = nhlfe->mutable_pathgroupkey(); + service_layer::SLRoutePath* path_list = mpls_entry->add_pathlist(); + auto pathGroup = path_list->mutable_pathgroupkey(); pathGroup->set_vrfname("default"); service_layer::SLObjectId* pgId = pathGroup->mutable_pathgroupid(); pgId->set_name(pgName); diff --git a/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.h b/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.h index 732dae64..6df260ee 100644 --- a/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.h +++ b/grpc/cpp/src/tutorial/rshuttle/ServiceLayerRoutev2.h @@ -118,8 +118,8 @@ class testingData // For MPLS std::string first_mpls_path_nhip = "11.0.0.1"; std::string next_hop_interface_mpls = "FourHundredGigE0/0/0/0"; - uint32_t local_label = 12000; - uint32_t out_label = 20000; + uint32_t entry_key_label = 12000; + uint32_t remote_label_stack = 20000; unsigned int num_label = 1000; unsigned int num_paths = 1; diff --git a/grpc/cpp/src/tutorial/rshuttle/servicelayermain b/grpc/cpp/src/tutorial/rshuttle/servicelayermain index 86c20a5d..24005040 100755 Binary files a/grpc/cpp/src/tutorial/rshuttle/servicelayermain and b/grpc/cpp/src/tutorial/rshuttle/servicelayermain differ diff --git a/grpc/dotnet/src/gencs/SlAf.cs b/grpc/dotnet/src/gencs/SlAf.cs index 46592004..1dad25b4 100644 --- a/grpc/dotnet/src/gencs/SlAf.cs +++ b/grpc/dotnet/src/gencs/SlAf.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_af.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -40,108 +40,101 @@ static SlAfReflection() { "cBIvCglFcnJTdGF0dXMYASABKAsyHC5zZXJ2aWNlX2xheWVyLlNMRXJyb3JT", "dGF0dXMSEAoIQ2xpZW50SUQYAiABKAQSKQoFVGFibGUYAyABKA4yGi5zZXJ2", "aWNlX2xheWVyLlNMVGFibGVUeXBlEigKB0VudHJpZXMYBCADKAsyFy5zZXJ2", - "aWNlX2xheWVyLlNMVnJmUmVnIroCCgtTTFBhdGhHcm91cBIuCgtQYXRoR3Jv", - "dXBJZBgBIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RJZBIVCg1BZG1p", - "bkRpc3RhbmNlGAIgASgNEjkKCFBhdGhMaXN0GAMgASgLMiUuc2VydmljZV9s", - "YXllci5TTFBhdGhHcm91cC5TTFBhdGhMaXN0SAASLAoHUGdGbGFncxgEIAMo", - "DjIbLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZUZsYWdzGjIKBlNMUGF0aBIoCgRQ", - "YXRoGAEgASgLMhouc2VydmljZV9sYXllci5TTFJvdXRlUGF0aBo+CgpTTFBh", - "dGhMaXN0EjAKBVBhdGhzGAEgAygLMiEuc2VydmljZV9sYXllci5TTFBhdGhH", - "cm91cC5TTFBhdGhCBwoFZW50cnkiHwoOU0xNcGxzRW50cnlLZXkSDQoFTGFi", - "ZWwYASABKA0i5QEKC1NMTXBsc0VudHJ5Ei4KB01wbHNLZXkYASABKAsyHS5z", - "ZXJ2aWNlX2xheWVyLlNMTXBsc0VudHJ5S2V5EhUKDUFkbWluRGlzdGFuY2UY", - "AiABKA0SLAoIUGF0aExpc3QYAyADKAsyGi5zZXJ2aWNlX2xheWVyLlNMUm91", - "dGVQYXRoEi4KCU1wbHNGbGFncxgEIAMoDjIbLnNlcnZpY2VfbGF5ZXIuU0xS", - "b3V0ZUZsYWdzEjEKCFByaW9yaXR5GAUgASgOMh8uc2VydmljZV9sYXllci5T", - "TFVwZGF0ZVByaW9yaXR5IqMBCgtTTEFGSVBSb3V0ZRIzCg1JUFJvdXRlUHJl", - "Zml4GAEgASgLMhwuc2VydmljZV9sYXllci5TTFJvdXRlUHJlZml4EjEKC1Jv", - "dXRlQ29tbW9uGAIgASgLMhwuc2VydmljZV9sYXllci5TTFJvdXRlQ29tbW9u", - "EiwKCFBhdGhMaXN0GAMgAygLMhouc2VydmljZV9sYXllci5TTFJvdXRlUGF0", - "aCKmAQoKU0xBRk9iamVjdBItCgdJUFJvdXRlGAEgASgLMhouc2VydmljZV9s", - "YXllci5TTEFGSVBSb3V0ZUgAEi8KCU1wbHNMYWJlbBgCIAEoCzIaLnNlcnZp", - "Y2VfbGF5ZXIuU0xNcGxzRW50cnlIABIvCglQYXRoR3JvdXAYAyABKAsyGi5z", - "ZXJ2aWNlX2xheWVyLlNMUGF0aEdyb3VwSABCBwoFZW50cnki4gEKCVNMQUZP", - "cE1zZxIrCghBRk9iamVjdBgBIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xBRk9i", - "amVjdBITCgtPcGVyYXRpb25JRBgCIAEoBBIsCgdBY2tUeXBlGAMgASgOMhsu", - "c2VydmljZV9sYXllci5TTFJzcEFDS1R5cGUSMQoKQWNrUGVybWl0cxgEIAMo", - "DjIdLnNlcnZpY2VfbGF5ZXIuU0xSc3BBQ0tQZXJtaXQSMgoKQWNrQ2FkZW5j", - "ZRgFIAEoDjIeLnNlcnZpY2VfbGF5ZXIuU0xSc3BBY2tDYWRlbmNlIigKEFNM", - "QUZDbGllbnRJRExpc3QSFAoMQ2xpZW50SURMaXN0GAEgAygEIjwKD1NMVGFi", - "bGVUeXBlTGlzdBIpCgVUYWJsZRgBIAMoDjIaLnNlcnZpY2VfbGF5ZXIuU0xU", - "YWJsZVR5cGUiswEKDVNMQUZPYmplY3RLZXkSNQoNSVBSb3V0ZVByZWZpeBgB", - "IAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZVByZWZpeEgAEjIKCU1wbHNM", - "YWJlbBgCIAEoCzIdLnNlcnZpY2VfbGF5ZXIuU0xNcGxzRW50cnlLZXlIABIw", - "CgtQYXRoR3JvdXBJZBgDIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RJ", - "ZEgAQgUKA2tleSJ0CgxTTEFGR2V0TWF0Y2gSKwoDS2V5GAEgASgLMhwuc2Vy", - "dmljZV9sYXllci5TTEFGT2JqZWN0S2V5SAASGAoOUGF0aEdyb3VwUmVnZXgY", - "AiABKAlIABIUCgpWeGxhblZuaUlkGAMgASgNSABCBwoFZW50cnkiPgoQU0xB", - "RkdldE1hdGNoTGlzdBIqCgVNYXRjaBgBIAMoCzIbLnNlcnZpY2VfbGF5ZXIu", - "U0xBRkdldE1hdGNoIu8BCgpTTEFGR2V0TXNnEg8KB1ZyZk5hbWUYASABKAkS", - "NwoMQ2xpZW50SURMaXN0GAIgASgLMh8uc2VydmljZV9sYXllci5TTEFGQ2xp", - "ZW50SURMaXN0SAASFAoKQWxsQ2xpZW50cxgDIAEoCEgAEjMKCVRhYmxlTGlz", - "dBgEIAEoCzIeLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5cGVMaXN0SAESOQoO", - "Um91dGVNYXRjaExpc3QYBSABKAsyHy5zZXJ2aWNlX2xheWVyLlNMQUZHZXRN", - "YXRjaExpc3RIAUIICgZjbGllbnRCBwoFbWF0Y2gicAoSU0xBRkdldE1zZ1Jz", - "cEVudHJ5EikKB0FGT3BNc2cYASABKAsyGC5zZXJ2aWNlX2xheWVyLlNMQUZP", - "cE1zZxIvCglGSUJTdGF0dXMYAiABKA4yHC5zZXJ2aWNlX2xheWVyLlNMQUZG", - "aWJTdGF0dXMilgEKDVNMQUZHZXRNc2dSc3ASLwoJRXJyU3RhdHVzGAEgASgL", - "Mhwuc2VydmljZV9sYXllci5TTEVycm9yU3RhdHVzEg8KB1ZyZk5hbWUYAiAB", - "KAkSEAoIQ2xpZW50SUQYAyABKAQSMQoGQUZMaXN0GAQgAygLMiEuc2Vydmlj", - "ZV9sYXllci5TTEFGR2V0TXNnUnNwRW50cnkibQoHU0xBRk1zZxInCgRPcGVy", - "GAEgASgOMhkuc2VydmljZV9sYXllci5TTE9iamVjdE9wEg8KB1ZyZk5hbWUY", - "AiABKAkSKAoGT3BMaXN0GAMgAygLMhguc2VydmljZV9sYXllci5TTEFGT3BN", - "c2civQEKB1NMQUZSZXMSLAoGU3RhdHVzGAEgASgLMhwuc2VydmljZV9sYXll", - "ci5TTEVycm9yU3RhdHVzEikKA0tleRgCIAEoCzIcLnNlcnZpY2VfbGF5ZXIu", - "U0xBRk9iamVjdEtleRITCgtPcGVyYXRpb25JRBgDIAEoBBIvCglGSUJTdGF0", - "dXMYBCABKA4yHC5zZXJ2aWNlX2xheWVyLlNMQUZGaWJTdGF0dXMSEwoLRXJy", - "b3JTdHJpbmcYBSABKAkiRgoKU0xBRk1zZ1JzcBIPCgdWcmZOYW1lGAEgASgJ", - "EicKB1Jlc3VsdHMYAiADKAsyFi5zZXJ2aWNlX2xheWVyLlNMQUZSZXMiZAoQ", - "U0xBRlJlZGlzdFJlZ01zZxIQCghTcmNQcm90bxgBIAEoCRITCgtTcmNQcm90", - "b1RhZxgCIAEoCRIpCgVUYWJsZRgDIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xU", - "YWJsZVR5cGUi3wEKEVNMQUZOZXh0SG9wUmVnS2V5EkAKB05leHRIb3AYASAB", - "KAsyLS5zZXJ2aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnS2V5LlNMTmV4dEhv", - "cEtleUgAGnoKDFNMTmV4dEhvcEtleRIvCglOZXh0SG9wSVAYASABKAsyHC5z", - "ZXJ2aWNlX2xheWVyLlNMUm91dGVQcmVmaXgSEgoKRXhhY3RNYXRjaBgCIAEo", - "CBIUCgxBbGxvd0RlZmF1bHQYAyABKAgSDwoHUmVjdXJzZRgEIAEoCEIMCgpu", - "ZXh0aG9wa2V5IkkKEVNMQUZOZXh0SG9wUmVnTXNnEjQKCk5leHRIb3BLZXkY", - "ASABKAsyIC5zZXJ2aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnS2V5Ip8BCg9T", - "TEFGTm90aWZSZWdSZXESNAoJUmVkaXN0UmVxGAEgASgLMh8uc2VydmljZV9s", - "YXllci5TTEFGUmVkaXN0UmVnTXNnSAASNgoKTmV4dEhvcFJlcRgCIAEoCzIg", - "LnNlcnZpY2VfbGF5ZXIuU0xBRk5leHRIb3BSZWdNc2dIABITCgtPcGVyYXRp", - "b25JRBgDIAEoBEIJCgdyZXF1ZXN0InkKDFNMQUZOb3RpZlJlcRImCgRPcGVy", - "GAEgASgOMhguc2VydmljZV9sYXllci5TTE5vdGlmT3ASDwoHVnJmTmFtZRgC", - "IAEoCRIwCghOb3RpZlJlcRgDIAMoCzIeLnNlcnZpY2VfbGF5ZXIuU0xBRk5v", - "dGlmUmVnUmVxInMKDFNMQUZOb3RpZlJzcBIwCghOb3RpZlJlcRgBIAEoCzIe", - "LnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmUmVnUmVxEjEKC05vdGlmU3RhdHVz", - "GAIgASgLMhwuc2VydmljZV9sYXllci5TTEVycm9yU3RhdHVzIvEBCglTTE5l", - "eHRIb3ASNAoKTmV4dEhvcEtleRgBIAEoCzIgLnNlcnZpY2VfbGF5ZXIuU0xB", - "Rk5leHRIb3BSZWdLZXkSNQoPUmVzb2x2aW5nUHJlZml4GAIgASgLMhwuc2Vy", - "dmljZV9sYXllci5TTFJvdXRlUHJlZml4EhAKCFNyY1Byb3RvGAMgASgJEhMK", - "C1NyY1Byb3RvVGFnGAQgASgJEhUKDUFkbWluRGlzdGFuY2UYBSABKA0SDgoG", - "TWV0cmljGAYgASgNEikKBVBhdGhzGAcgAygLMhouc2VydmljZV9sYXllci5T", - "TFJvdXRlUGF0aCLjAgoJU0xBRk5vdGlmEjIKC05vdGlmU3RhdHVzGAEgASgL", - "Mhsuc2VydmljZV9sYXllci5TTEFGTm90aWZSc3BIABI+CgtTdGFydE1hcmtl", - "chgCIAEoCzInLnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmLlNMUmVkaXN0TWFy", - "a2VySAASPAoJRW5kTWFya2VyGAMgASgLMicuc2VydmljZV9sYXllci5TTEFG", - "Tm90aWYuU0xSZWRpc3RNYXJrZXJIABIxCgxSZWRpc3RPYmplY3QYBCABKAsy", - "GS5zZXJ2aWNlX2xheWVyLlNMQUZPYmplY3RIABIrCgdOZXh0SG9wGAUgASgL", - "Mhguc2VydmljZV9sYXllci5TTE5leHRIb3BIABo7Cg5TTFJlZGlzdE1hcmtl", - "chIpCgVUYWJsZRgBIAEoDjIaLnNlcnZpY2VfbGF5ZXIuU0xUYWJsZVR5cGVC", - "BwoFRXZlbnQiSwoMU0xBRk5vdGlmTXNnEg8KB1ZyZk5hbWUYASABKAkSKgoI", - "QUZOb3RpZnMYAyADKAsyGC5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZjLIAwoE", - "U0xBRhJNCgxTTEFGVnJmUmVnT3ASHC5zZXJ2aWNlX2xheWVyLlNMQUZWcmZS", - "ZWdNc2caHy5zZXJ2aWNlX2xheWVyLlNMQUZWcmZSZWdNc2dSc3ASVgoNU0xB", - "RlZyZlJlZ0dldBIfLnNlcnZpY2VfbGF5ZXIuU0xBRlZyZlJlZ0dldE1zZxoi", - "LnNlcnZpY2VfbGF5ZXIuU0xBRlZyZlJlZ0dldE1zZ1JzcDABEjsKBlNMQUZP", - "cBIWLnNlcnZpY2VfbGF5ZXIuU0xBRk1zZxoZLnNlcnZpY2VfbGF5ZXIuU0xB", - "Rk1zZ1JzcBJFCgxTTEFGT3BTdHJlYW0SFi5zZXJ2aWNlX2xheWVyLlNMQUZN", - "c2caGS5zZXJ2aWNlX2xheWVyLlNMQUZNc2dSc3AoATABEkQKB1NMQUZHZXQS", - "GS5zZXJ2aWNlX2xheWVyLlNMQUZHZXRNc2caHC5zZXJ2aWNlX2xheWVyLlNM", - "QUZHZXRNc2dSc3AwARJPCg9TTEFGTm90aWZTdHJlYW0SGy5zZXJ2aWNlX2xh", - "eWVyLlNMQUZOb3RpZlJlcRobLnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmTXNn", - "KAEwAUJRWk9naXRodWIuY29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIvc2Vydmlj", - "ZS1sYXllci1vYmptb2RlbC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xheWVyYgZw", - "cm90bzM=")); + "aWNlX2xheWVyLlNMVnJmUmVnIh8KDlNMTXBsc0VudHJ5S2V5Eg0KBUxhYmVs", + "GAEgASgNIuUBCgtTTE1wbHNFbnRyeRIuCgdNcGxzS2V5GAEgASgLMh0uc2Vy", + "dmljZV9sYXllci5TTE1wbHNFbnRyeUtleRIVCg1BZG1pbkRpc3RhbmNlGAIg", + "ASgNEiwKCFBhdGhMaXN0GAMgAygLMhouc2VydmljZV9sYXllci5TTFJvdXRl", + "UGF0aBIuCglNcGxzRmxhZ3MYBCADKA4yGy5zZXJ2aWNlX2xheWVyLlNMUm91", + "dGVGbGFncxIxCghQcmlvcml0eRgFIAEoDjIfLnNlcnZpY2VfbGF5ZXIuU0xV", + "cGRhdGVQcmlvcml0eSKjAQoLU0xBRklQUm91dGUSMwoNSVBSb3V0ZVByZWZp", + "eBgBIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZVByZWZpeBIxCgtSb3V0", + "ZUNvbW1vbhgCIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZUNvbW1vbhIs", + "CghQYXRoTGlzdBgDIAMoCzIaLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZVBhdGgi", + "pgEKClNMQUZPYmplY3QSLQoHSVBSb3V0ZRgBIAEoCzIaLnNlcnZpY2VfbGF5", + "ZXIuU0xBRklQUm91dGVIABIvCglNcGxzTGFiZWwYAiABKAsyGi5zZXJ2aWNl", + "X2xheWVyLlNMTXBsc0VudHJ5SAASLwoJUGF0aEdyb3VwGAMgASgLMhouc2Vy", + "dmljZV9sYXllci5TTFBhdGhHcm91cEgAQgcKBWVudHJ5IuIBCglTTEFGT3BN", + "c2cSKwoIQUZPYmplY3QYASABKAsyGS5zZXJ2aWNlX2xheWVyLlNMQUZPYmpl", + "Y3QSEwoLT3BlcmF0aW9uSUQYAiABKAQSLAoHQWNrVHlwZRgDIAEoDjIbLnNl", + "cnZpY2VfbGF5ZXIuU0xSc3BBQ0tUeXBlEjEKCkFja1Blcm1pdHMYBCADKA4y", + "HS5zZXJ2aWNlX2xheWVyLlNMUnNwQUNLUGVybWl0EjIKCkFja0NhZGVuY2UY", + "BSABKA4yHi5zZXJ2aWNlX2xheWVyLlNMUnNwQWNrQ2FkZW5jZSIoChBTTEFG", + "Q2xpZW50SURMaXN0EhQKDENsaWVudElETGlzdBgBIAMoBCI8Cg9TTFRhYmxl", + "VHlwZUxpc3QSKQoFVGFibGUYASADKA4yGi5zZXJ2aWNlX2xheWVyLlNMVGFi", + "bGVUeXBlIrMBCg1TTEFGT2JqZWN0S2V5EjUKDUlQUm91dGVQcmVmaXgYASAB", + "KAsyHC5zZXJ2aWNlX2xheWVyLlNMUm91dGVQcmVmaXhIABIyCglNcGxzTGFi", + "ZWwYAiABKAsyHS5zZXJ2aWNlX2xheWVyLlNMTXBsc0VudHJ5S2V5SAASMAoL", + "UGF0aEdyb3VwSWQYAyABKAsyGS5zZXJ2aWNlX2xheWVyLlNMT2JqZWN0SWRI", + "AEIFCgNrZXkidAoMU0xBRkdldE1hdGNoEisKA0tleRgBIAEoCzIcLnNlcnZp", + "Y2VfbGF5ZXIuU0xBRk9iamVjdEtleUgAEhgKDlBhdGhHcm91cFJlZ2V4GAIg", + "ASgJSAASFAoKVnhsYW5WbmlJZBgDIAEoDUgAQgcKBWVudHJ5Ij4KEFNMQUZH", + "ZXRNYXRjaExpc3QSKgoFTWF0Y2gYASADKAsyGy5zZXJ2aWNlX2xheWVyLlNM", + "QUZHZXRNYXRjaCLvAQoKU0xBRkdldE1zZxIPCgdWcmZOYW1lGAEgASgJEjcK", + "DENsaWVudElETGlzdBgCIAEoCzIfLnNlcnZpY2VfbGF5ZXIuU0xBRkNsaWVu", + "dElETGlzdEgAEhQKCkFsbENsaWVudHMYAyABKAhIABIzCglUYWJsZUxpc3QY", + "BCABKAsyHi5zZXJ2aWNlX2xheWVyLlNMVGFibGVUeXBlTGlzdEgBEjkKDlJv", + "dXRlTWF0Y2hMaXN0GAUgASgLMh8uc2VydmljZV9sYXllci5TTEFGR2V0TWF0", + "Y2hMaXN0SAFCCAoGY2xpZW50QgcKBW1hdGNoInAKElNMQUZHZXRNc2dSc3BF", + "bnRyeRIpCgdBRk9wTXNnGAEgASgLMhguc2VydmljZV9sYXllci5TTEFGT3BN", + "c2cSLwoJRklCU3RhdHVzGAIgASgOMhwuc2VydmljZV9sYXllci5TTEFGRmli", + "U3RhdHVzIpYBCg1TTEFGR2V0TXNnUnNwEi8KCUVyclN0YXR1cxgBIAEoCzIc", + "LnNlcnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cxIPCgdWcmZOYW1lGAIgASgJ", + "EhAKCENsaWVudElEGAMgASgEEjEKBkFGTGlzdBgEIAMoCzIhLnNlcnZpY2Vf", + "bGF5ZXIuU0xBRkdldE1zZ1JzcEVudHJ5Im0KB1NMQUZNc2cSJwoET3BlchgB", + "IAEoDjIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RPcBIPCgdWcmZOYW1lGAIg", + "ASgJEigKBk9wTGlzdBgDIAMoCzIYLnNlcnZpY2VfbGF5ZXIuU0xBRk9wTXNn", + "Ir0BCgdTTEFGUmVzEiwKBlN0YXR1cxgBIAEoCzIcLnNlcnZpY2VfbGF5ZXIu", + "U0xFcnJvclN0YXR1cxIpCgNLZXkYAiABKAsyHC5zZXJ2aWNlX2xheWVyLlNM", + "QUZPYmplY3RLZXkSEwoLT3BlcmF0aW9uSUQYAyABKAQSLwoJRklCU3RhdHVz", + "GAQgASgOMhwuc2VydmljZV9sYXllci5TTEFGRmliU3RhdHVzEhMKC0Vycm9y", + "U3RyaW5nGAUgASgJIkYKClNMQUZNc2dSc3ASDwoHVnJmTmFtZRgBIAEoCRIn", + "CgdSZXN1bHRzGAIgAygLMhYuc2VydmljZV9sYXllci5TTEFGUmVzImQKEFNM", + "QUZSZWRpc3RSZWdNc2cSEAoIU3JjUHJvdG8YASABKAkSEwoLU3JjUHJvdG9U", + "YWcYAiABKAkSKQoFVGFibGUYAyABKA4yGi5zZXJ2aWNlX2xheWVyLlNMVGFi", + "bGVUeXBlIt8BChFTTEFGTmV4dEhvcFJlZ0tleRJACgdOZXh0SG9wGAEgASgL", + "Mi0uc2VydmljZV9sYXllci5TTEFGTmV4dEhvcFJlZ0tleS5TTE5leHRIb3BL", + "ZXlIABp6CgxTTE5leHRIb3BLZXkSLwoJTmV4dEhvcElQGAEgASgLMhwuc2Vy", + "dmljZV9sYXllci5TTFJvdXRlUHJlZml4EhIKCkV4YWN0TWF0Y2gYAiABKAgS", + "FAoMQWxsb3dEZWZhdWx0GAMgASgIEg8KB1JlY3Vyc2UYBCABKAhCDAoKbmV4", + "dGhvcGtleSJJChFTTEFGTmV4dEhvcFJlZ01zZxI0CgpOZXh0SG9wS2V5GAEg", + "ASgLMiAuc2VydmljZV9sYXllci5TTEFGTmV4dEhvcFJlZ0tleSKfAQoPU0xB", + "Rk5vdGlmUmVnUmVxEjQKCVJlZGlzdFJlcRgBIAEoCzIfLnNlcnZpY2VfbGF5", + "ZXIuU0xBRlJlZGlzdFJlZ01zZ0gAEjYKCk5leHRIb3BSZXEYAiABKAsyIC5z", + "ZXJ2aWNlX2xheWVyLlNMQUZOZXh0SG9wUmVnTXNnSAASEwoLT3BlcmF0aW9u", + "SUQYAyABKARCCQoHcmVxdWVzdCJ5CgxTTEFGTm90aWZSZXESJgoET3BlchgB", + "IAEoDjIYLnNlcnZpY2VfbGF5ZXIuU0xOb3RpZk9wEg8KB1ZyZk5hbWUYAiAB", + "KAkSMAoITm90aWZSZXEYAyADKAsyHi5zZXJ2aWNlX2xheWVyLlNMQUZOb3Rp", + "ZlJlZ1JlcSJzCgxTTEFGTm90aWZSc3ASMAoITm90aWZSZXEYASABKAsyHi5z", + "ZXJ2aWNlX2xheWVyLlNMQUZOb3RpZlJlZ1JlcRIxCgtOb3RpZlN0YXR1cxgC", + "IAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xFcnJvclN0YXR1cyLxAQoJU0xOZXh0", + "SG9wEjQKCk5leHRIb3BLZXkYASABKAsyIC5zZXJ2aWNlX2xheWVyLlNMQUZO", + "ZXh0SG9wUmVnS2V5EjUKD1Jlc29sdmluZ1ByZWZpeBgCIAEoCzIcLnNlcnZp", + "Y2VfbGF5ZXIuU0xSb3V0ZVByZWZpeBIQCghTcmNQcm90bxgDIAEoCRITCgtT", + "cmNQcm90b1RhZxgEIAEoCRIVCg1BZG1pbkRpc3RhbmNlGAUgASgNEg4KBk1l", + "dHJpYxgGIAEoDRIpCgVQYXRocxgHIAMoCzIaLnNlcnZpY2VfbGF5ZXIuU0xS", + "b3V0ZVBhdGgi4wIKCVNMQUZOb3RpZhIyCgtOb3RpZlN0YXR1cxgBIAEoCzIb", + "LnNlcnZpY2VfbGF5ZXIuU0xBRk5vdGlmUnNwSAASPgoLU3RhcnRNYXJrZXIY", + "AiABKAsyJy5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZi5TTFJlZGlzdE1hcmtl", + "ckgAEjwKCUVuZE1hcmtlchgDIAEoCzInLnNlcnZpY2VfbGF5ZXIuU0xBRk5v", + "dGlmLlNMUmVkaXN0TWFya2VySAASMQoMUmVkaXN0T2JqZWN0GAQgASgLMhku", + "c2VydmljZV9sYXllci5TTEFGT2JqZWN0SAASKwoHTmV4dEhvcBgFIAEoCzIY", + "LnNlcnZpY2VfbGF5ZXIuU0xOZXh0SG9wSAAaOwoOU0xSZWRpc3RNYXJrZXIS", + "KQoFVGFibGUYASABKA4yGi5zZXJ2aWNlX2xheWVyLlNMVGFibGVUeXBlQgcK", + "BUV2ZW50IksKDFNMQUZOb3RpZk1zZxIPCgdWcmZOYW1lGAEgASgJEioKCEFG", + "Tm90aWZzGAMgAygLMhguc2VydmljZV9sYXllci5TTEFGTm90aWYyyAMKBFNM", + "QUYSTQoMU0xBRlZyZlJlZ09wEhwuc2VydmljZV9sYXllci5TTEFGVnJmUmVn", + "TXNnGh8uc2VydmljZV9sYXllci5TTEFGVnJmUmVnTXNnUnNwElYKDVNMQUZW", + "cmZSZWdHZXQSHy5zZXJ2aWNlX2xheWVyLlNMQUZWcmZSZWdHZXRNc2caIi5z", + "ZXJ2aWNlX2xheWVyLlNMQUZWcmZSZWdHZXRNc2dSc3AwARI7CgZTTEFGT3AS", + "Fi5zZXJ2aWNlX2xheWVyLlNMQUZNc2caGS5zZXJ2aWNlX2xheWVyLlNMQUZN", + "c2dSc3ASRQoMU0xBRk9wU3RyZWFtEhYuc2VydmljZV9sYXllci5TTEFGTXNn", + "Ghkuc2VydmljZV9sYXllci5TTEFGTXNnUnNwKAEwARJECgdTTEFGR2V0Ehku", + "c2VydmljZV9sYXllci5TTEFGR2V0TXNnGhwuc2VydmljZV9sYXllci5TTEFG", + "R2V0TXNnUnNwMAESTwoPU0xBRk5vdGlmU3RyZWFtEhsuc2VydmljZV9sYXll", + "ci5TTEFGTm90aWZSZXEaGy5zZXJ2aWNlX2xheWVyLlNMQUZOb3RpZk1zZygB", + "MAFCUVpPZ2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZpY2Ut", + "bGF5ZXItb2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIGcHJv", + "dG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, global::ServiceLayer.SlRouteCommonReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -151,8 +144,6 @@ 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", "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.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", "Priority" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLAFIPRoute), global::ServiceLayer.SLAFIPRoute.Parser, new[]{ "IPRoutePrefix", "RouteCommon", "PathList" }, null, null, null, null), @@ -187,6 +178,7 @@ static SlAfReflection() { /// /// AF VRF Registration message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFVrfReg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -380,7 +372,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -406,7 +402,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -431,6 +431,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// AF VRF Registration messages /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFVrfRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -610,7 +611,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -633,7 +638,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -655,6 +664,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// AF VRF Registration message Result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFVrfRegMsgRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -880,7 +890,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -910,7 +924,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -939,6 +957,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Registration message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFVrfRegMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1130,7 +1149,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1156,7 +1179,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1182,6 +1209,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// VRF Reg Get Request Message. /// Returns the VRF registrations done for all table types. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFVrfRegGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1342,7 +1370,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1361,7 +1393,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1379,6 +1415,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Reg Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFVrfRegGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1446,6 +1483,9 @@ public SLAFVrfRegGetMsgRsp Clone() { private ulong clientID_; /// /// Client that performed this registration + /// Note: If the client id is 0, it is considered to be default value + /// as per gRPC proto3 encoding and will not appear in the serialized + /// response message /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1627,43 +1667,13 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (errStatus_ == null) { - ErrStatus = new global::ServiceLayer.SLErrorStatus(); - } - input.ReadMessage(ErrStatus); - break; - } - case 16: { - ClientID = input.ReadUInt64(); - break; - } - case 24: { - Table = (global::ServiceLayer.SLTableType) input.ReadEnum(); - break; - } - case 34: { - entries_.AddEntriesFrom(input, _repeated_entries_codec); - break; - } - } + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; } - #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) { + switch(tag) { default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (errStatus_ == null) { @@ -1677,810 +1687,62 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 24: { - Table = (global::ServiceLayer.SLTableType) input.ReadEnum(); - break; - } - case 34: { - entries_.AddEntriesFrom(ref input, _repeated_entries_codec); - break; - } - } - } - } - #endif - - } - - /// - /// Path Group definition. - /// - public sealed partial class SLPathGroup : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPathGroup()); - 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[6]; } - } - - [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 SLPathGroup() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLPathGroup(SLPathGroup other) : this() { - pathGroupId_ = other.pathGroupId_ != null ? other.pathGroupId_.Clone() : null; - adminDistance_ = other.adminDistance_; - pgFlags_ = other.pgFlags_.Clone(); - switch (other.EntryCase) { - case EntryOneofCase.PathList: - PathList = other.PathList.Clone(); - break; - } - - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLPathGroup Clone() { - return new SLPathGroup(this); - } - - /// Field number for the "PathGroupId" field. - public const int PathGroupIdFieldNumber = 1; - private global::ServiceLayer.SLObjectId pathGroupId_; - /// - /// Path Group ID - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLObjectId PathGroupId { - get { return pathGroupId_; } - set { - pathGroupId_ = value; - } - } - - /// Field number for the "AdminDistance" field. - public const int AdminDistanceFieldNumber = 2; - private uint adminDistance_; - /// - /// Administrative distance of the Path Group. [0-255]. - /// RIB uses this field to break the tie when multiple - /// sources install the same Path Group. - /// Lower distance is preferred over higher distance. - /// The per path group object admin distance overrides the default admin - /// distance set at VRF registration. see SLVrfReg. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint AdminDistance { - get { return adminDistance_; } - set { - adminDistance_ = value; - } - } - - /// Field number for the "PathList" field. - public const int PathListFieldNumber = 3; - /// - /// Path List - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLPathGroup.Types.SLPathList PathList { - get { return entryCase_ == EntryOneofCase.PathList ? (global::ServiceLayer.SLPathGroup.Types.SLPathList) entry_ : null; } - set { - entry_ = value; - entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathList; - } - } - - /// 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. See SLRouteFlags for flag enumerations. - /// Supported values are: - /// - /// 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 - /// load balance group when path viability changes and - /// expects the client to take corrective action. - /// - /// - If the flag is set, the network element only installs viable - /// paths from the PathList in the PathGroup's load balance group. - /// The Network element also automatically updates the PathGroup's - /// load balance group when path viability changes. - /// - /// SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH. - /// - If this flag is not set, routes and MPLS entries referencing - /// this PathGroup are considered active if they are preferred - /// 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 - /// PathGroup changes. - /// - /// - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also - /// be set. The routes and MPLS entries referencing this PathGroup are - /// considered active if they are preferred based - /// 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. - /// - /// Others - Reserved. - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField PgFlags { - get { return pgFlags_; } - } - - private object entry_; - /// Enum of possible cases for the "entry" oneof. - public enum EntryOneofCase { - None = 0, - PathList = 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 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 SLPathGroup); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLPathGroup other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(PathGroupId, other.PathGroupId)) return false; - if (AdminDistance != other.AdminDistance) return false; - if (!object.Equals(PathList, other.PathList)) return false; - if(!pgFlags_.Equals(other.pgFlags_)) 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 (pathGroupId_ != null) hash ^= PathGroupId.GetHashCode(); - if (AdminDistance != 0) hash ^= AdminDistance.GetHashCode(); - if (entryCase_ == EntryOneofCase.PathList) hash ^= PathList.GetHashCode(); - hash ^= pgFlags_.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 (pathGroupId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(PathGroupId); - } - if (AdminDistance != 0) { - output.WriteRawTag(16); - output.WriteUInt32(AdminDistance); - } - if (entryCase_ == EntryOneofCase.PathList) { - output.WriteRawTag(26); - output.WriteMessage(PathList); - } - pgFlags_.WriteTo(output, _repeated_pgFlags_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 (pathGroupId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(PathGroupId); - } - if (AdminDistance != 0) { - output.WriteRawTag(16); - output.WriteUInt32(AdminDistance); - } - if (entryCase_ == EntryOneofCase.PathList) { - output.WriteRawTag(26); - output.WriteMessage(PathList); - } - pgFlags_.WriteTo(ref output, _repeated_pgFlags_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 (pathGroupId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupId); - } - if (AdminDistance != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AdminDistance); - } - if (entryCase_ == EntryOneofCase.PathList) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathList); - } - size += pgFlags_.CalculateSize(_repeated_pgFlags_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLPathGroup other) { - if (other == null) { - return; - } - if (other.pathGroupId_ != null) { - if (pathGroupId_ == null) { - PathGroupId = new global::ServiceLayer.SLObjectId(); - } - PathGroupId.MergeFrom(other.PathGroupId); - } - if (other.AdminDistance != 0) { - AdminDistance = other.AdminDistance; - } - pgFlags_.Add(other.pgFlags_); - switch (other.EntryCase) { - case EntryOneofCase.PathList: - if (PathList == null) { - PathList = new global::ServiceLayer.SLPathGroup.Types.SLPathList(); - } - PathList.MergeFrom(other.PathList); - 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: { - if (pathGroupId_ == null) { - PathGroupId = new global::ServiceLayer.SLObjectId(); - } - input.ReadMessage(PathGroupId); - break; - } - case 16: { - AdminDistance = input.ReadUInt32(); - break; - } - case 26: { - global::ServiceLayer.SLPathGroup.Types.SLPathList subBuilder = new global::ServiceLayer.SLPathGroup.Types.SLPathList(); - if (entryCase_ == EntryOneofCase.PathList) { - subBuilder.MergeFrom(PathList); - } - input.ReadMessage(subBuilder); - PathList = subBuilder; - break; - } - case 34: - case 32: { - pgFlags_.AddEntriesFrom(input, _repeated_pgFlags_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 (pathGroupId_ == null) { - PathGroupId = new global::ServiceLayer.SLObjectId(); - } - input.ReadMessage(PathGroupId); - break; - } - case 16: { - AdminDistance = input.ReadUInt32(); - break; - } - case 26: { - global::ServiceLayer.SLPathGroup.Types.SLPathList subBuilder = new global::ServiceLayer.SLPathGroup.Types.SLPathList(); - if (entryCase_ == EntryOneofCase.PathList) { - subBuilder.MergeFrom(PathList); - } - input.ReadMessage(subBuilder); - PathList = subBuilder; - break; - } - case 34: - case 32: { - pgFlags_.AddEntriesFrom(ref input, _repeated_pgFlags_codec); - break; - } - } - } - } - #endif - - #region Nested types - /// Container for nested types declared in the SLPathGroup message type. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static partial class Types { - public sealed partial class SLPath : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPath()); - 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.SLPathGroup.Descriptor.NestedTypes[0]; } - } - - [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 SLPath() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLPath(SLPath other) : this() { - path_ = other.path_ != null ? other.path_.Clone() : null; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLPath Clone() { - return new SLPath(this); - } - - /// Field number for the "Path" field. - public const int PathFieldNumber = 1; - private global::ServiceLayer.SLRoutePath path_; - /// - /// Primary path - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLRoutePath Path { - get { return path_; } - set { - path_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SLPath); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLPath other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!object.Equals(Path, other.Path)) 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 (path_ != null) hash ^= Path.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 (path_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Path); - } - 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 (path_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Path); - } - 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 (path_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Path); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLPath other) { - if (other == null) { - return; - } - if (other.path_ != null) { - if (path_ == null) { - Path = new global::ServiceLayer.SLRoutePath(); - } - Path.MergeFrom(other.Path); - } - _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 (path_ == null) { - Path = new global::ServiceLayer.SLRoutePath(); - } - input.ReadMessage(Path); - 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 (path_ == null) { - Path = new global::ServiceLayer.SLRoutePath(); - } - input.ReadMessage(Path); - break; - } - } - } - } - #endif - - } - - /// - /// A list of SLPathList - /// - public sealed partial class SLPathList : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPathList()); - 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.SLPathGroup.Descriptor.NestedTypes[1]; } - } - - [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 SLPathList() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLPathList(SLPathList other) : this() { - paths_ = other.paths_.Clone(); - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLPathList Clone() { - return new SLPathList(this); - } - - /// Field number for the "Paths" field. - public const int PathsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_paths_codec - = pb::FieldCodec.ForMessage(10, global::ServiceLayer.SLPathGroup.Types.SLPath.Parser); - private readonly pbc::RepeatedField paths_ = new pbc::RepeatedField(); - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Paths { - get { return paths_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as SLPathList); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLPathList other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if(!paths_.Equals(other.paths_)) 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 ^= paths_.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 - paths_.WriteTo(output, _repeated_paths_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) { - paths_.WriteTo(ref output, _repeated_paths_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 += paths_.CalculateSize(_repeated_paths_codec); - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); + Table = (global::ServiceLayer.SLTableType) input.ReadEnum(); + break; } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLPathList other) { - if (other == null) { - return; + case 34: { + entries_.AddEntriesFrom(input, _repeated_entries_codec); + break; } - paths_.Add(other.paths_); - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } + } + #endif + } - [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: { - paths_.AddEntriesFrom(input, _repeated_paths_codec); - break; - } + #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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (errStatus_ == null) { + ErrStatus = new global::ServiceLayer.SLErrorStatus(); } + input.ReadMessage(ErrStatus); + 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: { - paths_.AddEntriesFrom(ref input, _repeated_paths_codec); - break; - } - } + case 16: { + ClientID = input.ReadUInt64(); + break; + } + case 24: { + Table = (global::ServiceLayer.SLTableType) input.ReadEnum(); + break; + } + case 34: { + entries_.AddEntriesFrom(ref input, _repeated_entries_codec); + break; } } - #endif - } - } - #endregion + #endif } /// /// Key for a MPLS label entry /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsEntryKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2495,7 +1757,7 @@ public sealed partial class SLMplsEntryKey : 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[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2639,7 +1901,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2658,7 +1924,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2677,6 +1947,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS entry. /// This message defines an entry in the MPLS forwarding table. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsEntry : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2691,7 +1962,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[8]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2767,7 +2038,7 @@ public uint AdminDistance { private readonly pbc::RepeatedField pathList_ = new pbc::RepeatedField(); /// /// List of paths for this MPLS label entry. - /// Specifying more than one path is allowed for ECMP/UCMP cases. + /// Specifying more than one path is allowed for ECMP/UCMP/FRR cases. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2995,7 +2266,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3034,7 +2309,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3072,6 +2351,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SL IPv4 or IPv6 Unicast Route Object /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFIPRoute : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3086,7 +2366,7 @@ public sealed partial class SLAFIPRoute : 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[9]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3155,7 +2435,7 @@ public SLAFIPRoute Clone() { 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. + /// Specifying more than one path is allowed for ECMP/UCMP/FRR cases. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -3290,7 +2570,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3323,7 +2607,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3355,6 +2643,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// One of AF objects /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFObject : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3369,7 +2658,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[10]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[9]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3622,7 +2911,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3664,7 +2957,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3705,6 +3002,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Operation on a forwarding table object /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFOpMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3719,7 +3017,7 @@ public sealed partial class SLAFOpMsg : 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[11]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3994,7 +3292,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4033,7 +3335,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4071,6 +3377,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of Client IDs for which entries will be returned /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFClientIDList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4085,7 +3392,7 @@ public sealed partial class SLAFClientIDList : 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[12]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[11]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4218,7 +3525,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4238,7 +3549,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4258,6 +3573,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// List of table types from whom objects for selected VRFs will be returned. /// Table type SL_TABLE_TYPE_RESERVED should not be used /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLTableTypeList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4272,7 +3588,7 @@ public sealed partial class SLTableTypeList : 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[13]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[12]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4402,7 +3718,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4422,7 +3742,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4441,6 +3765,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Key for a AF object /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFObjectKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4455,7 +3780,7 @@ public sealed partial class SLAFObjectKey : 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[13]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4708,7 +4033,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4750,7 +4079,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4794,6 +4127,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// or a numerical value for Vxlan VNI /// or a specific IPv4, IPv6, MPLS or PG route key. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFGetMatch : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4808,7 +4142,7 @@ public sealed partial class SLAFGetMatch : 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[14]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4872,12 +4206,26 @@ public SLAFGetMatch Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string PathGroupRegex { - get { return entryCase_ == EntryOneofCase.PathGroupRegex ? (string) entry_ : ""; } + get { return HasPathGroupRegex ? (string) entry_ : ""; } set { entry_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); entryCase_ = EntryOneofCase.PathGroupRegex; } } + /// Gets whether the "PathGroupRegex" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPathGroupRegex { + get { return entryCase_ == EntryOneofCase.PathGroupRegex; } + } + /// Clears the value of the oneof if it's currently set to "PathGroupRegex" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPathGroupRegex() { + if (HasPathGroupRegex) { + ClearEntry(); + } + } /// Field number for the "VxlanVniId" field. public const int VxlanVniIdFieldNumber = 3; @@ -4887,12 +4235,26 @@ public string PathGroupRegex { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint VxlanVniId { - get { return entryCase_ == EntryOneofCase.VxlanVniId ? (uint) entry_ : 0; } + get { return HasVxlanVniId ? (uint) entry_ : 0; } set { entry_ = value; entryCase_ = EntryOneofCase.VxlanVniId; } } + /// Gets whether the "VxlanVniId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasVxlanVniId { + get { return entryCase_ == EntryOneofCase.VxlanVniId; } + } + /// Clears the value of the oneof if it's currently set to "VxlanVniId" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearVxlanVniId() { + if (HasVxlanVniId) { + ClearEntry(); + } + } private object entry_; /// Enum of possible cases for the "entry" oneof. @@ -4943,8 +4305,8 @@ public bool Equals(SLAFGetMatch other) { public override int GetHashCode() { int hash = 1; if (entryCase_ == EntryOneofCase.Key) hash ^= Key.GetHashCode(); - if (entryCase_ == EntryOneofCase.PathGroupRegex) hash ^= PathGroupRegex.GetHashCode(); - if (entryCase_ == EntryOneofCase.VxlanVniId) hash ^= VxlanVniId.GetHashCode(); + if (HasPathGroupRegex) hash ^= PathGroupRegex.GetHashCode(); + if (HasVxlanVniId) hash ^= VxlanVniId.GetHashCode(); hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -4968,11 +4330,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Key); } - if (entryCase_ == EntryOneofCase.PathGroupRegex) { + if (HasPathGroupRegex) { output.WriteRawTag(18); output.WriteString(PathGroupRegex); } - if (entryCase_ == EntryOneofCase.VxlanVniId) { + if (HasVxlanVniId) { output.WriteRawTag(24); output.WriteUInt32(VxlanVniId); } @@ -4990,11 +4352,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Key); } - if (entryCase_ == EntryOneofCase.PathGroupRegex) { + if (HasPathGroupRegex) { output.WriteRawTag(18); output.WriteString(PathGroupRegex); } - if (entryCase_ == EntryOneofCase.VxlanVniId) { + if (HasVxlanVniId) { output.WriteRawTag(24); output.WriteUInt32(VxlanVniId); } @@ -5011,10 +4373,10 @@ public int CalculateSize() { if (entryCase_ == EntryOneofCase.Key) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Key); } - if (entryCase_ == EntryOneofCase.PathGroupRegex) { + if (HasPathGroupRegex) { size += 1 + pb::CodedOutputStream.ComputeStringSize(PathGroupRegex); } - if (entryCase_ == EntryOneofCase.VxlanVniId) { + if (HasVxlanVniId) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(VxlanVniId); } if (_unknownFields != null) { @@ -5055,7 +4417,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5087,7 +4453,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5119,6 +4489,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// List of match criteria to return objects that match either of the criteria /// specified. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFGetMatchList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5133,7 +4504,7 @@ public sealed partial class SLAFGetMatchList : 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[15]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5266,7 +4637,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5285,7 +4660,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5304,6 +4683,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Used to retrieve objects in a VRF table. This RPC /// can only be used to get objects programmed by this service. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5318,7 +4698,7 @@ public sealed partial class SLAFGetMsg : 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[16]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5409,12 +4789,26 @@ public string VrfName { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool AllClients { - get { return clientCase_ == ClientOneofCase.AllClients ? (bool) client_ : false; } + get { return HasAllClients ? (bool) client_ : false; } set { client_ = value; clientCase_ = ClientOneofCase.AllClients; } } + /// Gets whether the "AllClients" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAllClients { + get { return clientCase_ == ClientOneofCase.AllClients; } + } + /// Clears the value of the oneof if it's currently set to "AllClients" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAllClients() { + if (HasAllClients) { + ClearClient(); + } + } /// Field number for the "TableList" field. public const int TableListFieldNumber = 4; @@ -5519,7 +4913,7 @@ public override int GetHashCode() { int hash = 1; if (VrfName.Length != 0) hash ^= VrfName.GetHashCode(); if (clientCase_ == ClientOneofCase.ClientIDList) hash ^= ClientIDList.GetHashCode(); - if (clientCase_ == ClientOneofCase.AllClients) hash ^= AllClients.GetHashCode(); + if (HasAllClients) hash ^= AllClients.GetHashCode(); if (matchCase_ == MatchOneofCase.TableList) hash ^= TableList.GetHashCode(); if (matchCase_ == MatchOneofCase.RouteMatchList) hash ^= RouteMatchList.GetHashCode(); hash ^= (int) clientCase_; @@ -5550,7 +4944,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(ClientIDList); } - if (clientCase_ == ClientOneofCase.AllClients) { + if (HasAllClients) { output.WriteRawTag(24); output.WriteBool(AllClients); } @@ -5580,7 +4974,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(ClientIDList); } - if (clientCase_ == ClientOneofCase.AllClients) { + if (HasAllClients) { output.WriteRawTag(24); output.WriteBool(AllClients); } @@ -5608,7 +5002,7 @@ public int CalculateSize() { if (clientCase_ == ClientOneofCase.ClientIDList) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClientIDList); } - if (clientCase_ == ClientOneofCase.AllClients) { + if (HasAllClients) { size += 1 + 1; } if (matchCase_ == MatchOneofCase.TableList) { @@ -5670,7 +5064,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5720,7 +5118,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5769,6 +5171,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Object and its programming status returned on Get /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFGetMsgRspEntry : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5783,7 +5186,7 @@ public sealed partial class SLAFGetMsgRspEntry : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6030,7 +5442,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[19]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[18]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6101,6 +5513,9 @@ public string VrfName { /// the Client ID field can be used by the client to determine /// if the object was previously programmed by this client or some /// other client. + /// Note: If the client id is 0, it is considered to be default value + /// as per gRPC proto3 encoding and will not appear in the serialized + /// response message /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -6267,7 +5682,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6301,7 +5720,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6342,6 +5765,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// and sent to client. /// For stream, RPC will then wait for next message on stream. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6356,7 +5780,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[20]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[19]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6553,7 +5977,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6580,7 +6008,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6606,6 +6038,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Result of an operation on the object /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6620,7 +6053,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[21]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[20]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6908,7 +6341,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6949,7 +6386,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6989,6 +6430,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Route operations result status /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7003,7 +6445,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[22]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[21]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7169,7 +6611,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7192,7 +6638,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7214,6 +6664,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Request message for route redistribution registration /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFRedistRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7228,7 +6679,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[23]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[22]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7443,7 +6894,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7470,7 +6925,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7496,6 +6955,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Next hop registration request key /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNextHopRegKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7510,7 +6970,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[24]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[23]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7687,7 +7147,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7711,7 +7175,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7734,6 +7202,7 @@ public void MergeFrom(pb::CodedInputStream input) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLNextHopKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7995,7 +7464,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8029,7 +7502,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8067,6 +7544,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Next hop registration message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNextHopRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8081,7 +7559,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[25]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[24]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8228,7 +7706,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8250,7 +7732,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8271,6 +7757,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Notification request message for a single item /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNotifRegReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8285,7 +7772,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[26]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[25]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8539,7 +8026,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8576,7 +8067,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8624,6 +8119,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// to client with only VRF populated. /// RPC will then wait for next message on stream. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNotifReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8638,7 +8134,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[27]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[26]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8840,7 +8336,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8867,7 +8367,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8893,6 +8397,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Notification response message for a single item /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNotifRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8907,7 +8412,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[28]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[27]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -9091,7 +8596,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9120,7 +8629,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9151,6 +8664,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// 1. ResolvingPrefix, SrcProto are not set, and /// 2. AdminDistance and Metric are set to UINT32_MAX. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLNextHop : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9165,7 +8679,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[29]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[28]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -9507,7 +9021,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9556,7 +9074,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9604,6 +9126,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// AF Notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9618,7 +9141,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[30]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[29]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -9974,7 +9497,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10034,7 +9561,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10096,6 +9627,7 @@ public static partial class Types { /// /// Route redistribution marker /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRedistMarker : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -10254,7 +9786,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10273,7 +9809,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10296,6 +9836,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// RPC Notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAFNotifMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -10310,7 +9851,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[31]; } + get { return global::ServiceLayer.SlAfReflection.Descriptor.MessageTypes[30]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -10475,7 +10016,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10498,7 +10043,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlAfGrpc.cs b/grpc/dotnet/src/gencs/SlAfGrpc.cs index 0741fd54..f78ad497 100644 --- a/grpc/dotnet/src/gencs/SlAfGrpc.cs +++ b/grpc/dotnet/src/gencs/SlAfGrpc.cs @@ -243,7 +243,10 @@ public abstract partial class SLAFBase /// /// - /// Stream object operations + /// Stream object operations. + /// + /// The client MUST keep it's receive and send side of the stream up as long as there is + /// interest in the responses. /// /// SLAFMsg.Oper = SL_OBJOP_ADD: /// Object add. Fails if the objects already exists and is not stale. @@ -289,7 +292,7 @@ public abstract partial class SLAFBase /// notifications are scoped to the RPC. On a RPC disconnection, /// the client should re-establish the RPC and re-program /// the notification requests. - /// The caller MUST keep the RPC up as long as there is + /// The client MUST keep it's receive and send side of the stream up as long as there is /// interest in the notifications. /// /// For route redistribution, this call is used to get a stream @@ -691,7 +694,10 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration } /// /// - /// Stream object operations + /// Stream object operations. + /// + /// The client MUST keep it's receive and send side of the stream up as long as there is + /// interest in the responses. /// /// SLAFMsg.Oper = SL_OBJOP_ADD: /// Object add. Fails if the objects already exists and is not stale. @@ -716,7 +722,10 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration } /// /// - /// Stream object operations + /// Stream object operations. + /// + /// The client MUST keep it's receive and send side of the stream up as long as there is + /// interest in the responses. /// /// SLAFMsg.Oper = SL_OBJOP_ADD: /// Object add. Fails if the objects already exists and is not stale. @@ -772,7 +781,7 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration /// notifications are scoped to the RPC. On a RPC disconnection, /// the client should re-establish the RPC and re-program /// the notification requests. - /// The caller MUST keep the RPC up as long as there is + /// The client MUST keep it's receive and send side of the stream up as long as there is /// interest in the notifications. /// /// For route redistribution, this call is used to get a stream @@ -805,7 +814,7 @@ protected SLAFClient(ClientBaseConfiguration configuration) : base(configuration /// notifications are scoped to the RPC. On a RPC disconnection, /// the client should re-establish the RPC and re-program /// the notification requests. - /// The caller MUST keep the RPC up as long as there is + /// The client MUST keep it's receive and send side of the stream up as long as there is /// interest in the notifications. /// /// For route redistribution, this call is used to get a stream diff --git a/grpc/dotnet/src/gencs/SlBfdCommon.cs b/grpc/dotnet/src/gencs/SlBfdCommon.cs index bc9e4502..12938fc4 100644 --- a/grpc/dotnet/src/gencs/SlBfdCommon.cs +++ b/grpc/dotnet/src/gencs/SlBfdCommon.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_bfd_common.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -115,6 +115,7 @@ public enum SLBfdNotifType { /// /// BFD Registration message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -273,7 +274,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -292,7 +297,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -310,6 +319,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Registration response message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdRegMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -471,7 +481,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -493,7 +507,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -514,6 +532,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Globals Get message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -640,7 +659,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -655,7 +678,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -669,6 +696,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Global info response message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -990,7 +1018,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1032,7 +1064,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1073,6 +1109,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Global Stats response message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdGetStatsMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1300,7 +1337,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1330,7 +1371,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1359,6 +1404,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Notifications message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdGetNotifMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1485,7 +1531,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1500,7 +1550,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1514,6 +1568,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common bidirectional forwarding detection attributes. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdConfigCommon : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1712,7 +1767,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1735,7 +1794,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1757,6 +1820,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD state information. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdCommonState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1974,7 +2038,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2001,7 +2069,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlBfdIpv4.cs b/grpc/dotnet/src/gencs/SlBfdIpv4.cs index 80f23282..17530647 100644 --- a/grpc/dotnet/src/gencs/SlBfdIpv4.cs +++ b/grpc/dotnet/src/gencs/SlBfdIpv4.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_bfd_ipv4.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -90,6 +90,7 @@ static SlBfdIpv4Reflection() { /// /// BFD unique key identifier. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4Key : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -379,7 +380,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -417,7 +422,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -454,6 +463,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD session information. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4SessionCfg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -650,7 +660,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -679,7 +693,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -707,6 +725,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Contains a List of BFD session objects. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4Msg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -886,7 +905,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -909,7 +932,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -931,6 +958,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4Res : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1127,7 +1155,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1156,7 +1188,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1184,6 +1220,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD bulk result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4MsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1375,7 +1412,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1401,7 +1442,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1426,6 +1471,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4GetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1689,7 +1735,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1723,7 +1773,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1756,6 +1810,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Session Config and State info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4SessionCfgState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1987,7 +2042,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2023,7 +2082,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2058,6 +2121,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4GetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2275,7 +2339,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2305,7 +2373,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2334,6 +2406,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Session and State info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4SessionState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2530,7 +2603,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2559,7 +2636,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2587,6 +2668,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Session and State info Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv4Notif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2851,7 +2933,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2888,7 +2974,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlBfdIpv6.cs b/grpc/dotnet/src/gencs/SlBfdIpv6.cs index 8f50a32d..6ef5a45b 100644 --- a/grpc/dotnet/src/gencs/SlBfdIpv6.cs +++ b/grpc/dotnet/src/gencs/SlBfdIpv6.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_bfd_ipv6.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -90,6 +90,7 @@ static SlBfdIpv6Reflection() { /// /// BFD unique key identifier. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6Key : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -379,7 +380,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -417,7 +422,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -454,6 +463,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD session information. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6SessionCfg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -650,7 +660,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -679,7 +693,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -707,6 +725,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Contains a List of BFD session objects. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6Msg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -886,7 +905,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -909,7 +932,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -931,6 +958,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6Res : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1127,7 +1155,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1156,7 +1188,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1184,6 +1220,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD bulk result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6MsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1375,7 +1412,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1401,7 +1442,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1426,6 +1471,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6GetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1689,7 +1735,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1723,7 +1773,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1756,6 +1810,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Session Config and State info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6SessionCfgState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1987,7 +2042,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2023,7 +2082,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2058,6 +2121,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6GetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2275,7 +2339,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2305,7 +2373,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2334,6 +2406,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Session and State info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6SessionState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2530,7 +2603,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2559,7 +2636,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2587,6 +2668,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BFD Session and State info Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBfdv6Notif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2851,7 +2933,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2888,7 +2974,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlBgp.cs b/grpc/dotnet/src/gencs/SlBgp.cs index f96c49cb..e32f3cf3 100644 --- a/grpc/dotnet/src/gencs/SlBgp.cs +++ b/grpc/dotnet/src/gencs/SlBgp.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_bgp.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -228,6 +228,7 @@ public enum SLBgpApiStateType { ///Message structures /// This is filled in response. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiStatus : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -456,7 +457,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -486,7 +491,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -515,6 +524,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP AFI SAFI message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpAfiSafi : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -705,7 +715,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -728,7 +742,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -750,6 +768,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// FRR IP address parameter along with status /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpFrrInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -976,7 +995,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1007,7 +1030,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1037,6 +1064,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP bandwidth-id message for neighbor AfiSafi /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpBwId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1329,7 +1357,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1367,7 +1399,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1404,6 +1440,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP neighbor AfiSafi tunable parameters /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpNeighborSafiParam : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1607,7 +1644,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1637,7 +1678,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1666,6 +1711,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP neighbor AfiSafi message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpNeighborSafiMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1935,7 +1981,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1973,7 +2023,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2010,6 +2064,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of BGP neighbor AfiSafis under the neighbor /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpNeighborSafiList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2157,7 +2212,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2176,7 +2235,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2194,6 +2257,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP neighbor key /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpNeighborKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2387,7 +2451,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2413,7 +2481,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2438,6 +2510,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP neighbor message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpNeighborMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2706,7 +2779,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2744,7 +2821,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2781,6 +2862,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP object message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiObject : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3004,7 +3086,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3032,7 +3118,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3059,6 +3149,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Response to BGP Object operation request /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiObjectResp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3284,7 +3375,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3314,7 +3409,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3343,6 +3442,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Request to perform UPDATE and DELETE operation on BGP object parameters /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiObjectReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3604,7 +3704,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3635,7 +3739,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3665,6 +3773,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Get BGP Object response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiGetResp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3916,7 +4025,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3950,7 +4063,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3995,6 +4112,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// last responded object type and entry of the previous request. No ObjectType and key is required /// in first GetNext for full DB retrieval. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiGetReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4311,7 +4429,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4351,7 +4473,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4390,6 +4516,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Response message to SLBgpApiCap request /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiCapResp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4516,7 +4643,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4531,7 +4662,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4545,6 +4680,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Message to request SLBgpApi capability /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiCapReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4602,12 +4738,26 @@ public SLBgpApiCapReq Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string BgpInstanceName { - get { return entryCase_ == EntryOneofCase.BgpInstanceName ? (string) entry_ : ""; } + get { return HasBgpInstanceName ? (string) entry_ : ""; } set { entry_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); entryCase_ = EntryOneofCase.BgpInstanceName; } } + /// Gets whether the "BgpInstanceName" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBgpInstanceName { + get { return entryCase_ == EntryOneofCase.BgpInstanceName; } + } + /// Clears the value of the oneof if it's currently set to "BgpInstanceName" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBgpInstanceName() { + if (HasBgpInstanceName) { + ClearEntry(); + } + } private object entry_; /// Enum of possible cases for the "entry" oneof. @@ -4653,7 +4803,7 @@ public bool Equals(SLBgpApiCapReq other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (entryCase_ == EntryOneofCase.BgpInstanceName) hash ^= BgpInstanceName.GetHashCode(); + if (HasBgpInstanceName) hash ^= BgpInstanceName.GetHashCode(); hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -4673,7 +4823,7 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (entryCase_ == EntryOneofCase.BgpInstanceName) { + if (HasBgpInstanceName) { output.WriteRawTag(10); output.WriteString(BgpInstanceName); } @@ -4687,7 +4837,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 (entryCase_ == EntryOneofCase.BgpInstanceName) { + if (HasBgpInstanceName) { output.WriteRawTag(10); output.WriteString(BgpInstanceName); } @@ -4701,7 +4851,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (entryCase_ == EntryOneofCase.BgpInstanceName) { + if (HasBgpInstanceName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(BgpInstanceName); } if (_unknownFields != null) { @@ -4733,7 +4883,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4752,7 +4906,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4770,6 +4928,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SL BGP API operations response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5105,7 +5264,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5158,7 +5321,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5210,6 +5377,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Message requested by client /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpApiMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5510,7 +5678,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5556,7 +5728,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlBgplsTopology.cs b/grpc/dotnet/src/gencs/SlBgplsTopology.cs index ef8a7639..5b55a7ab 100644 --- a/grpc/dotnet/src/gencs/SlBgplsTopology.cs +++ b/grpc/dotnet/src/gencs/SlBgplsTopology.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_bgpls_topology.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -1109,6 +1109,7 @@ public enum SLBgplsTopoSrv6BgpPeerNodeSidFlags { /// /// BGP-LS Topology Notification Request message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNotifReqMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1265,7 +1266,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1284,7 +1289,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1304,6 +1313,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SLBgplsTopoNlriMatch is equivalent to AND operation of all the Match /// conditions. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNlriMatch : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1535,7 +1545,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1565,7 +1579,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1594,6 +1612,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP-LS Topology Notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNotifMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1901,7 +1920,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1952,7 +1975,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2004,6 +2031,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// This is an indication to stale any objects received until now. /// Intentionally added as empty message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoStartMarker : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2130,7 +2158,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2145,7 +2177,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2161,6 +2197,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// This is an indication to sweep any stale objects, if present. /// Intentionally added as empty message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoEndMarker : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2287,7 +2324,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2302,7 +2343,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2316,6 +2361,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP-LS Topology Updates /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2463,7 +2509,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2482,7 +2532,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2500,6 +2554,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP-LS Topology Entry /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoEntry : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2687,7 +2742,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2713,7 +2772,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2738,6 +2801,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP-LS Topology Data /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3152,7 +3216,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3223,7 +3291,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3290,6 +3362,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoInstanceId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3450,7 +3523,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3469,7 +3546,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3487,6 +3568,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Node Data /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNodeData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3683,7 +3765,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3712,7 +3798,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3740,6 +3830,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Link Data /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3936,7 +4027,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3965,7 +4060,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3993,6 +4092,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Prefix Data /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4189,7 +4289,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4218,7 +4322,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4246,6 +4354,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SRv6 SID Data /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6SidData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4442,7 +4551,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4471,7 +4584,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4499,6 +4616,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR Policy Data /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrPolicyData : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4695,7 +4813,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4724,7 +4846,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4752,6 +4878,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Node /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNode : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5129,7 +5256,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5193,7 +5324,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5256,6 +5391,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Link /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLink : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5493,7 +5629,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5529,7 +5669,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5564,6 +5708,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Prefix /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefix : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5764,7 +5909,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5793,7 +5942,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5821,6 +5974,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SRv6 SID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6Sid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6016,7 +6170,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6045,7 +6203,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6073,6 +6235,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR Policy /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrPolicy : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6273,7 +6436,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6302,7 +6469,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6330,6 +6501,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Link descriptor /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkDescr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6697,7 +6869,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6743,7 +6919,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6788,6 +6968,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Prefix descriptor /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixDescr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7053,7 +7234,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7087,7 +7272,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7120,6 +7309,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SRv6 SID descriptor /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6SidDescr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7318,7 +7508,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7344,7 +7538,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7369,6 +7567,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR Policy descriptor /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrPolicyDescr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7477,12 +7676,26 @@ public SLBgplsTopoSrPolicyDescr Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4EndAddr { - get { return endpointAddressCase_ == EndpointAddressOneofCase.Ipv4EndAddr ? (pb::ByteString) endpointAddress_ : pb::ByteString.Empty; } + get { return HasIpv4EndAddr ? (pb::ByteString) endpointAddress_ : pb::ByteString.Empty; } set { endpointAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); endpointAddressCase_ = EndpointAddressOneofCase.Ipv4EndAddr; } } + /// Gets whether the "Ipv4EndAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4EndAddr { + get { return endpointAddressCase_ == EndpointAddressOneofCase.Ipv4EndAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4EndAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4EndAddr() { + if (HasIpv4EndAddr) { + ClearEndpointAddress(); + } + } /// Field number for the "Ipv6EndAddr" field. public const int Ipv6EndAddrFieldNumber = 4; @@ -7492,12 +7705,26 @@ public SLBgplsTopoSrPolicyDescr Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv6EndAddr { - get { return endpointAddressCase_ == EndpointAddressOneofCase.Ipv6EndAddr ? (pb::ByteString) endpointAddress_ : pb::ByteString.Empty; } + get { return HasIpv6EndAddr ? (pb::ByteString) endpointAddress_ : pb::ByteString.Empty; } set { endpointAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); endpointAddressCase_ = EndpointAddressOneofCase.Ipv6EndAddr; } } + /// Gets whether the "Ipv6EndAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv6EndAddr { + get { return endpointAddressCase_ == EndpointAddressOneofCase.Ipv6EndAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv6EndAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv6EndAddr() { + if (HasIpv6EndAddr) { + ClearEndpointAddress(); + } + } /// Field number for the "Color" field. public const int ColorFieldNumber = 5; @@ -7541,12 +7768,26 @@ public uint OriginAsn { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4OrigAddr { - get { return originatorAddressCase_ == OriginatorAddressOneofCase.Ipv4OrigAddr ? (pb::ByteString) originatorAddress_ : pb::ByteString.Empty; } + get { return HasIpv4OrigAddr ? (pb::ByteString) originatorAddress_ : pb::ByteString.Empty; } set { originatorAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); originatorAddressCase_ = OriginatorAddressOneofCase.Ipv4OrigAddr; } } + /// Gets whether the "Ipv4OrigAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4OrigAddr { + get { return originatorAddressCase_ == OriginatorAddressOneofCase.Ipv4OrigAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4OrigAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4OrigAddr() { + if (HasIpv4OrigAddr) { + ClearOriginatorAddress(); + } + } /// Field number for the "Ipv6OrigAddr" field. public const int Ipv6OrigAddrFieldNumber = 8; @@ -7556,12 +7797,26 @@ public uint OriginAsn { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv6OrigAddr { - get { return originatorAddressCase_ == OriginatorAddressOneofCase.Ipv6OrigAddr ? (pb::ByteString) originatorAddress_ : pb::ByteString.Empty; } + get { return HasIpv6OrigAddr ? (pb::ByteString) originatorAddress_ : pb::ByteString.Empty; } set { originatorAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); originatorAddressCase_ = OriginatorAddressOneofCase.Ipv6OrigAddr; } } + /// Gets whether the "Ipv6OrigAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv6OrigAddr { + get { return originatorAddressCase_ == OriginatorAddressOneofCase.Ipv6OrigAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv6OrigAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv6OrigAddr() { + if (HasIpv6OrigAddr) { + ClearOriginatorAddress(); + } + } /// Field number for the "Discriminator" field. public const int DiscriminatorFieldNumber = 9; @@ -7657,12 +7912,12 @@ public override int GetHashCode() { int hash = 1; if (ProtoOrigin != global::ServiceLayer.SLSrPolicyProtocolOrigin.Reserved) hash ^= ProtoOrigin.GetHashCode(); if (flags_ != null) hash ^= Flags.GetHashCode(); - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv4EndAddr) hash ^= Ipv4EndAddr.GetHashCode(); - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv6EndAddr) hash ^= Ipv6EndAddr.GetHashCode(); + if (HasIpv4EndAddr) hash ^= Ipv4EndAddr.GetHashCode(); + if (HasIpv6EndAddr) hash ^= Ipv6EndAddr.GetHashCode(); if (Color != 0) hash ^= Color.GetHashCode(); if (OriginAsn != 0) hash ^= OriginAsn.GetHashCode(); - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv4OrigAddr) hash ^= Ipv4OrigAddr.GetHashCode(); - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv6OrigAddr) hash ^= Ipv6OrigAddr.GetHashCode(); + if (HasIpv4OrigAddr) hash ^= Ipv4OrigAddr.GetHashCode(); + if (HasIpv6OrigAddr) hash ^= Ipv6OrigAddr.GetHashCode(); if (Discriminator != 0) hash ^= Discriminator.GetHashCode(); hash ^= (int) endpointAddressCase_; hash ^= (int) originatorAddressCase_; @@ -7692,11 +7947,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(Flags); } - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv4EndAddr) { + if (HasIpv4EndAddr) { output.WriteRawTag(26); output.WriteBytes(Ipv4EndAddr); } - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv6EndAddr) { + if (HasIpv6EndAddr) { output.WriteRawTag(34); output.WriteBytes(Ipv6EndAddr); } @@ -7708,11 +7963,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(48); output.WriteUInt32(OriginAsn); } - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv4OrigAddr) { + if (HasIpv4OrigAddr) { output.WriteRawTag(58); output.WriteBytes(Ipv4OrigAddr); } - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv6OrigAddr) { + if (HasIpv6OrigAddr) { output.WriteRawTag(66); output.WriteBytes(Ipv6OrigAddr); } @@ -7738,11 +7993,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(Flags); } - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv4EndAddr) { + if (HasIpv4EndAddr) { output.WriteRawTag(26); output.WriteBytes(Ipv4EndAddr); } - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv6EndAddr) { + if (HasIpv6EndAddr) { output.WriteRawTag(34); output.WriteBytes(Ipv6EndAddr); } @@ -7754,11 +8009,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(48); output.WriteUInt32(OriginAsn); } - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv4OrigAddr) { + if (HasIpv4OrigAddr) { output.WriteRawTag(58); output.WriteBytes(Ipv4OrigAddr); } - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv6OrigAddr) { + if (HasIpv6OrigAddr) { output.WriteRawTag(66); output.WriteBytes(Ipv6OrigAddr); } @@ -7782,10 +8037,10 @@ public int CalculateSize() { if (flags_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Flags); } - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv4EndAddr) { + if (HasIpv4EndAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4EndAddr); } - if (endpointAddressCase_ == EndpointAddressOneofCase.Ipv6EndAddr) { + if (HasIpv6EndAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv6EndAddr); } if (Color != 0) { @@ -7794,10 +8049,10 @@ public int CalculateSize() { if (OriginAsn != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OriginAsn); } - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv4OrigAddr) { + if (HasIpv4OrigAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4OrigAddr); } - if (originatorAddressCase_ == OriginatorAddressOneofCase.Ipv6OrigAddr) { + if (HasIpv6OrigAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv6OrigAddr); } if (Discriminator != 0) { @@ -7862,7 +8117,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7916,7 +8175,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -7969,6 +8232,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// OSPF Node ID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoOspfNodeId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8230,7 +8494,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8261,7 +8529,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8291,6 +8563,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// OSPFv3 Node ID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoOspfv3NodeId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8552,7 +8825,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8583,7 +8860,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8613,6 +8894,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// ISIS Node ID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoIsisNodeId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -8807,7 +9089,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8830,7 +9116,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8852,6 +9142,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BGP Node ID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoBgpNodeId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9046,7 +9337,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9069,7 +9364,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9091,6 +9390,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR Policy Node ID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrPolicyNodeId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9353,7 +9653,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -9384,7 +9688,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -9414,6 +9722,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Node Attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNodeAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -9968,7 +10277,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -10061,7 +10374,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -10153,6 +10470,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Link Attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -11330,7 +11648,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -11535,7 +11857,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -11739,6 +12065,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Prefix Attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -12278,7 +12605,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -12369,7 +12700,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -12459,6 +12794,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SRv6 SID Attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6SidAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -12707,7 +13043,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -12744,7 +13084,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -12780,6 +13124,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR Policy Attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrPolicyAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13166,7 +13511,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13228,7 +13577,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13290,6 +13643,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Link Local Remote Identifiers. TLV 258. /// Section 5.2.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBplsTopoLinkLocRemId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13480,7 +13834,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13503,7 +13861,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13526,6 +13888,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Multi-Topology Identifier. TLV 263. /// Section 5.2.2.1 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoMtId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13684,7 +14047,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13703,7 +14070,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13722,6 +14093,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Node MSD. TLV 266. /// Section 3 of [RFC8814] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNodeMsd : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -13913,7 +14285,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -13936,7 +14312,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -13959,6 +14339,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Link MSD. TLV 267. /// Section 4 of [RFC8814] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkMsd : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14150,7 +14531,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14173,7 +14558,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14196,6 +14585,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Node Flag Bits. TLV 1024. /// Section 5.3.1.1 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNodeFlagBits : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14364,7 +14754,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14383,7 +14777,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14402,6 +14800,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Opaque Node Attribute. TLV 1025. /// Section 5.3.1.5 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoNodeOpaqueAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14560,7 +14959,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14579,7 +14982,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14598,6 +15005,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Node Name. TLV 1026. /// Section 5.3.1.3 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsNodeName : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14758,7 +15166,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14777,7 +15189,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14796,6 +15212,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// IS-IS Area Identifier. TLV 1027. /// Section 5.3.1.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoIsisAreaId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -14954,7 +15371,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -14973,7 +15394,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -14992,6 +15417,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Local IPv4/IPv6 Router-ID. TLV 1028. /// Section 5.3.1.4 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLocalIpv4RouterId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15150,7 +15576,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15169,7 +15599,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15188,6 +15622,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Local IPv4/IPv6 Router-ID. TLV 1029. /// Section 5.3.1.4 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLocalIpv6RouterId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15346,7 +15781,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15365,7 +15804,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15384,6 +15827,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Remote IPv4/IPv6 Router-ID. TLV 1030. /// Section 5.3.2.1 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoRemoteIpv4RouterId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15542,7 +15986,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15561,7 +16009,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15580,6 +16032,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Remote IPv4/IPv6 Router-ID. TLV 1031. /// Section 5.3.2.1 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoRemoteIpv6RouterId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15738,7 +16191,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15757,7 +16214,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -15775,6 +16236,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Segment Routing Global Block (SRGB) /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrgb : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -15965,7 +16427,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -15988,7 +16454,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16010,6 +16480,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Segment Routing Global Block (SRGB) ISIS flags /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrgbIsisFlags : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16168,7 +16639,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16187,7 +16662,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16206,6 +16685,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR-Algorithm. TLV 1035. /// Section 2.1.3 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrAlgorithm : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16364,7 +16844,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16383,7 +16867,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16402,6 +16890,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Local Block. TLV 1036. /// Section 2.1.4 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrlb : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16592,7 +17081,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16615,7 +17108,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16638,6 +17135,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 Capabilities. TLV 1038 /// Section 3.1 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6CapFlags : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -16799,7 +17297,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -16818,7 +17320,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -16837,6 +17343,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Flexible Algorithm Definition. TLV 1039. /// Section 3 of [RFC9351] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoFad : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -17416,7 +17923,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -17504,7 +18015,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -17592,6 +18107,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Flexible Algorithm Prefix metric. TLV 1044 /// Section 4 of [RFC9351] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixFAPM : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -17815,7 +18331,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -17842,7 +18362,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -17868,6 +18392,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Unsupported Flexible Algorithm Definition (FAD) TLVs. TLV 1046 /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoFadUnsuppTlv : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18058,7 +18583,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18081,7 +18610,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18103,6 +18636,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Flexible Algorithm Exclude Maximum Delay. TLV 1050 /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoFadExcMaxDelay : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18262,7 +18796,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18281,7 +18819,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18300,6 +18842,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Maximum Link Bandwidth. TLV 1089 /// Section 5.3.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkMaxBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18458,7 +19001,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18477,7 +19024,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18496,6 +19047,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Maximum Reservable Link Bandwidth. TLV 1090 /// Section 5.3.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkMaxResvBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18654,7 +19206,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18673,7 +19229,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18692,6 +19252,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unreserved Link Bandwidth. TLV 1091 /// Section 5.3.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkUnresvBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -18882,7 +19443,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -18905,7 +19470,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -18928,6 +19497,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// TE Default Metric. TLV 1092 /// Section 5.3.2.3 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkTeDefaultMetric : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19086,7 +19656,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19105,7 +19679,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19124,6 +19702,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Link Protection Type. TLV 1093 /// Section 5.3.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkProtectionType : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19282,7 +19861,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19301,7 +19884,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19320,6 +19907,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Proto Mask. TLV 1094 /// Section 5.3.2.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkMplsProtoMask : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19480,7 +20068,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19499,7 +20091,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19518,6 +20114,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// IGP Metric. TLV 1095 /// Section 5.3.2.4 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkIgpMetric : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19678,7 +20275,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19697,7 +20298,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19716,6 +20321,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Shared Risk Link Group. TLV 1096 /// Section 5.3.2.5 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkSrlg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -19860,7 +20466,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -19880,7 +20490,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -19900,6 +20514,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Opaque Link Attribute. TLV 1097 /// Section 5.3.2.6 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkOpaqueAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20058,7 +20673,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20077,7 +20696,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20096,6 +20719,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Link Name. TLV 1098. /// Section 5.3.2.7 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLinkName : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20256,7 +20880,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20275,7 +20903,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20294,6 +20926,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Adjacency SID. TLV 1099 /// Section 2.2.1 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoAdjSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20551,7 +21184,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20582,7 +21219,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20613,6 +21254,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// LAN Adjacency SID. TLV 1100 /// Section 2.2.1 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoLanAdjSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -20905,7 +21547,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -20943,7 +21589,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -20981,6 +21631,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// BGP Peer Node SID. TLV 1101 /// Section 5 of [RFC9086] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoBgpPeerNodeSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -21236,7 +21887,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -21267,7 +21922,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -21298,6 +21957,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// BGP Peer Adjacency SID. TLV 1102 /// Section 5 of [RFC9086] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoBgpPeerAdjSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -21553,7 +22213,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -21584,7 +22248,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -21615,6 +22283,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// BGP Peer Set SID. TLV 1103 /// Section 5 of [RFC9086] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoBgpPeerSetSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -21870,7 +22539,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -21901,7 +22574,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -21932,6 +22609,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 End X SID. TLV 1106 /// Section 4.1 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6EndXSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -22260,7 +22938,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -22302,7 +22984,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -22343,6 +23029,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Neighbor ID used in Adjacency SID and SRv6 EndX SID /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgpLsTopoNeighborId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -22403,12 +23090,26 @@ public SLBgpLsTopoNeighborId Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4Addr { - get { return neighborIdCase_ == NeighborIdOneofCase.Ipv4Addr ? (pb::ByteString) neighborId_ : pb::ByteString.Empty; } + get { return HasIpv4Addr ? (pb::ByteString) neighborId_ : pb::ByteString.Empty; } set { neighborId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); neighborIdCase_ = NeighborIdOneofCase.Ipv4Addr; } } + /// Gets whether the "Ipv4Addr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4Addr { + get { return neighborIdCase_ == NeighborIdOneofCase.Ipv4Addr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4Addr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4Addr() { + if (HasIpv4Addr) { + ClearNeighborId(); + } + } /// Field number for the "SystemId" field. public const int SystemIdFieldNumber = 2; @@ -22418,12 +23119,26 @@ public SLBgpLsTopoNeighborId Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString SystemId { - get { return neighborIdCase_ == NeighborIdOneofCase.SystemId ? (pb::ByteString) neighborId_ : pb::ByteString.Empty; } + get { return HasSystemId ? (pb::ByteString) neighborId_ : pb::ByteString.Empty; } set { neighborId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); neighborIdCase_ = NeighborIdOneofCase.SystemId; } } + /// Gets whether the "SystemId" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSystemId { + get { return neighborIdCase_ == NeighborIdOneofCase.SystemId; } + } + /// Clears the value of the oneof if it's currently set to "SystemId" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSystemId() { + if (HasSystemId) { + ClearNeighborId(); + } + } private object neighborId_; /// Enum of possible cases for the "NeighborId" oneof. @@ -22471,8 +23186,8 @@ public bool Equals(SLBgpLsTopoNeighborId other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (neighborIdCase_ == NeighborIdOneofCase.Ipv4Addr) hash ^= Ipv4Addr.GetHashCode(); - if (neighborIdCase_ == NeighborIdOneofCase.SystemId) hash ^= SystemId.GetHashCode(); + if (HasIpv4Addr) hash ^= Ipv4Addr.GetHashCode(); + if (HasSystemId) hash ^= SystemId.GetHashCode(); hash ^= (int) neighborIdCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -22492,11 +23207,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (neighborIdCase_ == NeighborIdOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { output.WriteRawTag(10); output.WriteBytes(Ipv4Addr); } - if (neighborIdCase_ == NeighborIdOneofCase.SystemId) { + if (HasSystemId) { output.WriteRawTag(18); output.WriteBytes(SystemId); } @@ -22510,11 +23225,11 @@ 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 (neighborIdCase_ == NeighborIdOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { output.WriteRawTag(10); output.WriteBytes(Ipv4Addr); } - if (neighborIdCase_ == NeighborIdOneofCase.SystemId) { + if (HasSystemId) { output.WriteRawTag(18); output.WriteBytes(SystemId); } @@ -22528,10 +23243,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (neighborIdCase_ == NeighborIdOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4Addr); } - if (neighborIdCase_ == NeighborIdOneofCase.SystemId) { + if (HasSystemId) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(SystemId); } if (_unknownFields != null) { @@ -22566,7 +23281,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -22589,7 +23308,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -22612,6 +23335,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 LAN End X SID. TLV 1107/1108 /// Section 4.1 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6LanEndXSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -22975,7 +23699,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23024,7 +23752,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23073,6 +23805,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unidirectional Link Delay. TLV 1114 /// Section 2.1 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUniLinkDelay : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23263,7 +23996,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23286,7 +24023,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23309,6 +24050,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Min/Max Unidirectional Link Delay. TLV 1115 /// Section 2.2 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoMinMaxUniLinkDelay : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23531,7 +24273,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23558,7 +24304,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23585,6 +24335,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unidirectional Delay Variation. TLV 1116 /// Section 2.3 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUniDelayVar : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -23775,7 +24526,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -23798,7 +24553,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -23821,6 +24580,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unidirectional Link Loss. TLV 1117 /// Section 2.4 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUniLinkLoss : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24013,7 +24773,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24036,7 +24800,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24059,6 +24827,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unidirectional Residual Bandwidth. TLV 1118 /// Section 2.5 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUniResBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24217,7 +24986,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24236,7 +25009,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24255,6 +25032,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unidirectional Available Bandwidth. TLV 1119 /// Section 2.6 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUniAvailBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24413,7 +25191,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24432,7 +25214,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24451,6 +25237,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unidirectional Utilized Bandwidth. TLV 1120 /// Section 2.7 of [RFC8571] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUniUtilBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -24609,7 +25396,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -24628,7 +25419,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -24647,6 +25442,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// ASLA Attributes. TLV 1122 /// Section 2 of [RFC9294] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoAslaAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25239,7 +26035,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25336,7 +26136,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25433,6 +26237,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// IGP Flags. TLV 1152 /// Section 5.3.3.1 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixIgpFlags : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25597,7 +26402,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25616,7 +26425,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25635,6 +26448,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// IGP Route Tag. TLV 1153 /// Section 5.3.3.2 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixIgpRouteTag : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25793,7 +26607,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -25812,7 +26630,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -25831,6 +26653,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// IGP Extended Route Tag. TLV 1154 /// Section 5.3.3.3 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixIgpExtRouteTag : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -25989,7 +26812,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26008,7 +26835,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26027,6 +26858,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Prefix Metric. TLV 1155 /// Section 5.3.3.4 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixMetric : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26185,7 +27017,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26204,7 +27040,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26223,6 +27063,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// OSPF Forwarding Address. TLV 1156 /// Section 5.3.3.5 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixOspfFwdAddr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26283,12 +27124,26 @@ public SLBgplsTopoPrefixOspfFwdAddr Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4Addr { - get { return ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv4Addr ? (pb::ByteString) ospfFwdAddr_ : pb::ByteString.Empty; } + get { return HasIpv4Addr ? (pb::ByteString) ospfFwdAddr_ : pb::ByteString.Empty; } set { ospfFwdAddr_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); ospfFwdAddrCase_ = OspfFwdAddrOneofCase.Ipv4Addr; } } + /// Gets whether the "Ipv4Addr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4Addr { + get { return ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv4Addr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4Addr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4Addr() { + if (HasIpv4Addr) { + ClearOspfFwdAddr(); + } + } /// Field number for the "Ipv6Addr" field. public const int Ipv6AddrFieldNumber = 2; @@ -26298,12 +27153,26 @@ public SLBgplsTopoPrefixOspfFwdAddr Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv6Addr { - get { return ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv6Addr ? (pb::ByteString) ospfFwdAddr_ : pb::ByteString.Empty; } + get { return HasIpv6Addr ? (pb::ByteString) ospfFwdAddr_ : pb::ByteString.Empty; } set { ospfFwdAddr_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); ospfFwdAddrCase_ = OspfFwdAddrOneofCase.Ipv6Addr; } } + /// Gets whether the "Ipv6Addr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv6Addr { + get { return ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv6Addr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv6Addr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv6Addr() { + if (HasIpv6Addr) { + ClearOspfFwdAddr(); + } + } private object ospfFwdAddr_; /// Enum of possible cases for the "OspfFwdAddr" oneof. @@ -26351,8 +27220,8 @@ public bool Equals(SLBgplsTopoPrefixOspfFwdAddr other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv4Addr) hash ^= Ipv4Addr.GetHashCode(); - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv6Addr) hash ^= Ipv6Addr.GetHashCode(); + if (HasIpv4Addr) hash ^= Ipv4Addr.GetHashCode(); + if (HasIpv6Addr) hash ^= Ipv6Addr.GetHashCode(); hash ^= (int) ospfFwdAddrCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -26372,11 +27241,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { output.WriteRawTag(10); output.WriteBytes(Ipv4Addr); } - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv6Addr) { + if (HasIpv6Addr) { output.WriteRawTag(18); output.WriteBytes(Ipv6Addr); } @@ -26390,11 +27259,11 @@ 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 (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { output.WriteRawTag(10); output.WriteBytes(Ipv4Addr); } - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv6Addr) { + if (HasIpv6Addr) { output.WriteRawTag(18); output.WriteBytes(Ipv6Addr); } @@ -26408,10 +27277,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4Addr); } - if (ospfFwdAddrCase_ == OspfFwdAddrOneofCase.Ipv6Addr) { + if (HasIpv6Addr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv6Addr); } if (_unknownFields != null) { @@ -26446,7 +27315,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26469,7 +27342,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26492,6 +27369,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Opaque Prefix Attribute. TLV 1157 /// Section 5.3.3.6 of [RFC9552] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixOpaqueAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26650,7 +27528,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26669,7 +27551,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -26688,6 +27574,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Prefix SID. TLV 1158 /// Section 2.3.1 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -26944,7 +27831,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -26975,7 +27866,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27006,6 +27901,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Prefix Range. TLV 1159 /// Section 2.3.5 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixRange : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27299,7 +28195,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -27334,7 +28234,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27369,6 +28273,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 Locator. TLV 1162 /// Section 5.1 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixSrv6Loc : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27593,7 +28498,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -27620,7 +28529,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27647,6 +28560,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Prefix Attribute Flags. TLV 1170 /// Section 2.3.2 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixAttrFlags : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27807,7 +28721,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -27826,7 +28744,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -27845,6 +28767,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Source Route Identifier. TLV 1171 /// Section 2.3.3 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoPrefixSrcRouterId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -27905,12 +28828,26 @@ public SLBgplsTopoPrefixSrcRouterId Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4Addr { - get { return srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv4Addr ? (pb::ByteString) srcRouterId_ : pb::ByteString.Empty; } + get { return HasIpv4Addr ? (pb::ByteString) srcRouterId_ : pb::ByteString.Empty; } set { srcRouterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); srcRouterIdCase_ = SrcRouterIdOneofCase.Ipv4Addr; } } + /// Gets whether the "Ipv4Addr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4Addr { + get { return srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv4Addr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4Addr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4Addr() { + if (HasIpv4Addr) { + ClearSrcRouterId(); + } + } /// Field number for the "Ipv6Addr" field. public const int Ipv6AddrFieldNumber = 2; @@ -27920,12 +28857,26 @@ public SLBgplsTopoPrefixSrcRouterId Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv6Addr { - get { return srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv6Addr ? (pb::ByteString) srcRouterId_ : pb::ByteString.Empty; } + get { return HasIpv6Addr ? (pb::ByteString) srcRouterId_ : pb::ByteString.Empty; } set { srcRouterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); srcRouterIdCase_ = SrcRouterIdOneofCase.Ipv6Addr; } } + /// Gets whether the "Ipv6Addr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv6Addr { + get { return srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv6Addr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv6Addr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv6Addr() { + if (HasIpv6Addr) { + ClearSrcRouterId(); + } + } private object srcRouterId_; /// Enum of possible cases for the "SrcRouterId" oneof. @@ -27973,8 +28924,8 @@ public bool Equals(SLBgplsTopoPrefixSrcRouterId other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv4Addr) hash ^= Ipv4Addr.GetHashCode(); - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv6Addr) hash ^= Ipv6Addr.GetHashCode(); + if (HasIpv4Addr) hash ^= Ipv4Addr.GetHashCode(); + if (HasIpv6Addr) hash ^= Ipv6Addr.GetHashCode(); hash ^= (int) srcRouterIdCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -27994,11 +28945,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { output.WriteRawTag(10); output.WriteBytes(Ipv4Addr); } - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv6Addr) { + if (HasIpv6Addr) { output.WriteRawTag(18); output.WriteBytes(Ipv6Addr); } @@ -28012,11 +28963,11 @@ 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 (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { output.WriteRawTag(10); output.WriteBytes(Ipv4Addr); } - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv6Addr) { + if (HasIpv6Addr) { output.WriteRawTag(18); output.WriteBytes(Ipv6Addr); } @@ -28030,10 +28981,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv4Addr) { + if (HasIpv4Addr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4Addr); } - if (srcRouterIdCase_ == SrcRouterIdOneofCase.Ipv6Addr) { + if (HasIpv6Addr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv6Addr); } if (_unknownFields != null) { @@ -28068,7 +29019,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -28091,7 +29046,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -28114,6 +29073,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// L2 Bundle Member Attribute. TLV 1172 /// Section 2.2.3 of [RFC9085] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoL2BundleMemberAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -28842,7 +29802,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -28965,7 +29929,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -29088,6 +30056,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Extended Administrative Group. TLV 1173 /// Section 2 of [RFC9104] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoExtAdminGroup : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -29240,7 +30209,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -29260,7 +30233,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -29276,6 +30253,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrBindingSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -29531,7 +30509,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -29564,7 +30546,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -29597,6 +30583,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Candidate Path State. TLV 1202 /// Section 5.3 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrCpState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -29873,7 +30860,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -29900,7 +30891,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -29927,6 +30922,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Candidate Path Constraints. TLV 1204 /// Section 5.6 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrCpConstraints : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -30406,7 +31402,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -30472,7 +31472,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -30538,6 +31542,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Segment List. TLV 1205 /// Section 5.7 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrSegList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -30925,7 +31930,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -30971,7 +31980,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -31017,6 +32030,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Segment List Metric. TLV 1207 /// Section 5.9 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrSegListMetric : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -31326,7 +32340,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -31361,7 +32379,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -31396,6 +32418,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Affinity Constraints. TLV 1208 /// Section 5.6.1 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrAffinityConstraints : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -31591,7 +32614,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -31621,7 +32648,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -31651,6 +32682,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR SRLG Constraints. TLV 1209 /// Section 5.6.2 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrSrlgConstraints : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -31798,7 +32830,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -31818,7 +32854,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -31838,6 +32878,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Bandwidth Constraint. TLV 1210 /// Section 5.6.3 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrBandwidthConstraint : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -31997,7 +33038,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -32016,7 +33061,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -32035,6 +33084,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Disjoint Group Constraint. TLV 1211 /// Section 5.6.4 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrDisjointGroupConstraint : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -32308,7 +33358,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -32335,7 +33389,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -32362,6 +33420,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Policy Name. TLV 1213 /// Section 5.4 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrPolicyName : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -32522,7 +33581,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -32541,7 +33604,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -32560,6 +33627,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Bidirectional Group Contraint. TLV 1214 /// Section 5.6.5 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrBidirGroupConstraint : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -32762,7 +33830,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -32785,7 +33857,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -32808,6 +33884,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Metric Contraint. TLV 1215 /// Section 5.6.6 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrMetricConstraint : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -33090,7 +34167,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -33121,7 +34202,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -33152,6 +34237,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Segment List Bandwidth. TLV 1216 /// Section 5.10 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrSegListBandwidth : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -33311,7 +34397,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -33330,7 +34420,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -33349,6 +34443,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Segment List Identifier. TLV 1217 /// Section 5.11 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrSegListId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -33507,7 +34602,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -33526,7 +34625,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -33545,6 +34648,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 BGP Peer Node SID. TLV 1251 /// Section 7.2 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoSrv6BgpPeerNodeSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -33813,7 +34917,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -33844,7 +34952,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -33875,6 +34987,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Unknown Attribute. /// Added to hold any unknown/unsupported TLV by IOS-XR/BGPLS. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLBgplsTopoUnknownAttr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -34088,7 +35201,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -34115,7 +35232,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlCommonTypes.cs b/grpc/dotnet/src/gencs/SlCommonTypes.cs index 29c3986b..06e2cb90 100644 --- a/grpc/dotnet/src/gencs/SlCommonTypes.cs +++ b/grpc/dotnet/src/gencs/SlCommonTypes.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_common_types.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -24,33 +24,35 @@ public static partial class SlCommonTypesReflection { static SlCommonTypesReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChVzbF9jb21tb25fdHlwZXMucHJvdG8SDXNlcnZpY2VfbGF5ZXIiiWgKDVNM", - "RXJyb3JTdGF0dXMSNAoGU3RhdHVzGAEgASgOMiQuc2VydmljZV9sYXllci5T", - "TEVycm9yU3RhdHVzLlNMRXJybm8iwWcKB1NMRXJybm8SDgoKU0xfU1VDQ0VT", - "UxAAEhQKEFNMX05PVF9DT05ORUNURUQQARINCglTTF9FQUdBSU4QAhINCglT", - "TF9FTk9NRU0QAxIMCghTTF9FQlVTWRAEEg0KCVNMX0VJTlZBTBAFEhYKElNM", - "X1VOU1VQUE9SVEVEX1ZFUhAGEhQKEFNMX05PVF9BVkFJTEFCTEUQBxIbChdT", - "TF9TVFJFQU1fTk9UX1NVUFBPUlRFRBAIEg4KClNMX0VOT1RTVVAQCRIPCgtT", - "TF9TT01FX0VSUhAKEg4KClNMX1RJTUVPVVQQCxIRCg1TTF9OT1RJRl9URVJN", - "EAwSEAoMU0xfQVVUSF9GQUlMEA0SHQoZU0xfQUNLX1RZUEVfTk9UX1NVUFBP", - "UlRFRBAOEhkKFFNMX0lOSVRfU1RBUlRfT0ZGU0VUEIAKEhgKE1NMX0lOSVRf", - "U1RBVEVfQ0xFQVIQgQoSGAoTU0xfSU5JVF9TVEFURV9SRUFEWRCCChIcChdT", - "TF9JTklUX1VOU1VQUE9SVEVEX1ZFUhCDChIjCh5TTF9JTklUX1NFUlZFUl9O", - "T1RfSU5JVElBTElaRUQQhAoSJgohU0xfSU5JVF9TRVJWRVJfTU9ERV9DSEFO", - "R0VfRkFJTEVEEIUKEhwKF1NMX1JQQ19WUkZfU1RBUlRfT0ZGU0VUEIAgEiUK", - "IFNMX1JQQ19WUkZfVE9PX01BTllfVlJGX1JFR19NU0dTEIEgEiYKIVNMX1JQ", - "Q19WUkZfU0VSVkVSX05PVF9JTklUSUFMSVpFRBCCIBImCiFTTF9SUENfVlJG", - "X09QX05PVFNVUF9XSVRIX0FVVE9SRUcQgyASGAoTU0xfVlJGX1NUQVJUX09G", - "RlNFVBCAQBIYChNTTF9WUkZfTkFNRV9UT09MT05HEIFAEhUKEFNMX1ZSRl9O", - "T1RfRk9VTkQQgkASFwoSU0xfVlJGX05PX1RBQkxFX0lEEINAEiYKIVNMX1ZS", - "Rl9SRUdfSU5WQUxJRF9BRE1JTl9ESVNUQU5DRRCEQBIZChRTTF9WUkZfVEFC", - "TEVfQUREX0VSUhCFQBIiCh1TTF9WUkZfVEFCTEVfUkVHSVNUUkFUSU9OX0VS", - "UhCGQBIkCh9TTF9WUkZfVEFCTEVfVU5SRUdJU1RSQVRJT05fRVJSEIdAEhkK", - "FFNMX1ZSRl9UQUJMRV9FT0ZfRVJSEIhAEiAKG1NMX1ZSRl9SRUdfVlJGX05B", - "TUVfTUlTU0lORxCJQBInCiJTTF9WUkZfVjRfUk9VVEVfUkVQTEFZX0ZBVEFM", - "X0VSUk9SEJBAEicKIlNMX1ZSRl9WNl9ST1VURV9SRVBMQVlfRkFUQUxfRVJS", - "T1IQkUASHgoZU0xfVlJGX1Y0X1JPVVRFX1JFUExBWV9PSxCSQBIeChlTTF9W", - "UkZfVjZfUk9VVEVfUkVQTEFZX09LEJNAEh4KGVNMX1JQQ19ST1VURV9TVEFS", + "ChVzbF9jb21tb25fdHlwZXMucHJvdG8SDXNlcnZpY2VfbGF5ZXIiz4cBCg1T", + "TEVycm9yU3RhdHVzEjQKBlN0YXR1cxgBIAEoDjIkLnNlcnZpY2VfbGF5ZXIu", + "U0xFcnJvclN0YXR1cy5TTEVycm5vIoaHAQoHU0xFcnJubxIOCgpTTF9TVUND", + "RVNTEAASFAoQU0xfTk9UX0NPTk5FQ1RFRBABEg0KCVNMX0VBR0FJThACEg0K", + "CVNMX0VOT01FTRADEgwKCFNMX0VCVVNZEAQSDQoJU0xfRUlOVkFMEAUSFgoS", + "U0xfVU5TVVBQT1JURURfVkVSEAYSFAoQU0xfTk9UX0FWQUlMQUJMRRAHEhsK", + "F1NMX1NUUkVBTV9OT1RfU1VQUE9SVEVEEAgSDgoKU0xfRU5PVFNVUBAJEg8K", + "C1NMX1NPTUVfRVJSEAoSDgoKU0xfVElNRU9VVBALEhEKDVNMX05PVElGX1RF", + "Uk0QDBIQCgxTTF9BVVRIX0ZBSUwQDRIdChlTTF9BQ0tfVFlQRV9OT1RfU1VQ", + "UE9SVEVEEA4SFQoRU0xfTk9fU1VDSF9DTElFTlQQDxIXChNTTF9OT19FTlRS", + "SUVTX0ZPVU5EEBASGQoUU0xfSU5JVF9TVEFSVF9PRkZTRVQQgAoSGAoTU0xf", + "SU5JVF9TVEFURV9DTEVBUhCBChIYChNTTF9JTklUX1NUQVRFX1JFQURZEIIK", + "EhwKF1NMX0lOSVRfVU5TVVBQT1JURURfVkVSEIMKEiMKHlNMX0lOSVRfU0VS", + "VkVSX05PVF9JTklUSUFMSVpFRBCEChImCiFTTF9JTklUX1NFUlZFUl9NT0RF", + "X0NIQU5HRV9GQUlMRUQQhQoSHAoXU0xfUlBDX1ZSRl9TVEFSVF9PRkZTRVQQ", + "gCASJQogU0xfUlBDX1ZSRl9UT09fTUFOWV9WUkZfUkVHX01TR1MQgSASJgoh", + "U0xfUlBDX1ZSRl9TRVJWRVJfTk9UX0lOSVRJQUxJWkVEEIIgEiYKIVNMX1JQ", + "Q19WUkZfT1BfTk9UU1VQX1dJVEhfQVVUT1JFRxCDIBIYChNTTF9WUkZfU1RB", + "UlRfT0ZGU0VUEIBAEhgKE1NMX1ZSRl9OQU1FX1RPT0xPTkcQgUASFQoQU0xf", + "VlJGX05PVF9GT1VORBCCQBIXChJTTF9WUkZfTk9fVEFCTEVfSUQQg0ASJgoh", + "U0xfVlJGX1JFR19JTlZBTElEX0FETUlOX0RJU1RBTkNFEIRAEhkKFFNMX1ZS", + "Rl9UQUJMRV9BRERfRVJSEIVAEiIKHVNMX1ZSRl9UQUJMRV9SRUdJU1RSQVRJ", + "T05fRVJSEIZAEiQKH1NMX1ZSRl9UQUJMRV9VTlJFR0lTVFJBVElPTl9FUlIQ", + "h0ASGQoUU0xfVlJGX1RBQkxFX0VPRl9FUlIQiEASIAobU0xfVlJGX1JFR19W", + "UkZfTkFNRV9NSVNTSU5HEIlAEicKIlNMX1ZSRl9WNF9ST1VURV9SRVBMQVlf", + "RkFUQUxfRVJST1IQkEASJwoiU0xfVlJGX1Y2X1JPVVRFX1JFUExBWV9GQVRB", + "TF9FUlJPUhCRQBIeChlTTF9WUkZfVjRfUk9VVEVfUkVQTEFZX09LEJJAEh4K", + "GVNMX1ZSRl9WNl9ST1VURV9SRVBMQVlfT0sQk0ASJgohU0xfVlJGX1RBQkxF", + "X0NMSUVOVF9OQU1FX01JU01BVENIEJRAEh4KGVNMX1JQQ19ST1VURV9TVEFS", "VF9PRkZTRVQQgGASIQocU0xfUlBDX1JPVVRFX1RPT19NQU5ZX1JPVVRFUxCB", "YBIiCh1TTF9SUENfUk9VVEVfVlJGX05BTUVfVE9PTE9ORxCCYBIfChpTTF9S", "UENfUk9VVEVfVlJGX05PVF9GT1VORBCDYBIeChlTTF9SUENfUk9VVEVfVlJG", @@ -78,283 +80,372 @@ static SlCommonTypesReflection() { "QUNLVVBfUEFUSFMQkYABEhcKEVNMX1JPVVRFX0RCX05PTUVNEJKAARIiChxT", "TF9ST1VURV9JTlZBTElEX0xPQ0FMX0xBQkVMEJOAARIcChZTTF9ST1VURV9J", "TlZBTElEX0ZMQUdTEJSAARIfChlTTF9ST1VURV9JTlZBTElEX1BSSU9SSVRZ", - "EJWAARIaChRTTF9QQVRIX1NUQVJUX09GRlNFVBCAoAESGQoTU0xfUEFUSF9O", - "SF9OT19UQUJMRRCBoAESHwoZU0xfUEFUSF9OSF9JTlRGX05PVF9GT1VORBCC", - "oAESIQobU0xfUEFUSF9JTlZBTElEX0xBQkVMX0NPVU5UEIOgARIYChJTTF9Q", - "QVRIX0lOVkFMSURfSUQQhKABEh4KGFNMX1BBVEhfVlJGX05BTUVfVE9PTE9O", - "RxCFoAESIgocU0xfUEFUSF9OSF9JTlRGX05BTUVfVE9PTE9ORxCGoAESIAoa", - "U0xfUEFUSF9OSF9JTlZBTElEX0FERFJfU1oQh6ABEiEKG1NMX1BBVEhfTkhf", - "SU5GX05BTUVfTUlTU0lORxCIoAESIwodU0xfUEFUSF9JTlZBTElEX05FWFRf", - "SE9QX0FERFIQiaABEicKIVNMX1BBVEhfSU5WQUxJRF9SRU1PVEVfQUREUl9D", - "T1VOVBCKoAESJAoeU0xfUEFUSF9SRU1PVEVfQUREUl9JTlZBTElEX1NaEIug", - "ARImCiBTTF9QQVRIX1JFTU9URV9BRERSX0FGSV9NSVNNQVRDSBCMoAESJgog", - "U0xfUEFUSF9JTlZBTElEX1BST1RFQ1RFRF9CSVRNQVAQjaABEikKI1NMX1BB", - "VEhfQkFDS1VQX01JU1NJTkdfUFJJTUFSWV9QQVRIEI6gARIhChtTTF9QQVRI", - "X1BSSU1BUllfSURfUkVQRUFURUQQj6ABEiAKGlNMX1BBVEhfQkFDS1VQX0lE", - "X1JFUEVBVEVEEJCgARIqCiRTTF9QQVRIX1BSSU1BUllfVE9PTUFOWV9CQUNL", - "VVBfUEFUSFMQkaABEiQKHlNMX1BBVEhfUFJJTUFSWV9UT09NQU5ZX0xBQkVM", - "UxCSoAESKQojU0xfUEFUSF9QUklNQVJZX1RPT01BTllfUkVNT1RFX0FERFIQ", - "k6ABEiEKG1NMX1BBVEhfUkVNT1RFX0FERFJfSU5WQUxJRBCUoAESGwoVU0xf", - "UEFUSF9JTlZBTElEX0xBQkVMEJWgARIoCiJTTF9QQVRIX1JPVVRFUl9NQUNf", - "QUREUl9JTlZBTElEX1NaEJagARIjCh1TTF9QQVRIX0JBQ0tVUF9UT09NQU5Z", - "X0xBQkVMUxCXoAESGQoTU0xfUEFUSF9JTlZBTElEX1ZOSRCYoAESIAoaU0xf", - "UEFUSF9JTlZBTElEX0VOQ0FQX0FERFIQmaABEigKIlNMX1BBVEhfRU5DQVBf", - "U1JDX0RTVF9BRklfTUlTTUFUQ0gQmqABEhsKFVNMX1BBVEhfUlRSX01BQ19O", - "T1NVUBCboAESIQobU0xfUEFUSF9FTkNBUF9UWVBFX01JU01BVENIEJygARId", - "ChdTTF9SUENfQkZEX1NUQVJUX09GRlNFVBCAwAESJgogU0xfUlBDX0JGRF9U", - "T09fTUFOWV9CRkRfU0VTU0lPTlMQgcABEiIKHFNMX1JQQ19CRkRfQVBJX0JB", - "RF9QQVJBTUVURVIQgsABEioKJFNMX1JQQ19CRkRfQVBJX0NMSUVOVF9OT1Rf", - "UkVHSVNURVJFRBCDwAESIwodU0xfUlBDX0JGRF9BUElfSU5URVJOQUxfRVJS", - "T1IQhMABEicKIVNMX1JQQ19CRkRfU0VSVkVSX05PVF9JTklUSUFMSVpFRBCF", - "wAESIgocU0xfUlBDX0JGRF9WNF9OT1RfUkVHSVNURVJFRBCGwAESIgocU0xf", - "UlBDX0JGRF9WNl9OT1RfUkVHSVNURVJFRBCHwAESGQoTU0xfQkZEX1NUQVJU", - "X09GRlNFVBCA4AESHgoYU0xfQkZEX0lOVEZfTkFNRV9UT09MT05HEIHgARIb", - "ChVTTF9CRkRfSU5URl9OT1RfRk9VTkQQguABEh4KGFNMX0JGRF9JTlZBTElE", - "X0FUVFJJQlVURRCD4AESHgoYU0xfQkZEX0lOVEZfTkFNRV9NSVNTSU5HEITg", - "ARIeChhTTF9CRkRfSU5WQUxJRF9OQlJfTUNBU1QQheABEhgKElNMX0JGRF9J", - "TlZBTElEX05CUhCG4AESHQoXU0xfQkZEX1ZSRl9OQU1FX1RPT0xPTkcQh+AB", - "EhoKFFNMX0JGRF9CQURfUEFSQU1FVEVSEIjgARIfChlTTF9CRkRfQVBJX0lO", - "VEVSTkFMX0VSUk9SEIngARIaChRTTF9CRkRfVlJGX05PVF9GT1VORBCK4AES", - "IAoaU0xfQkZEX0lOVkFMSURfUFJFRklYX1NJWkUQi+ABEiEKG1NMX0JGRF9J", - "TlZBTElEX1NFU1NJT05fVFlQRRCM4AESGAoSU0xfQkZEX0lOVkFMSURfVlJG", - "EI3gARIeChhTTF9CRkRfU0VTU0lPTl9OT1RfRk9VTkQQjuABEhsKFVNMX0JG", - "RF9TRVNTSU9OX0VYSVNUUxCP4AESHgoYU0xfQkZEX0lOVEVSTkFMX0RCX0VS", - "Uk9SEJDgARIbChVTTF9CRkRfUkVDT1ZFUllfRVJST1IQkeABEh4KGFNMX1JQ", - "Q19NUExTX1NUQVJUX09GRlNFVBCAgAISIwodU0xfUlBDX01QTFNfSUxNX1RP", - "T19NQU5ZX0lMTVMQgYACEigKIlNMX1JQQ19NUExTX1NFUlZFUl9OT1RfSU5J", - "VElBTElaRUQQgoACEigKIlNMX1JQQ19NUExTX0lOSVRfTU9ERV9JTkNPTVBB", - "VElCTEUQg4ACEi8KKVNMX1JQQ19NUExTX0xBQkVMX0JMS19UT09fTUFOWV9M", - "QUJFTF9CTEtTEISAAhIgChpTTF9SUENfTVBMU19OT1RfUkVHSVNURVJFRBCF", - "gAISFwoRU0xfSUxNX0VSUl9PRkZTRVQQgKACEhcKEVNMX0lMTV9BRERfRkFJ", - "TEVEEIGgAhIbChVTTF9JTE1fTFNEX0FERF9GQUlMRUQQgqACEh4KGFNMX0lM", - "TV9JTlZBTElEX05VTV9OSExGRRCDoAISGgoUU0xfSUxNX0lOVkFMSURfTEFC", - "RUwQhKACEhoKFFNMX0lMTV9ERUxFVEVfRkFJTEVEEIWgAhIeChhTTF9JTE1f", - "TFNEX0RFTEVURV9GQUlMRUQQhqACEiMKHVNMX0lMTV9UT09NQU5ZX1BSSU1B", - "UllfTkhMRkVTEIegAhIiChxTTF9JTE1fVE9PTUFOWV9CQUNLVVBfTkhMRkVT", - "EIigAhInCiFTTF9JTE1fTFNEX0FERF9MQUJFTF9BTExPQ19GQUlMRUQQiaAC", - "EiUKH1NMX0lMTV9MU0RfTkhMRkVfSU5WQUxJRF9BVFRSSUIQiqACEhMKDVNM", - "X0lMTV9FRVhJU1QQi6ACEhUKD1NMX0lMTV9EQl9OT01FTRCMoAISHQoXU0xf", - "SUxNX0lOVkFMSURfRUxTUF9FWFAQjaACEikKI1NMX0lMTV9FTFNQX0VYUF9P", - "Ul9ERkxUX0FMUkVBRFlfU0VUEI6gAhIZChNTTF9JTE1fQUREX05PX1BBVEhT", - "EI+gAhIcChZTTF9JTE1fVVBEQVRFX05PX1BBVEhTEJCgAhIdChdTTF9JTE1f", - "VU5TVVBQT1JURURfRUxTUBCRoAISJgogU0xfSUxNX0xBQkVMX1RPT01BTllf", - "RVhQX0NMQVNTRVMQkqACEh8KGVNMX0lMTV9SRVBMQVlfRkFUQUxfRVJST1IQ", - "k6ACEhYKEFNMX0lMTV9SRVBMQVlfT0sQlKACEh8KGVNMX0lMTV9JTlZBTElE", - "X1BSRUZJWF9MRU4QlaACEhoKFFNMX0lMTV9IT1NUX0JJVFNfU0VUEJagAhIe", - "ChhTTF9JTE1fSU5WQUxJRF9QUkVGSVhfU1oQl6ACEhsKFVNMX0lMTV9JTlZB", - "TElEX1BSRUZJWBCYoAISIQobU0xfSUxNX0lOVkFMSURfUFJFRklYX01DQVNU", - "EJmgAhIdChdTTF9JTE1fVlJGX05BTUVfVE9PTE9ORxCgoAISHAoWU0xfSUxN", - "X1ZSRl9OT19UQUJMRV9JRBChoAISHQoXU0xfSUxNX1ZSRl9OQU1FX01JU1NJ", - "TkcQoqACEhkKE1NMX05ITEZFX0VSUl9PRkZTRVQQgMACEhoKFFNMX05ITEZF", - "X05IX05PX1RBQkxFEIHAAhIhChtTTF9OSExGRV9OSF9JTlZBTElEX0FERFJf", - "U1oQgsACEiQKHlNMX05ITEZFX0lOVkFMSURfTkVYVF9IT1BfQUREUhCDwAIS", - "HwoZU0xfTkhMRkVfVlJGX05BTUVfVE9PTE9ORxCEwAISIgocU0xfTkhMRkVf", - "TkhfSU5GX05BTUVfTUlTU0lORxCFwAISIwodU0xfTkhMRkVfTkhfSU5URl9O", - "QU1FX1RPT0xPTkcQhsACEiIKHFNMX05ITEZFX0lOVkFMSURfTEFCRUxfQ09V", - "TlQQh8ACEh4KGFNMX05ITEZFX0lOVkFMSURfUEFUSF9JRBCIwAISHAoWU0xf", - "TkhMRkVfSU5WQUxJRF9MQUJFTBCJwAISJwohU0xfTkhMRkVfSU5WQUxJRF9Q", - "Uk9URUNURURfQklUTUFQEIrAAhIoCiJTTF9OSExGRV9JTlZBTElEX1JFTU9U", - "RV9BRERSX0NPVU5UEIvAAhIlCh9TTF9OSExGRV9SRU1PVEVfQUREUl9JTlZB", - "TElEX1NaEIzAAhIlCh9TTF9OSExGRV9QUklNQVJZX1RPT01BTllfTEFCRUxT", - "EI3AAhIqCiRTTF9OSExGRV9QUklNQVJZX1RPT01BTllfUkVNT1RFX0FERFIQ", - "jsACEiEKG1NMX05ITEZFX0JBQ0tVUF9JRF9SRVBFQVRFRBCPwAISIgocU0xf", - "TkhMRkVfUFJJTUFSWV9JRF9SRVBFQVRFRBCQwAISLAomU0xfTkhMRkVfQkFD", - "S1VQX1BST1RFQ1RFRF9CSVRNQVBfRU1QVFkQkcACEisKJVNMX05ITEZFX1BS", - "SU1BUllfVE9PTUFOWV9CQUNLVVBfUEFUSFMQksACEiIKHFNMX05ITEZFX1JF", - "TU9URV9BRERSX0lOVkFMSUQQk8ACEioKJFNMX05ITEZFX0JBQ0tVUF9NSVNT", - "SU5HX1BSSU1BUllfUEFUSBCUwAISHwoZU0xfTkhMRkVfTkVYVF9IT1BfTUlT", - "U0lORxCVwAISIwodU0xfTkhMRkVfTEFCRUxfQUNUSU9OX0lOVkFMSUQQlsAC", - "EiAKGlNMX05ITEZFX05IX0lOVEZfTk9UX0ZPVU5EEJfAAhIaChRTTF9OSExG", - "RV9PUEVSX0ZBSUxFRBCYwAISIwodU0xfTkhMRkVfTEFCRUxfQUNUSU9OX01J", - "U1NJTkcQmcACEh0KF1NMX05ITEZFX0VYUF9TRVRfRkFJTEVEEJrAAhIqCiRT", - "TF9OSExGRV9FTFNQX1BST1RFQ1RJT05fVU5TVVBQT1JURUQQm8ACEh8KGVNM", - "X05ITEZFX0lOVkFMSURfRUxTUF9FWFAQnMACEiQKHlNMX05ITEZFX0lOVkFM", - "SURfUEFUSF9QUklPUklUWRCdwAISIgocU0xfTkhMRkVfSU5WQUxJRF9MT0FE", - "X01FVFJJQxCewAISHAoWU0xfTkhMRkVfSU5WQUxJRF9TRVRJRBCfwAISJQof", - "U0xfTkhMRkVfSU5WQUxJRF9TRVRJRF9QUklPUklUWRCgwAISLgooU0xfTkhM", - "RkVfSU5WQUxJRF9NVUxUSVBMRV9QUklNQVJZX1NFVElEUxChwAISJAoeU0xf", - "TkhMRkVfTk9OX0NPTlRJR1VPVVNfU0VUSURTEKLAAhIhChtTTF9OSExGRV9O", - "T05fQ09OVElHVU9VU19FWFAQo8ACEicKIVNMX05ITEZFX0lOQ09OU0lTVEVO", - "VF9FWFBfT05fUEFUSBCkwAISHQoXU0xfTEFCRUxfQkxLX0VSUl9PRkZTRVQQ", - "gOACEiEKG1NMX0xBQkVMX0JMS19MU0RfQUREX0ZBSUxFRBCB4AISJAoeU0xf", - "TEFCRUxfQkxLX0xTRF9ERUxFVEVfRkFJTEVEEILgAhIqCiRTTF9MQUJFTF9C", - "TEtfTFNEX0xBQkVMX0JMS19OT1RfRk9VTkQQg+ACEicKIVNMX0xBQkVMX0JM", - "S19MU0RfTEFCRUxfQkxLX0lOX1VTRRCE4AISJQofU0xfTEFCRUxfQkxLX0xT", - "RF9JTlZBTElEX0FUVFJJQhCF4AISJQofU0xfTEFCRUxfQkxLX0lOVkFMSURf", - "QkxPQ0tfU0laRRCG4AISJgogU0xfTEFCRUxfQkxLX0lOVkFMSURfU1RBUlRf", - "TEFCRUwQh+ACEhkKE1NMX0xBQkVMX0JMS19FRVhJU1QQiOACEhsKFVNMX0xB", - "QkVMX0JMS19EQl9OT01FTRCJ4AISHwoZU0xfTEFCRUxfQkxLX1RZUEVfSU5W", - "QUxJRBCK4AISJgogU0xfTEFCRUxfQkxLX0NMSUVOVF9OQU1FX1RPT0xPTkcQ", - "i+ACEhwKFlNMX01QTFNfUkVHX0VSUl9PRkZTRVQQgIADEhUKD1NMX01QTFNf", - "UkVHX0VSUhCBgAMSFwoRU0xfTVBMU19VTlJFR19FUlIQgoADEhUKD1NMX01Q", - "TFNfRU9GX0VSUhCDgAMSHgoYU0xfUlBDX0lOVEZfU1RBUlRfT0ZGU0VUEICg", - "AxIlCh9TTF9SUENfSU5URl9UT09fTUFOWV9JTlRFUkZBQ0VTEIGgAxIoCiJT", - "TF9SUENfSU5URl9TRVJWRVJfTk9UX0lOSVRJQUxJWkVEEIKgAxIrCiVTTF9S", - "UENfSU5URl9BUElfQ0xJRU5UX05PVF9SRUdJU1RFUkVEEIOgAxIaChRTTF9J", - "TlRGX1NUQVJUX09GRlNFVBCAwAMSJAoeU0xfSU5URl9JTlRFUkZBQ0VfTkFN", - "RV9NSVNTSU5HEIHAAxIkCh5TTF9JTlRGX0lOVEVSRkFDRV9OQU1FX1RPT0xP", - "TkcQgsADEh8KGVNMX0lOVEZfSU5URVJGQUNFX1JFR19FUlIQg8ADEh8KGVNM", - "X0lOVEZfSU5URVJOQUxfREJfRVJST1IQhMADEhwKFlNMX0lOVEZfUkVDT1ZF", - "UllfRVJST1IQhcADEh4KGFNMX0lOVEZfSU5URVJGQUNFX0VYSVNUUxCGwAMS", - "IQobU0xfSU5URl9JTlRFUkZBQ0VfTk9UX0ZPVU5EEIfAAxIrCiVTTF9JTlRG", - "X0lOVEVSRkFDRV9TVEFURV9OT1RfU1VQUE9SVEVEEIjAAxIcChZTTF9MMl9S", - "RUdfU1RBUlRfT0ZGU0VUEIDgAxIcChZTTF9MMl9SRUdJU1RSQVRJT05fRVJS", - "EIHgAxIeChhTTF9MMl9VTlJFR0lTVFJBVElPTl9FUlIQguADEhMKDVNMX0wy", - "X0VPRl9FUlIQg+ADEiYKIFNMX0wyX1JFR19JTlZBTElEX0FETUlOX0RJU1RB", - "TkNFEITgAxIcChZTTF9MMl9SRUdfSVNfRFVQTElDQVRFEIXgAxImCiBTTF9M", - "Ml9SRUdfU0VSVkVSX05PVF9JTklUSUFMSVpFRBCG4AMSIwodU0xfUlBDX0wy", - "X0JEX1JFR19TVEFSVF9PRkZTRVQQgIAEEiMKHVNMX1JQQ19MMl9CRF9SRUdf", - "TkFNRV9NSVNTSU5HEIGABBIkCh5TTF9SUENfTDJfQkRfUkVHX1RPT19NQU5Z", - "X01TR1MQgoAEEi0KJ1NMX1JQQ19MMl9CRF9SRUdfU0VSVkVSX05PVF9JTklU", - "SUFMSVpFRBCDgAQSLAomU0xfUlBDX0wyX0JEX1JFR19DTElFTlRfTk9UX1JF", - "R0lTVEVSRUQQhIAEEh8KGVNMX0wyX0JEX1JFR19TVEFSVF9PRkZTRVQQgKAE", - "Eh8KGVNMX0wyX0JEX1JFR0lTVFJBVElPTl9FUlIQgaAEEiEKG1NMX0wyX0JE", - "X1VOUkVHSVNUUkFUSU9OX0VSUhCCoAQSFgoQU0xfTDJfQkRfRU9GX0VSUhCD", - "oAQSIAoaU0xfTDJfQkRfUkVHX05BTUVfVE9PX0xPTkcQhKAEEh8KGVNMX0wy", - "X0JEX1JFR19CRF9OT1RfRk9VTkQQhaAEEiIKHFNMX1JQQ19MMl9ST1VURV9T", - "VEFSVF9PRkZTRVQQgMAEEiMKHVNMX1JQQ19MMl9ST1VURV9UT09fTUFOWV9N", - "U0dTEIHABBIsCiZTTF9SUENfTDJfUk9VVEVfU0VSVkVSX05PVF9JTklUSUFM", - "SVpFRBCCwAQSKwolU0xfUlBDX0wyX1JPVVRFX0NMSUVOVF9OT1RfUkVHSVNU", - "RVJFRBCDwAQSHgoYU0xfTDJfUk9VVEVfU1RBUlRfT0ZGU0VUEIDgBBIhChtT", - "TF9MMl9ST1VURV9CRF9OQU1FX01JU1NJTkcQgeAEEiEKG1NMX0wyX1JPVVRF", - "X0JEX05BTUVfVE9PTE9ORxCC4AQSHgoYU0xfTDJfUk9VVEVfQkRfTk9UX0ZP", - "VU5EEIPgBBIjCh1TTF9MMl9ST1VURV9CRF9OT1RfUkVHSVNURVJFRBCE4AQS", - "HgoYU0xfTDJfUk9VVEVfSU5WQUxJRF9BUkdTEIXgBBIiChxTTF9SUENfTDJf", - "Tk9USUZfU1RBUlRfT0ZGU0VUEIGABRIsCiZTTF9SUENfTDJfTk9USUZfU0VS", - "VkVSX05PVF9JTklUSUFMSVpFRBCCgAUSKwolU0xfUlBDX0wyX05PVElGX0NM", - "SUVOVF9OT1RfUkVHSVNURVJFRBCDgAUSIAoaU0xfUlBDX0wyX05PVElGX0VO", - "QUJMRV9FUlIQhIAFEiEKG1NMX1JQQ19MMl9OT1RJRl9ESVNBQkxFX0VSUhCF", - "gAUSHQoXU0xfUlBDX0wyX05PVElGX0VPRl9FUlIQhoAFEiUKH1NMX1JQQ19M", - "Ml9OT1RJRl9CRF9OQU1FX01JU1NJTkcQh4AFEiUKH1NMX1JQQ19MMl9OT1RJ", - "Rl9CRF9OQU1FX1RPT0xPTkcQiIAFEiIKHFNMX1JQQ19MMl9OT1RJRl9CRF9O", - "T1RfRk9VTkQQiYAFEhcKEVNMX1BHX1ZSRl9BRERfRVJSEIGgBRIYChJTTF9Q", - "R19WUkZfTk9fVlJGSUQQgqAFEhsKFVNMX1BHX1NUUl9LRVlfVE9PTE9ORxCD", - "oAUSHwoZU0xfUEdfVEFSR0VUX1ZSRl9OT19WUkZJRBCEoAUSGwoVU0xfUEdf", - "U1RSX0tFWV9JTlZBTElEEIWgBRIeChhTTF9ORVhUX0hPUF9TVEFSVF9PRkZT", - "RVQQgMAFEiQKHlNMX05FWFRfSE9QX0lOVkFMSURfUFJFRklYX0xFThCBwAUS", - "HwoZU0xfTkVYVF9IT1BfSE9TVF9CSVRTX1NFVBCCwAUSJgogU0xfTkVYVF9I", - "T1BfSU5WQUxJRF9QUkVGSVhfTUNBU1QQg8AFEiAKGlNMX05FWFRfSE9QX0lO", - "VkFMSURfUFJFRklYEITABRInCiFTTF9ORVhUX0hPUF9JTlZBTElEX05FWFRf", - "SE9QX0FERFIQhcAFEiMKHVNMX05FWFRfSE9QX0lOVkFMSURfUFJFRklYX1Na", - "EIbABRIgChpTTF9ORVhUX0hPUF9SSUJfQUREX0ZBSUxFRBCHwAUSJAoeU0xf", - "Uk9VVEVfUkVESVNUX1JJQl9BRERfRkFJTEVEEIjABRIZChNTTF9BQ0tfU1RB", - "UlRfT0ZGU0VUEIDgBRIhChtTTF9BQ0tfUEVSTUlUX05PVF9TVVBQT1JURUQQ", - "geAFEhkKE1NMX0FDS19JTlZBTElEX1RZUEUQguAFEhwKFlNMX1BPTElDWV9T", - "VEFSVF9PRkZTRVQQgIAGEhcKEVNMX1BPTElDWV9BRERfRVJSEIGABhIaChRT", - "TF9QT0xJQ1lfRVhJU1RTX0VSUhCCgAYSGgoUU0xfUE9MSUNZX0RFTEVURV9F", - "UlIQg4AGEhwKFlNMX1BPTElDWV9SVUxFX0FERF9FUlIQhIAGEh8KGVNMX1BP", - "TElDWV9SVUxFX0VYSVNUU19FUlIQhYAGEh8KGVNMX1BPTElDWV9SVUxFX0RF", - "TEVURV9FUlIQhoAGEhkKE1NMX1BPTElDWV9BUFBMWV9FUlIQh4AGEhsKFVNM", - "X1BPTElDWV9VTkFQUExZX0VSUhCIgAYSIQobU0xfUE9MSUNZX1RPT19NQU5Z", - "X1BPTElDSUVTEImABhIdChdTTF9QT0xJQ1lfTkFNRV9UT09fTE9ORxCKgAYS", - "IgocU0xfUE9MSUNZX1JVTEVfTkFNRV9UT09fTE9ORxCLgAYSKgokU0xfUE9M", - "SUNZX0RVUExJQ0FURV9QUklPUklUWV9JTl9SVUxFEIyABhIkCh5TTF9QT0xJ", - "Q1lfUlVMRV9NT0RfTk9UX0FMTE9XRUQQjYAGEhwKFlNMX1BPTElDWV9JTlZB", - "TElEX1JVTEUQjoAGEiEKG1NMX1BPTElDWV9SVUxFX0FERF9OT19SVUxFUxCP", - "gAYSKwolU0xfUE9MSUNZX0lOVkFMSURfTUFUQ0hfQ09VTlRfSU5fUlVMRRCQ", - "gAYSLAomU0xfUE9MSUNZX0lOVkFMSURfQUNUSU9OX0NPVU5UX0lOX1JVTEUQ", - "kYAGEhkKE1NMX1BPTElDWV9OT1RfRk9VTkQQkoAGEhcKEVNMX1BPTElDWV9J", - "TlZBTElEEJOABhIcChZTTF9QT0xJQ1lfTkFNRV9NSVNTSU5HEJSABhIhChtT", - "TF9QT0xJQ1lfUlVMRV9OQU1FX01JU1NJTkcQlYAGEigKIlNMX1BPTElDWV9Q", - "UklPUklUWV9NSVNTSU5HX0lOX1JVTEUQloAGEhwKFlNMX1BPTElDWV9UWVBF", - "X0lOVkFMSUQQl4AGEiEKG1NMX1BPTElDWV9JTlZBTElEX0RJUkVDVElPThCY", - "gAYSIQobU0xfUE9MSUNZX0lOVEZfTkFNRV9UT09MT05HEJmABhIhChtTTF9Q", - "T0xJQ1lfSU5URl9OQU1FX01JU1NJTkcQmoAGEiYKIFNMX1BPTElDWV9NQVhf", - "UlVMRV9MSU1JVF9SRUFDSEVEEJuABhIhChtTTF9QT0xJQ1lfVlJGX05BTUVf", - "VE9PX0xPTkcQnIAGEiAKGlNMX1BPTElDWV9WUkZfTkFNRV9NSVNTSU5HEJ2A", - "BhImCiBTTF9QT0xJQ1lfUEFUSF9HUlBfTkFNRV9UT09fTE9ORxCegAYSJQof", - "U0xfUE9MSUNZX1BBVEhfR1JQX05BTUVfTUlTU0lORxCfgAYSIgocU0xfUE9M", - "SUNZX0lOVkFMSURfRFNDUF9WQUxVRRCggAYSJQofU0xfUE9MSUNZX1BSSU9S", - "SVRZX1NUUl9UT09fTE9ORxChgAYSJgogU0xfUE9MSUNZX01BWF9JTlRGX0xJ", - "TUlUX1JFQUNIRUQQooAGEiQKHlNMX1BPTElDWV9SVUxFX0RFTEVURV9OT19S", - "VUxFUxCjgAYSHgoYU0xfUE9MSUNZX0FQUExZX05PX0lOVEZTEKSABhIgChpT", - "TF9QT0xJQ1lfVU5BUFBMWV9OT19JTlRGUxClgAYSGwoVU0xfUE9MSUNZX1JF", - "UExBQ0VfRVJSEKaABhIgChpTTF9CR1BMU19UT1BPX1NUQVJUX09GRlNFVBCA", - "oAYSIwodU0xfQkdQTFNfU0VSVkVSX05PVF9BVkFJTEFCTEUQgaAGEigKIlNM", - "X0JHUExTX01BWF9NQVRDSF9GSUxURVJfRVhDRUVERUQQgqAGEiMKHVNMX0JH", - "UExTX01BWF9TVFJFQU1TX0VYQ0VFREVEEIOgBhIZChNTTF9CR1BfU1RBUlRf", - "T0ZGU0VUEIDABhIeChhTTF9CR1BfSU5TVF9OQU1FX1RPT0xPTkcQgcAGEhwK", - "FlNMX0JHUF9JTlNUX05BTUVfRU1QVFkQgsAGEiEKG1NMX0JHUF9JTlNUX05P", - "VF9JTklUSUFMSVpFRBCDwAYSHQoXU0xfQkdQX0lOVkFMSURfT0JKX1RZUEUQ", - "hMAGEiAKGlNMX0JHUF9WUkZfTkFNRV9UT09MT05HX1Y0EIXABhIgChpTTF9C", - "R1BfVlJGX05BTUVfVE9PTE9OR19WNhCGwAYSIQobU0xfQkdQX1VOU1VQUE9S", - "VEVEX1ZSRl9OQU1FEIfABhIjCh1TTF9CR1BfSU5WQUxJRF9OQlJfQUREUl9N", - "Q0FTVBCIwAYSIQobU0xfQkdQX0lOVkFMSURfTkJSX0FERFJfRVhQEInABhId", - "ChdTTF9CR1BfSU5WQUxJRF9OQlJfQUREUhCKwAYSHgoYU0xfQkdQX0lOVkFM", - "SURfTkJSX1Y2X1NaEIvABhIcChZTTF9CR1BfSU5WQUxJRF9OQlJfS0VZEIzA", - "BhIlCh9TTF9CR1BfSU5WQUxJRF9NUEFUSF9BRERSX01DQVNUEI3ABhIjCh1T", - "TF9CR1BfSU5WQUxJRF9NUEFUSF9BRERSX0VYUBCOwAYSHwoZU0xfQkdQX0lO", - "VkFMSURfTVBBVEhfQUREUhCPwAYSIAoaU0xfQkdQX0lOVkFMSURfTVBBVEhf", - "VjZfU1oQkMAGEiEKG1NMX0JHUF9JTlZBTElEX05CUlNBRklfTElTVBCRwAYS", - "JQofU0xfQkdQX1VOU1VQUE9SVEVEX0JHUF9BRklfU0FGSRCSwAYSHAoWU0xf", - "QkdQX1VOU1VQUE9SVEVEX0FGSRCTwAYSHQoXU0xfQkdQX1VOU1VQUE9SVEVE", - "X1NBRkkQlMAGEhoKFFNMX0JHUF9FTVBUWV9PQkpFQ1RTEJXABhIeChhTTF9C", - "R1BfRU1QVFlfT0JKRUNUX0xJU1QQlsAGEiEKG1NMX0JHUF9VUERBVEVfQldf", - "R1JQX0ZBSUxFRBCXwAYSJQofU0xfQkdQX1VQREFURV9NUEFUSF9BRERSX0ZB", - "SUxFRBCYwAYSIQobU0xfQkdQX0RFTEVURV9CV19HUlBfRkFJTEVEEJnABhIe", - "ChhTTF9CR1BfREVMRVRFX05CUl9GQUlMRUQQmsAGEh4KGFNMX0JHUF9ERUxF", - "VEVfQUZJX0ZBSUxFRBCbwAYSJQofU0xfQkdQX0RFTEVURV9NUEFUSF9BRERS", - "X0ZBSUxFRBCcwAYSGgoUU0xfQkdQX0RFTEVURV9GQUlMRUQQncAGEiQKHlNM", - "X0JHUF9CV19HUlBfTlVNX09VVF9PRl9SQU5HRRCewAYSJQofU0xfQkdQX0lO", - "X0JXX0dSUF9DT1VOVF9FWENFRURFRBCfwAYSJgogU0xfQkdQX09VVF9CV19H", - "UlBfQ09VTlRfRVhDRUVERUQQoMAGEiIKHFNMX0JHUF9JTlZBTElEX0lOX0JX", - "R1JQX0xJU1QQocAGEiMKHVNMX0JHUF9JTlZBTElEX09VVF9CV0dSUF9MSVNU", - "EKLABhIhChtTTF9CR1BfTElOS19CV19PVVRfT0ZfUkFOR0UQo8AGEiEKG1NM", - "X0JHUF9OQlJfSURYX09VVF9PRl9SQU5HRRCkwAYSHAoWU0xfQkdQX0lOVkFM", - "SURfQldfVFlQRRClwAYSHQoXU0xfQkdQX0JXX0dSUF9MSVNUX05VTEwQpsAG", - "Eh4KGFNMX0JHUF9OQlJTQUZJX0xJU1RfTlVMTBCnwAYSJQofU0xfQkdQX0lO", - "U1RfTk9UX0NPTkZJR19JTl9TTEFQSRCowAYSJgogU0xfQkdQX09CSl9MSVNU", - "X0lEWF9PVVRfT0ZfUkFOR0UQqcAGEh0KF1NMX0JHUF9BU05fT1VUX09GX1JB", - "TkdFEKrABhIcChZTTF9CR1BfSU5WQUxJRF9CV19VTklUEKvABhIhChtTTF9C", - "R1BfT0JKRUNUX1RZUEVfUkVRVUlSRUQQrMAGEiAKGlNMX0JHUF9PQkpFQ1Rf", - "S0VZX1JFUVVJUkVEEK3ABhIgChpTTF9CR1BfSU5WQUxJRF9PQkpFQ1RfVFlQ", - "RRCuwAYSJgogU0xfQkdQX0dFVF9FWEFDVF9NQVRDSF9OT1RfRk9VTkQQr8AG", - "EiMKHVNMX0JHUF9NQVhfTkVJR0hCT1JTX0lOX1NZU0RCELDABhIjCh1TTF9C", - "R1BfTUFYX09CSkVDVFNfSU5fUEFZTE9BRBCxwAYSGwoVU0xfQkdQX0lOVEVS", - "TkFMX0VSUl8xEIHCBhIbChVTTF9CR1BfSU5URVJOQUxfRVJSXzIQgsIGEhsK", - "FVNMX0JHUF9JTlRFUk5BTF9FUlJfMxCDwgYSIQobU0xfU1JURV9QT0xJQ1lf", - "U1RBUlRfT0ZGU0VUEIDgBhIkCh5TTF9TUlRFX1BPTElDWV9SRVFVRVNUX0lO", - "VkFMSUQQgeAGEicKIVNMX1NSVEVfUE9MSUNZX1BPTElDWV9LRVlfSU5WQUxJ", - "RBCC4AYSKAoiU0xfU1JURV9QT0xJQ1lfUE9MSUNZX0FUVFJfSU5WQUxJRBCD", - "4AYSIwodU0xfU1JURV9QT0xJQ1lfQ1BfS0VZX0lOVkFMSUQQhOAGEiQKHlNM", - "X1NSVEVfUE9MSUNZX0NQX0FUVFJfSU5WQUxJRBCF4AYSJAoeU0xfU1JURV9Q", - "T0xJQ1lfQ0xJRU5UX01JU01BVENIEIbgBhIjCh1TTF9TUlRFX1BPTElDWV9T", - "RVJWSUNFX05PVF9VUBCH4AYSJAoeU0xfU1JURV9QT0xJQ1lfRVhDRUVEX01T", - "R19TSVpFEIjgBhIeChhTTF9JTlRFUk5BTF9TVEFSVF9PRkZTRVQQgIBAIjwK", - "C1NMSW50ZXJmYWNlEg4KBE5hbWUYASABKAlIABIQCgZIYW5kbGUYAiABKA1I", - "AEILCglJbnRlcmZhY2UiQgoLU0xJcEFkZHJlc3MSEwoJVjRBZGRyZXNzGAEg", - "ASgNSAASEwoJVjZBZGRyZXNzGAIgASgMSABCCQoHQWRkcmVzcyIgCg1TTElw", - "djZBZGRyZXNzEg8KB2FkZHJlc3MYASABKAwiJwoYU0xBdXRvbm9tb3VzU3lz", - "dGVtTnVtYmVyEgsKA2FzbhgBIAEoDSIlCgpTTE9iamVjdElkEg4KBE5hbWUY", - "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")); + "EJWAARIdChdTTF9ST1VURV9JTlZBTElEX01FVFJJQxCWgAESGgoUU0xfUEFU", + "SF9TVEFSVF9PRkZTRVQQgKABEhkKE1NMX1BBVEhfTkhfTk9fVEFCTEUQgaAB", + "Eh8KGVNMX1BBVEhfTkhfSU5URl9OT1RfRk9VTkQQgqABEiEKG1NMX1BBVEhf", + "SU5WQUxJRF9MQUJFTF9DT1VOVBCDoAESGAoSU0xfUEFUSF9JTlZBTElEX0lE", + "EISgARIeChhTTF9QQVRIX1ZSRl9OQU1FX1RPT0xPTkcQhaABEiIKHFNMX1BB", + "VEhfTkhfSU5URl9OQU1FX1RPT0xPTkcQhqABEiAKGlNMX1BBVEhfTkhfSU5W", + "QUxJRF9BRERSX1NaEIegARIhChtTTF9QQVRIX05IX0lORl9OQU1FX01JU1NJ", + "TkcQiKABEiMKHVNMX1BBVEhfSU5WQUxJRF9ORVhUX0hPUF9BRERSEImgARIn", + "CiFTTF9QQVRIX0lOVkFMSURfUkVNT1RFX0FERFJfQ09VTlQQiqABEiQKHlNM", + "X1BBVEhfUkVNT1RFX0FERFJfSU5WQUxJRF9TWhCLoAESJgogU0xfUEFUSF9S", + "RU1PVEVfQUREUl9BRklfTUlTTUFUQ0gQjKABEiYKIFNMX1BBVEhfSU5WQUxJ", + "RF9QUk9URUNURURfQklUTUFQEI2gARIpCiNTTF9QQVRIX0JBQ0tVUF9NSVNT", + "SU5HX1BSSU1BUllfUEFUSBCOoAESIQobU0xfUEFUSF9QUklNQVJZX0lEX1JF", + "UEVBVEVEEI+gARIgChpTTF9QQVRIX0JBQ0tVUF9JRF9SRVBFQVRFRBCQoAES", + "KgokU0xfUEFUSF9QUklNQVJZX1RPT01BTllfQkFDS1VQX1BBVEhTEJGgARIk", + "Ch5TTF9QQVRIX1BSSU1BUllfVE9PTUFOWV9MQUJFTFMQkqABEikKI1NMX1BB", + "VEhfUFJJTUFSWV9UT09NQU5ZX1JFTU9URV9BRERSEJOgARIhChtTTF9QQVRI", + "X1JFTU9URV9BRERSX0lOVkFMSUQQlKABEhsKFVNMX1BBVEhfSU5WQUxJRF9M", + "QUJFTBCVoAESKAoiU0xfUEFUSF9ST1VURVJfTUFDX0FERFJfSU5WQUxJRF9T", + "WhCWoAESIwodU0xfUEFUSF9CQUNLVVBfVE9PTUFOWV9MQUJFTFMQl6ABEhkK", + "E1NMX1BBVEhfSU5WQUxJRF9WTkkQmKABEiAKGlNMX1BBVEhfSU5WQUxJRF9F", + "TkNBUF9BRERSEJmgARIoCiJTTF9QQVRIX0VOQ0FQX1NSQ19EU1RfQUZJX01J", + "U01BVENIEJqgARIbChVTTF9QQVRIX1JUUl9NQUNfTk9TVVAQm6ABEiEKG1NM", + "X1BBVEhfRU5DQVBfVFlQRV9NSVNNQVRDSBCcoAESJQofU0xfUEFUSF9JTlZB", + "TElEX1BBVEhfTElTVF9NT0RFTBCdoAESJAoeU0xfUEFUSF9QUklNQVJZX0lO", + "REVYX1JFUEVBVEVEEJ6gARIoCiJTTF9QQVRIX1BSSU1BUllfSU5ERVhfT1VU", + "X09GX1JBTkdFEJ+gARInCiFTTF9QQVRIX0JBQ0tVUF9JTkRFWF9PVVRfT0Zf", + "UkFOR0UQoKABEikKI1NMX1BBVEhfQkFDS1VQX0ZMQUdHRURfVU5SRUZFUkVO", + "Q0VEEKGgARIpCiNTTF9QQVRIX0JBQ0tVUF9JTkRFWF9TRUxGX1JFRkVSRU5D", + "RRCioAESHQoXU0xfUlBDX0JGRF9TVEFSVF9PRkZTRVQQgMABEiYKIFNMX1JQ", + "Q19CRkRfVE9PX01BTllfQkZEX1NFU1NJT05TEIHAARIiChxTTF9SUENfQkZE", + "X0FQSV9CQURfUEFSQU1FVEVSEILAARIqCiRTTF9SUENfQkZEX0FQSV9DTElF", + "TlRfTk9UX1JFR0lTVEVSRUQQg8ABEiMKHVNMX1JQQ19CRkRfQVBJX0lOVEVS", + "TkFMX0VSUk9SEITAARInCiFTTF9SUENfQkZEX1NFUlZFUl9OT1RfSU5JVElB", + "TElaRUQQhcABEiIKHFNMX1JQQ19CRkRfVjRfTk9UX1JFR0lTVEVSRUQQhsAB", + "EiIKHFNMX1JQQ19CRkRfVjZfTk9UX1JFR0lTVEVSRUQQh8ABEhkKE1NMX0JG", + "RF9TVEFSVF9PRkZTRVQQgOABEh4KGFNMX0JGRF9JTlRGX05BTUVfVE9PTE9O", + "RxCB4AESGwoVU0xfQkZEX0lOVEZfTk9UX0ZPVU5EEILgARIeChhTTF9CRkRf", + "SU5WQUxJRF9BVFRSSUJVVEUQg+ABEh4KGFNMX0JGRF9JTlRGX05BTUVfTUlT", + "U0lORxCE4AESHgoYU0xfQkZEX0lOVkFMSURfTkJSX01DQVNUEIXgARIYChJT", + "TF9CRkRfSU5WQUxJRF9OQlIQhuABEh0KF1NMX0JGRF9WUkZfTkFNRV9UT09M", + "T05HEIfgARIaChRTTF9CRkRfQkFEX1BBUkFNRVRFUhCI4AESHwoZU0xfQkZE", + "X0FQSV9JTlRFUk5BTF9FUlJPUhCJ4AESGgoUU0xfQkZEX1ZSRl9OT1RfRk9V", + "TkQQiuABEiAKGlNMX0JGRF9JTlZBTElEX1BSRUZJWF9TSVpFEIvgARIhChtT", + "TF9CRkRfSU5WQUxJRF9TRVNTSU9OX1RZUEUQjOABEhgKElNMX0JGRF9JTlZB", + "TElEX1ZSRhCN4AESHgoYU0xfQkZEX1NFU1NJT05fTk9UX0ZPVU5EEI7gARIb", + "ChVTTF9CRkRfU0VTU0lPTl9FWElTVFMQj+ABEh4KGFNMX0JGRF9JTlRFUk5B", + "TF9EQl9FUlJPUhCQ4AESGwoVU0xfQkZEX1JFQ09WRVJZX0VSUk9SEJHgARIe", + "ChhTTF9SUENfTVBMU19TVEFSVF9PRkZTRVQQgIACEiMKHVNMX1JQQ19NUExT", + "X0lMTV9UT09fTUFOWV9JTE1TEIGAAhIoCiJTTF9SUENfTVBMU19TRVJWRVJf", + "Tk9UX0lOSVRJQUxJWkVEEIKAAhIoCiJTTF9SUENfTVBMU19JTklUX01PREVf", + "SU5DT01QQVRJQkxFEIOAAhIvCilTTF9SUENfTVBMU19MQUJFTF9CTEtfVE9P", + "X01BTllfTEFCRUxfQkxLUxCEgAISIAoaU0xfUlBDX01QTFNfTk9UX1JFR0lT", + "VEVSRUQQhYACEhcKEVNMX0lMTV9FUlJfT0ZGU0VUEICgAhIXChFTTF9JTE1f", + "QUREX0ZBSUxFRBCBoAISGwoVU0xfSUxNX0xTRF9BRERfRkFJTEVEEIKgAhIe", + "ChhTTF9JTE1fSU5WQUxJRF9OVU1fTkhMRkUQg6ACEhoKFFNMX0lMTV9JTlZB", + "TElEX0xBQkVMEISgAhIaChRTTF9JTE1fREVMRVRFX0ZBSUxFRBCFoAISHgoY", + "U0xfSUxNX0xTRF9ERUxFVEVfRkFJTEVEEIagAhIjCh1TTF9JTE1fVE9PTUFO", + "WV9QUklNQVJZX05ITEZFUxCHoAISIgocU0xfSUxNX1RPT01BTllfQkFDS1VQ", + "X05ITEZFUxCIoAISJwohU0xfSUxNX0xTRF9BRERfTEFCRUxfQUxMT0NfRkFJ", + "TEVEEImgAhIlCh9TTF9JTE1fTFNEX05ITEZFX0lOVkFMSURfQVRUUklCEIqg", + "AhITCg1TTF9JTE1fRUVYSVNUEIugAhIVCg9TTF9JTE1fREJfTk9NRU0QjKAC", + "Eh0KF1NMX0lMTV9JTlZBTElEX0VMU1BfRVhQEI2gAhIpCiNTTF9JTE1fRUxT", + "UF9FWFBfT1JfREZMVF9BTFJFQURZX1NFVBCOoAISGQoTU0xfSUxNX0FERF9O", + "T19QQVRIUxCPoAISHAoWU0xfSUxNX1VQREFURV9OT19QQVRIUxCQoAISHQoX", + "U0xfSUxNX1VOU1VQUE9SVEVEX0VMU1AQkaACEiYKIFNMX0lMTV9MQUJFTF9U", + "T09NQU5ZX0VYUF9DTEFTU0VTEJKgAhIfChlTTF9JTE1fUkVQTEFZX0ZBVEFM", + "X0VSUk9SEJOgAhIWChBTTF9JTE1fUkVQTEFZX09LEJSgAhIfChlTTF9JTE1f", + "SU5WQUxJRF9QUkVGSVhfTEVOEJWgAhIaChRTTF9JTE1fSE9TVF9CSVRTX1NF", + "VBCWoAISHgoYU0xfSUxNX0lOVkFMSURfUFJFRklYX1NaEJegAhIbChVTTF9J", + "TE1fSU5WQUxJRF9QUkVGSVgQmKACEiEKG1NMX0lMTV9JTlZBTElEX1BSRUZJ", + "WF9NQ0FTVBCZoAISHQoXU0xfSUxNX1ZSRl9OQU1FX1RPT0xPTkcQoKACEhwK", + "FlNMX0lMTV9WUkZfTk9fVEFCTEVfSUQQoaACEh0KF1NMX0lMTV9WUkZfTkFN", + "RV9NSVNTSU5HEKKgAhIZChNTTF9OSExGRV9FUlJfT0ZGU0VUEIDAAhIaChRT", + "TF9OSExGRV9OSF9OT19UQUJMRRCBwAISIQobU0xfTkhMRkVfTkhfSU5WQUxJ", + "RF9BRERSX1NaEILAAhIkCh5TTF9OSExGRV9JTlZBTElEX05FWFRfSE9QX0FE", + "RFIQg8ACEh8KGVNMX05ITEZFX1ZSRl9OQU1FX1RPT0xPTkcQhMACEiIKHFNM", + "X05ITEZFX05IX0lORl9OQU1FX01JU1NJTkcQhcACEiMKHVNMX05ITEZFX05I", + "X0lOVEZfTkFNRV9UT09MT05HEIbAAhIiChxTTF9OSExGRV9JTlZBTElEX0xB", + "QkVMX0NPVU5UEIfAAhIeChhTTF9OSExGRV9JTlZBTElEX1BBVEhfSUQQiMAC", + "EhwKFlNMX05ITEZFX0lOVkFMSURfTEFCRUwQicACEicKIVNMX05ITEZFX0lO", + "VkFMSURfUFJPVEVDVEVEX0JJVE1BUBCKwAISKAoiU0xfTkhMRkVfSU5WQUxJ", + "RF9SRU1PVEVfQUREUl9DT1VOVBCLwAISJQofU0xfTkhMRkVfUkVNT1RFX0FE", + "RFJfSU5WQUxJRF9TWhCMwAISJQofU0xfTkhMRkVfUFJJTUFSWV9UT09NQU5Z", + "X0xBQkVMUxCNwAISKgokU0xfTkhMRkVfUFJJTUFSWV9UT09NQU5ZX1JFTU9U", + "RV9BRERSEI7AAhIhChtTTF9OSExGRV9CQUNLVVBfSURfUkVQRUFURUQQj8AC", + "EiIKHFNMX05ITEZFX1BSSU1BUllfSURfUkVQRUFURUQQkMACEiwKJlNMX05I", + "TEZFX0JBQ0tVUF9QUk9URUNURURfQklUTUFQX0VNUFRZEJHAAhIrCiVTTF9O", + "SExGRV9QUklNQVJZX1RPT01BTllfQkFDS1VQX1BBVEhTEJLAAhIiChxTTF9O", + "SExGRV9SRU1PVEVfQUREUl9JTlZBTElEEJPAAhIqCiRTTF9OSExGRV9CQUNL", + "VVBfTUlTU0lOR19QUklNQVJZX1BBVEgQlMACEh8KGVNMX05ITEZFX05FWFRf", + "SE9QX01JU1NJTkcQlcACEiMKHVNMX05ITEZFX0xBQkVMX0FDVElPTl9JTlZB", + "TElEEJbAAhIgChpTTF9OSExGRV9OSF9JTlRGX05PVF9GT1VORBCXwAISGgoU", + "U0xfTkhMRkVfT1BFUl9GQUlMRUQQmMACEiMKHVNMX05ITEZFX0xBQkVMX0FD", + "VElPTl9NSVNTSU5HEJnAAhIdChdTTF9OSExGRV9FWFBfU0VUX0ZBSUxFRBCa", + "wAISKgokU0xfTkhMRkVfRUxTUF9QUk9URUNUSU9OX1VOU1VQUE9SVEVEEJvA", + "AhIfChlTTF9OSExGRV9JTlZBTElEX0VMU1BfRVhQEJzAAhIkCh5TTF9OSExG", + "RV9JTlZBTElEX1BBVEhfUFJJT1JJVFkQncACEiIKHFNMX05ITEZFX0lOVkFM", + "SURfTE9BRF9NRVRSSUMQnsACEhwKFlNMX05ITEZFX0lOVkFMSURfU0VUSUQQ", + "n8ACEiUKH1NMX05ITEZFX0lOVkFMSURfU0VUSURfUFJJT1JJVFkQoMACEi4K", + "KFNMX05ITEZFX0lOVkFMSURfTVVMVElQTEVfUFJJTUFSWV9TRVRJRFMQocAC", + "EiQKHlNMX05ITEZFX05PTl9DT05USUdVT1VTX1NFVElEUxCiwAISIQobU0xf", + "TkhMRkVfTk9OX0NPTlRJR1VPVVNfRVhQEKPAAhInCiFTTF9OSExGRV9JTkNP", + "TlNJU1RFTlRfRVhQX09OX1BBVEgQpMACEh0KF1NMX0xBQkVMX0JMS19FUlJf", + "T0ZGU0VUEIDgAhIhChtTTF9MQUJFTF9CTEtfTFNEX0FERF9GQUlMRUQQgeAC", + "EiQKHlNMX0xBQkVMX0JMS19MU0RfREVMRVRFX0ZBSUxFRBCC4AISKgokU0xf", + "TEFCRUxfQkxLX0xTRF9MQUJFTF9CTEtfTk9UX0ZPVU5EEIPgAhInCiFTTF9M", + "QUJFTF9CTEtfTFNEX0xBQkVMX0JMS19JTl9VU0UQhOACEiUKH1NMX0xBQkVM", + "X0JMS19MU0RfSU5WQUxJRF9BVFRSSUIQheACEiUKH1NMX0xBQkVMX0JMS19J", + "TlZBTElEX0JMT0NLX1NJWkUQhuACEiYKIFNMX0xBQkVMX0JMS19JTlZBTElE", + "X1NUQVJUX0xBQkVMEIfgAhIZChNTTF9MQUJFTF9CTEtfRUVYSVNUEIjgAhIb", + "ChVTTF9MQUJFTF9CTEtfREJfTk9NRU0QieACEh8KGVNMX0xBQkVMX0JMS19U", + "WVBFX0lOVkFMSUQQiuACEiYKIFNMX0xBQkVMX0JMS19DTElFTlRfTkFNRV9U", + "T09MT05HEIvgAhIcChZTTF9NUExTX1JFR19FUlJfT0ZGU0VUEICAAxIVCg9T", + "TF9NUExTX1JFR19FUlIQgYADEhcKEVNMX01QTFNfVU5SRUdfRVJSEIKAAxIV", + "Cg9TTF9NUExTX0VPRl9FUlIQg4ADEh4KGFNMX1JQQ19JTlRGX1NUQVJUX09G", + "RlNFVBCAoAMSJQofU0xfUlBDX0lOVEZfVE9PX01BTllfSU5URVJGQUNFUxCB", + "oAMSKAoiU0xfUlBDX0lOVEZfU0VSVkVSX05PVF9JTklUSUFMSVpFRBCCoAMS", + "KwolU0xfUlBDX0lOVEZfQVBJX0NMSUVOVF9OT1RfUkVHSVNURVJFRBCDoAMS", + "GgoUU0xfSU5URl9TVEFSVF9PRkZTRVQQgMADEiQKHlNMX0lOVEZfSU5URVJG", + "QUNFX05BTUVfTUlTU0lORxCBwAMSJAoeU0xfSU5URl9JTlRFUkZBQ0VfTkFN", + "RV9UT09MT05HEILAAxIfChlTTF9JTlRGX0lOVEVSRkFDRV9SRUdfRVJSEIPA", + "AxIfChlTTF9JTlRGX0lOVEVSTkFMX0RCX0VSUk9SEITAAxIcChZTTF9JTlRG", + "X1JFQ09WRVJZX0VSUk9SEIXAAxIeChhTTF9JTlRGX0lOVEVSRkFDRV9FWElT", + "VFMQhsADEiEKG1NMX0lOVEZfSU5URVJGQUNFX05PVF9GT1VORBCHwAMSKwol", + "U0xfSU5URl9JTlRFUkZBQ0VfU1RBVEVfTk9UX1NVUFBPUlRFRBCIwAMSHAoW", + "U0xfTDJfUkVHX1NUQVJUX09GRlNFVBCA4AMSHAoWU0xfTDJfUkVHSVNUUkFU", + "SU9OX0VSUhCB4AMSHgoYU0xfTDJfVU5SRUdJU1RSQVRJT05fRVJSEILgAxIT", + "Cg1TTF9MMl9FT0ZfRVJSEIPgAxImCiBTTF9MMl9SRUdfSU5WQUxJRF9BRE1J", + "Tl9ESVNUQU5DRRCE4AMSHAoWU0xfTDJfUkVHX0lTX0RVUExJQ0FURRCF4AMS", + "JgogU0xfTDJfUkVHX1NFUlZFUl9OT1RfSU5JVElBTElaRUQQhuADEiMKHVNM", + "X1JQQ19MMl9CRF9SRUdfU1RBUlRfT0ZGU0VUEICABBIjCh1TTF9SUENfTDJf", + "QkRfUkVHX05BTUVfTUlTU0lORxCBgAQSJAoeU0xfUlBDX0wyX0JEX1JFR19U", + "T09fTUFOWV9NU0dTEIKABBItCidTTF9SUENfTDJfQkRfUkVHX1NFUlZFUl9O", + "T1RfSU5JVElBTElaRUQQg4AEEiwKJlNMX1JQQ19MMl9CRF9SRUdfQ0xJRU5U", + "X05PVF9SRUdJU1RFUkVEEISABBIfChlTTF9MMl9CRF9SRUdfU1RBUlRfT0ZG", + "U0VUEICgBBIfChlTTF9MMl9CRF9SRUdJU1RSQVRJT05fRVJSEIGgBBIhChtT", + "TF9MMl9CRF9VTlJFR0lTVFJBVElPTl9FUlIQgqAEEhYKEFNMX0wyX0JEX0VP", + "Rl9FUlIQg6AEEiAKGlNMX0wyX0JEX1JFR19OQU1FX1RPT19MT05HEISgBBIf", + "ChlTTF9MMl9CRF9SRUdfQkRfTk9UX0ZPVU5EEIWgBBIiChxTTF9SUENfTDJf", + "Uk9VVEVfU1RBUlRfT0ZGU0VUEIDABBIjCh1TTF9SUENfTDJfUk9VVEVfVE9P", + "X01BTllfTVNHUxCBwAQSLAomU0xfUlBDX0wyX1JPVVRFX1NFUlZFUl9OT1Rf", + "SU5JVElBTElaRUQQgsAEEisKJVNMX1JQQ19MMl9ST1VURV9DTElFTlRfTk9U", + "X1JFR0lTVEVSRUQQg8AEEh4KGFNMX0wyX1JPVVRFX1NUQVJUX09GRlNFVBCA", + "4AQSIQobU0xfTDJfUk9VVEVfQkRfTkFNRV9NSVNTSU5HEIHgBBIhChtTTF9M", + "Ml9ST1VURV9CRF9OQU1FX1RPT0xPTkcQguAEEh4KGFNMX0wyX1JPVVRFX0JE", + "X05PVF9GT1VORBCD4AQSIwodU0xfTDJfUk9VVEVfQkRfTk9UX1JFR0lTVEVS", + "RUQQhOAEEh4KGFNMX0wyX1JPVVRFX0lOVkFMSURfQVJHUxCF4AQSIgocU0xf", + "UlBDX0wyX05PVElGX1NUQVJUX09GRlNFVBCBgAUSLAomU0xfUlBDX0wyX05P", + "VElGX1NFUlZFUl9OT1RfSU5JVElBTElaRUQQgoAFEisKJVNMX1JQQ19MMl9O", + "T1RJRl9DTElFTlRfTk9UX1JFR0lTVEVSRUQQg4AFEiAKGlNMX1JQQ19MMl9O", + "T1RJRl9FTkFCTEVfRVJSEISABRIhChtTTF9SUENfTDJfTk9USUZfRElTQUJM", + "RV9FUlIQhYAFEh0KF1NMX1JQQ19MMl9OT1RJRl9FT0ZfRVJSEIaABRIlCh9T", + "TF9SUENfTDJfTk9USUZfQkRfTkFNRV9NSVNTSU5HEIeABRIlCh9TTF9SUENf", + "TDJfTk9USUZfQkRfTkFNRV9UT09MT05HEIiABRIiChxTTF9SUENfTDJfTk9U", + "SUZfQkRfTk9UX0ZPVU5EEImABRIXChFTTF9QR19WUkZfQUREX0VSUhCBoAUS", + "GAoSU0xfUEdfVlJGX05PX1ZSRklEEIKgBRIbChVTTF9QR19TVFJfS0VZX1RP", + "T0xPTkcQg6AFEh8KGVNMX1BHX1RBUkdFVF9WUkZfTk9fVlJGSUQQhKAFEhsK", + "FVNMX1BHX1NUUl9LRVlfSU5WQUxJRBCFoAUSHgoYU0xfTkVYVF9IT1BfU1RB", + "UlRfT0ZGU0VUEIDABRIkCh5TTF9ORVhUX0hPUF9JTlZBTElEX1BSRUZJWF9M", + "RU4QgcAFEh8KGVNMX05FWFRfSE9QX0hPU1RfQklUU19TRVQQgsAFEiYKIFNM", + "X05FWFRfSE9QX0lOVkFMSURfUFJFRklYX01DQVNUEIPABRIgChpTTF9ORVhU", + "X0hPUF9JTlZBTElEX1BSRUZJWBCEwAUSJwohU0xfTkVYVF9IT1BfSU5WQUxJ", + "RF9ORVhUX0hPUF9BRERSEIXABRIjCh1TTF9ORVhUX0hPUF9JTlZBTElEX1BS", + "RUZJWF9TWhCGwAUSIAoaU0xfTkVYVF9IT1BfUklCX0FERF9GQUlMRUQQh8AF", + "EiQKHlNMX1JPVVRFX1JFRElTVF9SSUJfQUREX0ZBSUxFRBCIwAUSGQoTU0xf", + "QUNLX1NUQVJUX09GRlNFVBCA4AUSIQobU0xfQUNLX1BFUk1JVF9OT1RfU1VQ", + "UE9SVEVEEIHgBRIZChNTTF9BQ0tfSU5WQUxJRF9UWVBFEILgBRIcChZTTF9Q", + "T0xJQ1lfU1RBUlRfT0ZGU0VUEICABhIXChFTTF9QT0xJQ1lfQUREX0VSUhCB", + "gAYSGgoUU0xfUE9MSUNZX0VYSVNUU19FUlIQgoAGEhoKFFNMX1BPTElDWV9E", + "RUxFVEVfRVJSEIOABhIcChZTTF9QT0xJQ1lfUlVMRV9BRERfRVJSEISABhIf", + "ChlTTF9QT0xJQ1lfUlVMRV9FWElTVFNfRVJSEIWABhIfChlTTF9QT0xJQ1lf", + "UlVMRV9ERUxFVEVfRVJSEIaABhIZChNTTF9QT0xJQ1lfQVBQTFlfRVJSEIeA", + "BhIbChVTTF9QT0xJQ1lfVU5BUFBMWV9FUlIQiIAGEiEKG1NMX1BPTElDWV9U", + "T09fTUFOWV9QT0xJQ0lFUxCJgAYSHQoXU0xfUE9MSUNZX05BTUVfVE9PX0xP", + "TkcQioAGEiIKHFNMX1BPTElDWV9SVUxFX05BTUVfVE9PX0xPTkcQi4AGEioK", + "JFNMX1BPTElDWV9EVVBMSUNBVEVfUFJJT1JJVFlfSU5fUlVMRRCMgAYSJAoe", + "U0xfUE9MSUNZX1JVTEVfTU9EX05PVF9BTExPV0VEEI2ABhIcChZTTF9QT0xJ", + "Q1lfSU5WQUxJRF9SVUxFEI6ABhIhChtTTF9QT0xJQ1lfUlVMRV9BRERfTk9f", + "UlVMRVMQj4AGEisKJVNMX1BPTElDWV9JTlZBTElEX01BVENIX0NPVU5UX0lO", + "X1JVTEUQkIAGEiwKJlNMX1BPTElDWV9JTlZBTElEX0FDVElPTl9DT1VOVF9J", + "Tl9SVUxFEJGABhIZChNTTF9QT0xJQ1lfTk9UX0ZPVU5EEJKABhIXChFTTF9Q", + "T0xJQ1lfSU5WQUxJRBCTgAYSHAoWU0xfUE9MSUNZX05BTUVfTUlTU0lORxCU", + "gAYSIQobU0xfUE9MSUNZX1JVTEVfTkFNRV9NSVNTSU5HEJWABhIoCiJTTF9Q", + "T0xJQ1lfUFJJT1JJVFlfTUlTU0lOR19JTl9SVUxFEJaABhIcChZTTF9QT0xJ", + "Q1lfVFlQRV9JTlZBTElEEJeABhIhChtTTF9QT0xJQ1lfSU5WQUxJRF9ESVJF", + "Q1RJT04QmIAGEiEKG1NMX1BPTElDWV9JTlRGX05BTUVfVE9PTE9ORxCZgAYS", + "IQobU0xfUE9MSUNZX0lOVEZfTkFNRV9NSVNTSU5HEJqABhImCiBTTF9QT0xJ", + "Q1lfTUFYX1JVTEVfTElNSVRfUkVBQ0hFRBCbgAYSIQobU0xfUE9MSUNZX1ZS", + "Rl9OQU1FX1RPT19MT05HEJyABhIgChpTTF9QT0xJQ1lfVlJGX05BTUVfTUlT", + "U0lORxCdgAYSJgogU0xfUE9MSUNZX1BBVEhfR1JQX05BTUVfVE9PX0xPTkcQ", + "noAGEiUKH1NMX1BPTElDWV9QQVRIX0dSUF9OQU1FX01JU1NJTkcQn4AGEiIK", + "HFNMX1BPTElDWV9JTlZBTElEX0RTQ1BfVkFMVUUQoIAGEiUKH1NMX1BPTElD", + "WV9QUklPUklUWV9TVFJfVE9PX0xPTkcQoYAGEiYKIFNMX1BPTElDWV9NQVhf", + "SU5URl9MSU1JVF9SRUFDSEVEEKKABhIkCh5TTF9QT0xJQ1lfUlVMRV9ERUxF", + "VEVfTk9fUlVMRVMQo4AGEh4KGFNMX1BPTElDWV9BUFBMWV9OT19JTlRGUxCk", + "gAYSIAoaU0xfUE9MSUNZX1VOQVBQTFlfTk9fSU5URlMQpYAGEhsKFVNMX1BP", + "TElDWV9SRVBMQUNFX0VSUhCmgAYSIAoaU0xfQkdQTFNfVE9QT19TVEFSVF9P", + "RkZTRVQQgKAGEiMKHVNMX0JHUExTX1NFUlZFUl9OT1RfQVZBSUxBQkxFEIGg", + "BhIoCiJTTF9CR1BMU19NQVhfTUFUQ0hfRklMVEVSX0VYQ0VFREVEEIKgBhIj", + "Ch1TTF9CR1BMU19NQVhfU1RSRUFNU19FWENFRURFRBCDoAYSGQoTU0xfQkdQ", + "X1NUQVJUX09GRlNFVBCAwAYSHgoYU0xfQkdQX0lOU1RfTkFNRV9UT09MT05H", + "EIHABhIcChZTTF9CR1BfSU5TVF9OQU1FX0VNUFRZEILABhIhChtTTF9CR1Bf", + "SU5TVF9OT1RfSU5JVElBTElaRUQQg8AGEh0KF1NMX0JHUF9JTlZBTElEX09C", + "Sl9UWVBFEITABhIgChpTTF9CR1BfVlJGX05BTUVfVE9PTE9OR19WNBCFwAYS", + "IAoaU0xfQkdQX1ZSRl9OQU1FX1RPT0xPTkdfVjYQhsAGEiEKG1NMX0JHUF9V", + "TlNVUFBPUlRFRF9WUkZfTkFNRRCHwAYSIwodU0xfQkdQX0lOVkFMSURfTkJS", + "X0FERFJfTUNBU1QQiMAGEiEKG1NMX0JHUF9JTlZBTElEX05CUl9BRERSX0VY", + "UBCJwAYSHQoXU0xfQkdQX0lOVkFMSURfTkJSX0FERFIQisAGEh4KGFNMX0JH", + "UF9JTlZBTElEX05CUl9WNl9TWhCLwAYSHAoWU0xfQkdQX0lOVkFMSURfTkJS", + "X0tFWRCMwAYSJQofU0xfQkdQX0lOVkFMSURfTVBBVEhfQUREUl9NQ0FTVBCN", + "wAYSIwodU0xfQkdQX0lOVkFMSURfTVBBVEhfQUREUl9FWFAQjsAGEh8KGVNM", + "X0JHUF9JTlZBTElEX01QQVRIX0FERFIQj8AGEiAKGlNMX0JHUF9JTlZBTElE", + "X01QQVRIX1Y2X1NaEJDABhIhChtTTF9CR1BfSU5WQUxJRF9OQlJTQUZJX0xJ", + "U1QQkcAGEiUKH1NMX0JHUF9VTlNVUFBPUlRFRF9CR1BfQUZJX1NBRkkQksAG", + "EhwKFlNMX0JHUF9VTlNVUFBPUlRFRF9BRkkQk8AGEh0KF1NMX0JHUF9VTlNV", + "UFBPUlRFRF9TQUZJEJTABhIaChRTTF9CR1BfRU1QVFlfT0JKRUNUUxCVwAYS", + "HgoYU0xfQkdQX0VNUFRZX09CSkVDVF9MSVNUEJbABhIhChtTTF9CR1BfVVBE", + "QVRFX0JXX0dSUF9GQUlMRUQQl8AGEiUKH1NMX0JHUF9VUERBVEVfTVBBVEhf", + "QUREUl9GQUlMRUQQmMAGEiEKG1NMX0JHUF9ERUxFVEVfQldfR1JQX0ZBSUxF", + "RBCZwAYSHgoYU0xfQkdQX0RFTEVURV9OQlJfRkFJTEVEEJrABhIeChhTTF9C", + "R1BfREVMRVRFX0FGSV9GQUlMRUQQm8AGEiUKH1NMX0JHUF9ERUxFVEVfTVBB", + "VEhfQUREUl9GQUlMRUQQnMAGEhoKFFNMX0JHUF9ERUxFVEVfRkFJTEVEEJ3A", + "BhIkCh5TTF9CR1BfQldfR1JQX05VTV9PVVRfT0ZfUkFOR0UQnsAGEiUKH1NM", + "X0JHUF9JTl9CV19HUlBfQ09VTlRfRVhDRUVERUQQn8AGEiYKIFNMX0JHUF9P", + "VVRfQldfR1JQX0NPVU5UX0VYQ0VFREVEEKDABhIiChxTTF9CR1BfSU5WQUxJ", + "RF9JTl9CV0dSUF9MSVNUEKHABhIjCh1TTF9CR1BfSU5WQUxJRF9PVVRfQldH", + "UlBfTElTVBCiwAYSIQobU0xfQkdQX0xJTktfQldfT1VUX09GX1JBTkdFEKPA", + "BhIhChtTTF9CR1BfTkJSX0lEWF9PVVRfT0ZfUkFOR0UQpMAGEhwKFlNMX0JH", + "UF9JTlZBTElEX0JXX1RZUEUQpcAGEh0KF1NMX0JHUF9CV19HUlBfTElTVF9O", + "VUxMEKbABhIeChhTTF9CR1BfTkJSU0FGSV9MSVNUX05VTEwQp8AGEiUKH1NM", + "X0JHUF9JTlNUX05PVF9DT05GSUdfSU5fU0xBUEkQqMAGEiYKIFNMX0JHUF9P", + "QkpfTElTVF9JRFhfT1VUX09GX1JBTkdFEKnABhIdChdTTF9CR1BfQVNOX09V", + "VF9PRl9SQU5HRRCqwAYSHAoWU0xfQkdQX0lOVkFMSURfQldfVU5JVBCrwAYS", + "IQobU0xfQkdQX09CSkVDVF9UWVBFX1JFUVVJUkVEEKzABhIgChpTTF9CR1Bf", + "T0JKRUNUX0tFWV9SRVFVSVJFRBCtwAYSIAoaU0xfQkdQX0lOVkFMSURfT0JK", + "RUNUX1RZUEUQrsAGEiYKIFNMX0JHUF9HRVRfRVhBQ1RfTUFUQ0hfTk9UX0ZP", + "VU5EEK/ABhIjCh1TTF9CR1BfTUFYX05FSUdIQk9SU19JTl9TWVNEQhCwwAYS", + "IwodU0xfQkdQX01BWF9PQkpFQ1RTX0lOX1BBWUxPQUQQscAGEhsKFVNMX0JH", + "UF9JTlRFUk5BTF9FUlJfMRCBwgYSGwoVU0xfQkdQX0lOVEVSTkFMX0VSUl8y", + "EILCBhIbChVTTF9CR1BfSU5URVJOQUxfRVJSXzMQg8IGEiEKG1NMX1NSVEVf", + "UE9MSUNZX1NUQVJUX09GRlNFVBCA4AYSJAoeU0xfU1JURV9QT0xJQ1lfUkVR", + "VUVTVF9JTlZBTElEEIHgBhInCiFTTF9TUlRFX1BPTElDWV9QT0xJQ1lfS0VZ", + "X0lOVkFMSUQQguAGEigKIlNMX1NSVEVfUE9MSUNZX1BPTElDWV9BVFRSX0lO", + "VkFMSUQQg+AGEiMKHVNMX1NSVEVfUE9MSUNZX0NQX0tFWV9JTlZBTElEEITg", + "BhIkCh5TTF9TUlRFX1BPTElDWV9DUF9BVFRSX0lOVkFMSUQQheAGEiQKHlNM", + "X1NSVEVfUE9MSUNZX0NMSUVOVF9NSVNNQVRDSBCG4AYSIwodU0xfU1JURV9Q", + "T0xJQ1lfU0VSVklDRV9OT1RfVVAQh+AGEiQKHlNMX1NSVEVfUE9MSUNZX0VY", + "Q0VFRF9NU0dfU0laRRCI4AYSHwoZU0xfUEVSRl9NRUFTX1NUQVJUX09GRlNF", + "VBCAgAcSKAoiU0xfUEVSRl9NRUFTX1NFU1NJT05fQ1JFQVRFX0ZBSUxFRBCB", + "gAcSKAoiU0xfUEVSRl9NRUFTX1NFU1NJT05fREVMRVRFX0ZBSUxFRBCCgAcS", + "KwolU0xfUEVSRl9NRUFTX1NFU1NJT05fR0VUX1NUQVRTX0ZBSUxFRBCDgAcS", + "KgokU0xfUEVSRl9NRUFTX1NFU1NJT05fR0VUX0lORk9fRkFJTEVEEISABxIi", + "ChxTTF9QRVJGX01FQVNfSU5WQUxJRF9SRVFVRVNUEIWABxInCiFTTF9QRVJG", + "X01FQVNfRkxVU0hfTUFYX1JUVF9GQUlMRUQQhoAHEjoKNFNMX1BFUkZfTUVB", + "U19TRVNTSU9OX0NSRUFURV9GQUlMRURfSU5WQUxJRF9TT1VSQ0VfSVAQh4AH", + "EjgKMlNMX1BFUkZfTUVBU19TRVNTSU9OX0NSRUFURV9GQUlMRURfSU5WQUxJ", + "RF9ERVNUX0lQEIiABxI7CjVTTF9QRVJGX01FQVNfU0VTU0lPTl9DUkVBVEVf", + "RkFJTEVEX0lOVkFMSURfTkVYVEhPUF9JUBCJgAcSPAo2U0xfUEVSRl9NRUFT", + "X1NFU1NJT05fQ1JFQVRFX0ZBSUxFRF9JTlZBTElEX0xBQkVMX1NUQUNLEIqA", + "BxI/CjlTTF9QRVJGX01FQVNfU0VTU0lPTl9DUkVBVEVfRkFJTEVEX0lOVkFM", + "SURfUFJPQkVfSU5URVJWQUwQi4AHEj4KOFNMX1BFUkZfTUVBU19TRVNTSU9O", + "X0NSRUFURV9GQUlMRURfSU5WQUxJRF9USU1FT1VUX0NPVU5UEIyABxI1Ci9T", + "TF9QRVJGX01FQVNfU0VTU0lPTl9DUkVBVEVfRkFJTEVEX0lOVkFMSURfRFND", + "UBCNgAcSOgo0U0xfUEVSRl9NRUFTX1NFU1NJT05fQ1JFQVRFX0ZBSUxFRF9J", + "TlZBTElEX0lOVEVSRkFDRRCOgAcSNwoxU0xfUEVSRl9NRUFTX1NFU1NJT05f", + "Q1JFQVRFX0ZBSUxFRF9QTV9TRU5EX0ZBSUxFRBCPgAcSNwoxU0xfUEVSRl9N", + "RUFTX1NFU1NJT05fQ1JFQVRFX0ZBSUxFRF9JTlRFUk5BTF9FUlJPUhCQgAcS", + "NwoxU0xfUEVSRl9NRUFTX1NFU1NJT05fREVMRVRFX0ZBSUxFRF9QTV9TRU5E", + "X0ZBSUxFRBCRgAcSNwoxU0xfUEVSRl9NRUFTX1NFU1NJT05fREVMRVRFX0ZB", + "SUxFRF9JTlRFUk5BTF9FUlJPUhCSgAcSOgo0U0xfUEVSRl9NRUFTX1NFU1NJ", + "T05fR0VUX1NUQVRTX0ZBSUxFRF9QTV9TRU5EX0ZBSUxFRBCTgAcSOgo0U0xf", + "UEVSRl9NRUFTX1NFU1NJT05fR0VUX1NUQVRTX0ZBSUxFRF9JTlRFUk5BTF9F", + "UlJPUhCUgAcSOQozU0xfUEVSRl9NRUFTX1NFU1NJT05fR0VUX0lORk9fRkFJ", + "TEVEX1BNX1NFTkRfRkFJTEVEEJWABxI5CjNTTF9QRVJGX01FQVNfU0VTU0lP", + "Tl9HRVRfSU5GT19GQUlMRURfSU5URVJOQUxfRVJST1IQloAHEjYKMFNMX1BF", + "UkZfTUVBU19GTFVTSF9NQVhfUlRUX0ZBSUxFRF9QTV9TRU5EX0ZBSUxFRBCX", + "gAcSNgowU0xfUEVSRl9NRUFTX0ZMVVNIX01BWF9SVFRfRkFJTEVEX0lOVEVS", + "TkFMX0VSUk9SEJiABxI6CjRTTF9QRVJGX01FQVNfU0VTU0lPTl9ERUxFVEVf", + "RkFJTEVEX1NFU1NJT05fTk9UX0ZPVU5EEJmABxI9CjdTTF9QRVJGX01FQVNf", + "U0VTU0lPTl9HRVRfU1RBVFNfRkFJTEVEX1NFU1NJT05fTk9UX0ZPVU5EEJqA", + "BxI8CjZTTF9QRVJGX01FQVNfU0VTU0lPTl9HRVRfSU5GT19GQUlMRURfU0VT", + "U0lPTl9OT1RfRk9VTkQQm4AHEjkKM1NMX1BFUkZfTUVBU19GTFVTSF9NQVhf", + "UlRUX0ZBSUxFRF9TRVNTSU9OX05PVF9GT1VORBCcgAcSPQo3U0xfUEVSRl9N", + "RUFTX1NFU1NJT05fQ1JFQVRFX0ZBSUxFRF9JTlZBTElEX1NFU1NJT05fTkFN", + "RRCdgAcSOwo1U0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFMX0VSUk9SX1NFUlZF", + "Ul9OT1RfSU5JVElBTElaRUQQnoAHEjUKL1NMX1BFUkZfTUVBU19QTV9JTlRF", + "Uk5BTF9FUlJPUl9DTElFTlRfTk9UX0ZPVU5EEJ+ABxI5CjNTTF9QRVJGX01F", + "QVNfUE1fSU5URVJOQUxfRVJST1JfQ0xJRU5UX05PVF9DT05ORUNURUQQoIAH", + "EjUKL1NMX1BFUkZfTUVBU19QTV9JTlRFUk5BTF9FUlJPUl9NU0dfQUxMT0Nf", + "RkFJTEVEEKGABxI8CjZTTF9QRVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1Jf", + "UEFSQU1fU0VTU19OQU1FX0lOVkFMSUQQooAHEkEKO1NMX1BFUkZfTUVBU19Q", + "TV9JTlRFUk5BTF9FUlJPUl9QQVJBTV9QUk9CRV9JTlRFUlZBTF9JTlZBTElE", + "EKOABxJACjpTTF9QRVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1JfUEFSQU1f", + "VElNRU9VVF9DT1VOVF9JTlZBTElEEKSABxI7CjVTTF9QRVJGX01FQVNfUE1f", + "SU5URVJOQUxfRVJST1JfUEFSQU1fVE9TX0RTQ1BfSU5WQUxJRBClgAcSPQo3", + "U0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFMX0VSUk9SX1BBUkFNX05VTV9MQUJF", + "TFNfSU5WQUxJRBCmgAcSPQo3U0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFMX0VS", + "Uk9SX1BBUkFNX1NSQ19BRERSX05PVF9GT1VORBCngAcSPgo4U0xfUEVSRl9N", + "RUFTX1BNX0lOVEVSTkFMX0VSUk9SX1BBUkFNX0RFU1RfQUREUl9OT1RfRk9V", + "TkQQqIAHEjwKNlNMX1BFUkZfTUVBU19QTV9JTlRFUk5BTF9FUlJPUl9QQVJB", + "TV9ORVhUSE9QX05PVF9GT1VORBCpgAcSOwo1U0xfUEVSRl9NRUFTX1BNX0lO", + "VEVSTkFMX0VSUk9SX1BBUkFNX1NSQ19BRERSX0lOVkFMSUQQqoAHEjwKNlNM", + "X1BFUkZfTUVBU19QTV9JTlRFUk5BTF9FUlJPUl9QQVJBTV9ERVNUX0FERFJf", + "SU5WQUxJRBCrgAcSOgo0U0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFMX0VSUk9S", + "X1BBUkFNX05FWFRIT1BfSU5WQUxJRBCsgAcSPQo3U0xfUEVSRl9NRUFTX1BN", + "X0lOVEVSTkFMX0VSUk9SX1BBUkFNX0FERFJfVFlQRV9NSVNNQVRDSBCtgAcS", + "QAo6U0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFMX0VSUk9SX1BBUkFNX09VVF9J", + "TlRGX05BTUVfSU5WQUxJRBCugAcSOgo0U0xfUEVSRl9NRUFTX1BNX0lOVEVS", + "TkFMX0VSUk9SX01TR19TRVNTX05BTUVfTUlTU0lORxCvgAcSPwo5U0xfUEVS", + "Rl9NRUFTX1BNX0lOVEVSTkFMX0VSUk9SX01TR19MSVZFTkVTU19TVEFURV9N", + "SVNTSU5HELCABxI4CjJTTF9QRVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1Jf", + "U1lTVEVNX0lOQ09OU0lTVEVOVBCxgAcSMwotU0xfUEVSRl9NRUFTX1BNX0lO", + "VEVSTkFMX0VSUk9SX0lOVkFMSURfUEFSQU1TELKABxI2CjBTTF9QRVJGX01F", + "QVNfUE1fSU5URVJOQUxfRVJST1JfSU1fSUZIX0dFVF9GQUlMRUQQs4AHEjUK", + "L1NMX1BFUkZfTUVBU19QTV9JTlRFUk5BTF9FUlJPUl9NQUNfQUREUl9JTlZB", + "TElEELSABxI1Ci9TTF9QRVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1JfRFJf", + "Q1JFQVRFX0ZBSUxFRBC1gAcSNQovU0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFM", + "X0VSUk9SX0RSX1VQREFURV9GQUlMRUQQtoAHEjUKL1NMX1BFUkZfTUVBU19Q", + "TV9JTlRFUk5BTF9FUlJPUl9EUl9TRVNTSU9OX05PTUVNELeABxI9CjdTTF9Q", + "RVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1JfRFJfU0VTU0lPTl9JTlNFUlRf", + "RkFJTEVEELiABxI3CjFTTF9QRVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1Jf", + "TlBVX09GRkxPQURfRkFJTEVEELmABxI2CjBTTF9QRVJGX01FQVNfUE1fSU5U", + "RVJOQUxfRVJST1JfQ1BVX0NSRUFURV9GQUlMRUQQuoAHEjkKM1NMX1BFUkZf", + "TUVBU19QTV9JTlRFUk5BTF9FUlJPUl9TRVNTSU9OX1NFVFVQX0ZBSUxFRBC7", + "gAcSMwotU0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFMX0VSUk9SX0lOVEZfTk9U", + "X0ZPVU5EELyABxIyCixTTF9QRVJGX01FQVNfUE1fSU5URVJOQUxfRVJST1Jf", + "U0NCX05PVF9GT1VORBC9gAcSNwoxU0xfUEVSRl9NRUFTX1BNX0lOVEVSTkFM", + "X0VSUk9SX0xJVkVORVNTX05PVF9GT1VORBC+gAcSOgo0U0xfUEVSRl9NRUFT", + "X1BNX0lOVEVSTkFMX0VSUk9SX0NPVU5URVJfVVBEQVRFX0ZBSUxFRBC/gAcS", + "HgoYU0xfSU5URVJOQUxfU1RBUlRfT0ZGU0VUEICAQCI8CgtTTEludGVyZmFj", + "ZRIOCgROYW1lGAEgASgJSAASEAoGSGFuZGxlGAIgASgNSABCCwoJSW50ZXJm", + "YWNlIkIKC1NMSXBBZGRyZXNzEhMKCVY0QWRkcmVzcxgBIAEoDUgAEhMKCVY2", + "QWRkcmVzcxgCIAEoDEgAQgkKB0FkZHJlc3MiIAoNU0xJcHY2QWRkcmVzcxIP", + "CgdhZGRyZXNzGAEgASgMIicKGFNMQXV0b25vbW91c1N5c3RlbU51bWJlchIL", + "CgNhc24YASABKA0iJQoKU0xPYmplY3RJZBIOCgROYW1lGAEgASgJSABCBwoF", + "ZW50cnkiVAoRU0xQYXRoR3JvdXBSZWZLZXkSDwoHVnJmTmFtZRgBIAEoCRIu", + "CgtQYXRoR3JvdXBJZBgCIAEoCzIZLnNlcnZpY2VfbGF5ZXIuU0xPYmplY3RJ", + "ZCpiCgdTTFJlZ09wEhUKEVNMX1JFR09QX1JFU0VSVkVEEAASFQoRU0xfUkVH", + "T1BfUkVHSVNURVIQARIXChNTTF9SRUdPUF9VTlJFR0lTVEVSEAISEAoMU0xf", + "UkVHT1BfRU9GEAMqXwoKU0xPYmplY3RPcBIVChFTTF9PQkpPUF9SRVNFUlZF", + "RBAAEhAKDFNMX09CSk9QX0FERBABEhMKD1NMX09CSk9QX1VQREFURRACEhMK", + "D1NMX09CSk9QX0RFTEVURRADKlMKCVNMTm90aWZPcBIXChNTTF9OT1RJRk9Q", + "X1JFU0VSVkVEEAASFQoRU0xfTk9USUZPUF9FTkFCTEUQARIWChJTTF9OT1RJ", + "Rk9QX0RJU0FCTEUQAiqJAQoQU0xVcGRhdGVQcmlvcml0eRIYChRTTF9QUklP", + "UklUWV9SRVNFUlZFRBAAEhgKFFNMX1BSSU9SSVRZX0NSSVRJQ0FMEAQSFAoQ", + "U0xfUFJJT1JJVFlfSElHSBAIEhYKElNMX1BSSU9SSVRZX01FRElVTRAMEhMK", + "D1NMX1BSSU9SSVRZX0xPVxAQKksKC1NMRW5jYXBUeXBlEhUKEVNMX0VOQ0FQ", + "X1JFU0VSVkVEEAASEgoOU0xfRU5DQVBfVlhMQU4QARIRCg1TTF9FTkNBUF9N", + "UExTEAIqjQEKC1NMVGFibGVUeXBlEhoKFlNMX1RBQkxFX1RZUEVfUkVTRVJW", + "RUQQABIXChNTTF9JUHY0X1JPVVRFX1RBQkxFEAESFwoTU0xfSVB2Nl9ST1VU", + "RV9UQUJMRRACEhcKE1NMX01QTFNfTEFCRUxfVEFCTEUQAxIXChNTTF9QQVRI", + "X0dST1VQX1RBQkxFEAQqRwoMU0xSc3BBQ0tUeXBlEgsKB1JJQl9BQ0sQABIT", + "Cg9SSUJfQU5EX0ZJQl9BQ0sQARIVChFSSUJfRklCX0lOVVNFX0FDSxACKpQB", + "Cg1TTEFGRmliU3RhdHVzEhIKDlNMX0ZJQl9VTktOT1dOEAASEgoOU0xfRklC", + "X1NVQ0NFU1MQARIRCg1TTF9GSUJfRkFJTEVEEAISFQoRU0xfRklCX0lORUxJ", + "R0lCTEUQAxIYChRTTF9GSUJfSU5VU0VfU1VDQ0VTUxAEEhcKE1NMX0ZJQl9J", + "TlVTRV9GQUlMRUQQBSrCAQoOU0xSc3BBQ0tQZXJtaXQSHAoYU0xfUEVSTUlU", + "X0ZJQl9TVEFUVVNfQUxMEAASGQoVU0xfUEVSTUlUX0ZJQl9TVUNDRVNTEAES", + "GAoUU0xfUEVSTUlUX0ZJQl9GQUlMRUQQAhIcChhTTF9QRVJNSVRfRklCX0lO", + "RUxJR0lCTEUQAxIfChtTTF9QRVJNSVRfRklCX0lOVVNFX1NVQ0NFU1MQBBIe", + "ChpTTF9QRVJNSVRfRklCX0lOVVNFX0ZBSUxFRBAFKmUKD1NMUnNwQWNrQ2Fk", + "ZW5jZRIVChFTTF9SU1BfQ09OVElOVU9VUxAAEhQKEFNMX1JTUF9KVVNUX09O", + "Q0UQARIUChBTTF9SU1BfT05DRV9FQUNIEAISDwoLU0xfUlNQX05PTkUQA0JR", + "Wk9naXRodWIuY29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIvc2VydmljZS1sYXll", + "ci1vYmptb2RlbC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xheWVyYgZwcm90bzM=")); 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.SLAFFibStatus), typeof(global::ServiceLayer.SLRspACKPermit), typeof(global::ServiceLayer.SLRspAckCadence), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -545,10 +636,16 @@ public enum SLRspACKType { /// /// 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. + /// additional response of type SL_FIB_INUSE_SUCCESS or SL_FIB_INUSE_FAILED. + /// SL_FIB_INUSE_SUCCESS indicates that an object has been successfully + /// programmed in FIB and is being actively used by one or more forwarding + /// chains. + /// SL_FIB_INUSE_FAILED indicates that there was a failure in programming at + /// least one of the forwarding chains this object is part of. + /// *Note: SL_FIB_INUSE_FAILED is a terminal state for an object; the object + /// has to be removed and reprogrammed to recover from the + /// SL_FIB_INUSE_FAILED state. + /// RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup. /// [pbr::OriginalName("RIB_FIB_INUSE_ACK")] RibFibInuseAck = 2, } @@ -582,6 +679,12 @@ public enum SLAFFibStatus { /// programmed in hardware. /// [pbr::OriginalName("SL_FIB_INUSE_SUCCESS")] SlFibInuseSuccess = 4, + /// + /// The forwarding chain using this object is not active in hardware + /// as at least one referencing object failed to be + /// programmed in hardware. + /// + [pbr::OriginalName("SL_FIB_INUSE_FAILED")] SlFibInuseFailed = 5, } /// @@ -618,6 +721,10 @@ public enum SLRspACKPermit { /// Permits SL_FIB_INUSE_SUCCESS to be relayed to client /// [pbr::OriginalName("SL_PERMIT_FIB_INUSE_SUCCESS")] SlPermitFibInuseSuccess = 4, + /// + /// Permits SL_FIB_INUSE_FAILED to be relayed to client + /// + [pbr::OriginalName("SL_PERMIT_FIB_INUSE_FAILED")] SlPermitFibInuseFailed = 5, } /// @@ -685,6 +792,7 @@ public enum SLRspAckCadence { /// Status codes, including errors and success codes. /// All service layer errors are defined below. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLErrorStatus : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -840,7 +948,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -859,7 +971,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -945,6 +1061,16 @@ public enum SLErrno { /// [pbr::OriginalName("SL_ACK_TYPE_NOT_SUPPORTED")] SlAckTypeNotSupported = 14, /// + /// No such client. + /// The specified client-id does not exist. 0xf + /// + [pbr::OriginalName("SL_NO_SUCH_CLIENT")] SlNoSuchClient = 15, + /// + /// No entries found. + /// No entries are present matching the input parameters. 0x10 + /// + [pbr::OriginalName("SL_NO_ENTRIES_FOUND")] SlNoEntriesFound = 16, + /// /// Offset for INIT errors. 0x500 /// [pbr::OriginalName("SL_INIT_START_OFFSET")] SlInitStartOffset = 1280, @@ -1060,6 +1186,11 @@ public enum SLErrno { /// [pbr::OriginalName("SL_VRF_V6_ROUTE_REPLAY_OK")] SlVrfV6RouteReplayOk = 8211, /// + /// Client Name specified in message does not match current + /// name used for this client. 0x2014 + /// + [pbr::OriginalName("SL_VRF_TABLE_CLIENT_NAME_MISMATCH")] SlVrfTableClientNameMismatch = 8212, + /// /// Offset for Route operation errors. 0x3000 /// [pbr::OriginalName("SL_RPC_ROUTE_START_OFFSET")] SlRpcRouteStartOffset = 12288, @@ -1212,6 +1343,10 @@ public enum SLErrno { /// [pbr::OriginalName("SL_ROUTE_INVALID_PRIORITY")] SlRouteInvalidPriority = 16405, /// + /// Invalid route metric. 0x4016 + /// + [pbr::OriginalName("SL_ROUTE_INVALID_METRIC")] SlRouteInvalidMetric = 16406, + /// /// Offset for route path errors. 0x5000 /// [pbr::OriginalName("SL_PATH_START_OFFSET")] SlPathStartOffset = 20480, @@ -1331,6 +1466,38 @@ public enum SLErrno { /// [pbr::OriginalName("SL_PATH_ENCAP_TYPE_MISMATCH")] SlPathEncapTypeMismatch = 20508, /// + /// Path list mixes incompatible bitmap-FRR and index-FRR evidence. + /// 0x501d + /// + [pbr::OriginalName("SL_PATH_INVALID_PATH_LIST_MODEL")] SlPathInvalidPathListModel = 20509, + /// + /// Duplicate path_index specified in the path list of a route. + /// 0x501e + /// + [pbr::OriginalName("SL_PATH_PRIMARY_INDEX_REPEATED")] SlPathPrimaryIndexRepeated = 20510, + /// + /// A path index value exceeds the maximum supported path-id range. + /// 0x501f + /// + [pbr::OriginalName("SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE")] SlPathPrimaryIndexOutOfRange = 20511, + /// + /// A backup index value exceeds the maximum supported path-id range. + /// 0x5020 + /// + [pbr::OriginalName("SL_PATH_BACKUP_INDEX_OUT_OF_RANGE")] SlPathBackupIndexOutOfRange = 20512, + /// + /// A path with pure backup flag set is not referenced by as a + /// backup by any other path in the same route. + /// 0x5021 + /// + [pbr::OriginalName("SL_PATH_BACKUP_FLAGGED_UNREFERENCED")] SlPathBackupFlaggedUnreferenced = 20513, + /// + /// A backup index in a path's backup index list equals the path's + /// own path_index (self-reference). + /// 0x5022 + /// + [pbr::OriginalName("SL_PATH_BACKUP_INDEX_SELF_REFERENCE")] SlPathBackupIndexSelfReference = 20514, + /// /// Offset for BFD operation errors. 0x6000 /// [pbr::OriginalName("SL_RPC_BFD_START_OFFSET")] SlRpcBfdStartOffset = 24576, @@ -2507,6 +2674,267 @@ public enum SLErrno { /// [pbr::OriginalName("SL_SRTE_POLICY_EXCEED_MSG_SIZE")] SlSrtePolicyExceedMsgSize = 110600, /// + /// Performance Measurement session error + /// + [pbr::OriginalName("SL_PERF_MEAS_START_OFFSET")] SlPerfMeasStartOffset = 114688, + /// + /// Performance Measurement session creation failure + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED")] SlPerfMeasSessionCreateFailed = 114689, + /// + /// Performance Measurement session deletion failure + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_DELETE_FAILED")] SlPerfMeasSessionDeleteFailed = 114690, + /// + /// Performance Measurement session get stats failure + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_STATS_FAILED")] SlPerfMeasSessionGetStatsFailed = 114691, + /// + /// Performance Measurement session get info failure + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_INFO_FAILED")] SlPerfMeasSessionGetInfoFailed = 114692, + /// + /// Request sent is not a valid request type + /// + [pbr::OriginalName("SL_PERF_MEAS_INVALID_REQUEST")] SlPerfMeasInvalidRequest = 114693, + /// + /// Performance Measurement session flush Max Rtt failure + /// + [pbr::OriginalName("SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED")] SlPerfMeasFlushMaxRttFailed = 114694, + /// + /// Performance Measurement session creation failed due to invalid source IP + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP")] SlPerfMeasSessionCreateFailedInvalidSourceIp = 114695, + /// + /// Performance Measurement session creation failed due to invalid destination IP + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP")] SlPerfMeasSessionCreateFailedInvalidDestIp = 114696, + /// + /// Performance Measurement session creation failed due to invalid nexthop IP + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP")] SlPerfMeasSessionCreateFailedInvalidNexthopIp = 114697, + /// + /// Performance Measurement session creation failed due to invalid label stack + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK")] SlPerfMeasSessionCreateFailedInvalidLabelStack = 114698, + /// + /// Performance Measurement session creation failed due to invalid probe interval + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL")] SlPerfMeasSessionCreateFailedInvalidProbeInterval = 114699, + /// + /// Performance Measurement session creation failed due to invalid timeout count + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT")] SlPerfMeasSessionCreateFailedInvalidTimeoutCount = 114700, + /// + /// Performance Measurement session creation failed due to invalid DSCP + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP")] SlPerfMeasSessionCreateFailedInvalidDscp = 114701, + /// + /// Performance Measurement session creation failed due to invalid interface + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE")] SlPerfMeasSessionCreateFailedInvalidInterface = 114702, + /// + /// Performance Measurement session creation failed to send request to perf_meas process + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED")] SlPerfMeasSessionCreateFailedPmSendFailed = 114703, + /// + /// Performance Measurement session creation failed due to internal error + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR")] SlPerfMeasSessionCreateFailedInternalError = 114704, + /// + /// Performance Measurement session deletion failed to send request to perf_meas process + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED")] SlPerfMeasSessionDeleteFailedPmSendFailed = 114705, + /// + /// Performance Measurement session deletion failed due to internal error + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR")] SlPerfMeasSessionDeleteFailedInternalError = 114706, + /// + /// Performance Measurement session get stats failed to send request to perf_meas process + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED")] SlPerfMeasSessionGetStatsFailedPmSendFailed = 114707, + /// + /// Performance Measurement session get stats failed due to internal error + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR")] SlPerfMeasSessionGetStatsFailedInternalError = 114708, + /// + /// Performance Measurement session get info failed to send request to perf_meas process + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED")] SlPerfMeasSessionGetInfoFailedPmSendFailed = 114709, + /// + /// Performance Measurement session get info failed due to internal error + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR")] SlPerfMeasSessionGetInfoFailedInternalError = 114710, + /// + /// Performance Measurement flush max RTT failed to send request to perf_meas process + /// + [pbr::OriginalName("SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED")] SlPerfMeasFlushMaxRttFailedPmSendFailed = 114711, + /// + /// Performance Measurement flush max RTT failed due to internal error + /// + [pbr::OriginalName("SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR")] SlPerfMeasFlushMaxRttFailedInternalError = 114712, + /// + /// Performance Measurement session not found for delete operation. 0x1c019 + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND")] SlPerfMeasSessionDeleteFailedSessionNotFound = 114713, + /// + /// Performance Measurement session not found for get stats operation. 0x1c01a + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND")] SlPerfMeasSessionGetStatsFailedSessionNotFound = 114714, + /// + /// Performance Measurement session not found for get info operation. 0x1c01b + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND")] SlPerfMeasSessionGetInfoFailedSessionNotFound = 114715, + /// + /// Performance Measurement session not found for flush operation. 0x1c01c + /// + [pbr::OriginalName("SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND")] SlPerfMeasFlushMaxRttFailedSessionNotFound = 114716, + /// + /// Performance Measurement session creation failed due to invalid session name. 0x1c01d + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME")] SlPerfMeasSessionCreateFailedInvalidSessionName = 114717, + /// + /// PM notification server not initialized + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED")] SlPerfMeasPmInternalErrorServerNotInitialized = 114718, + /// + /// PM notification client not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND")] SlPerfMeasPmInternalErrorClientNotFound = 114719, + /// + /// PM notification client not connected + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED")] SlPerfMeasPmInternalErrorClientNotConnected = 114720, + /// + /// PM message allocation failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED")] SlPerfMeasPmInternalErrorMsgAllocFailed = 114721, + /// + /// PM Parameter validation errors (returned by PM during session create) + /// PM rejected: session name invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID")] SlPerfMeasPmInternalErrorParamSessNameInvalid = 114722, + /// + /// PM rejected: probe interval invalid (e.g., CPU session < 50ms) + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID")] SlPerfMeasPmInternalErrorParamProbeIntervalInvalid = 114723, + /// + /// PM rejected: timeout count invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID")] SlPerfMeasPmInternalErrorParamTimeoutCountInvalid = 114724, + /// + /// PM rejected: TOS/DSCP value invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID")] SlPerfMeasPmInternalErrorParamTosDscpInvalid = 114725, + /// + /// PM rejected: number of labels invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID")] SlPerfMeasPmInternalErrorParamNumLabelsInvalid = 114726, + /// + /// PM rejected: source address not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND")] SlPerfMeasPmInternalErrorParamSrcAddrNotFound = 114727, + /// + /// PM rejected: destination address not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND")] SlPerfMeasPmInternalErrorParamDestAddrNotFound = 114728, + /// + /// PM rejected: nexthop not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND")] SlPerfMeasPmInternalErrorParamNexthopNotFound = 114729, + /// + /// PM rejected: source address invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID")] SlPerfMeasPmInternalErrorParamSrcAddrInvalid = 114730, + /// + /// PM rejected: destination address invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID")] SlPerfMeasPmInternalErrorParamDestAddrInvalid = 114731, + /// + /// PM rejected: nexthop address invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID")] SlPerfMeasPmInternalErrorParamNexthopInvalid = 114732, + /// + /// PM rejected: address type mismatch (src/dst/nexthop not same AF) + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH")] SlPerfMeasPmInternalErrorParamAddrTypeMismatch = 114733, + /// + /// PM rejected: output interface name invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID")] SlPerfMeasPmInternalErrorParamOutIntfNameInvalid = 114734, + /// + /// PM Message validation errors + /// PM rejected: session name missing in message + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING")] SlPerfMeasPmInternalErrorMsgSessNameMissing = 114735, + /// + /// PM rejected: liveness state missing in message + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING")] SlPerfMeasPmInternalErrorMsgLivenessStateMissing = 114736, + /// + /// PM Server-level errors + /// PM internal: system in inconsistent state + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT")] SlPerfMeasPmInternalErrorSystemInconsistent = 114737, + /// + /// PM Session create notification errors + /// PM create failed: invalid parameters + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS")] SlPerfMeasPmInternalErrorInvalidParams = 114738, + /// + /// PM create failed: interface handle (IFH) lookup failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED")] SlPerfMeasPmInternalErrorImIfhGetFailed = 114739, + /// + /// PM create failed: MAC address invalid + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID")] SlPerfMeasPmInternalErrorMacAddrInvalid = 114740, + /// + /// PM create failed: delay-measurement DR create failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED")] SlPerfMeasPmInternalErrorDrCreateFailed = 114741, + /// + /// PM create failed: delay-measurement DR update failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED")] SlPerfMeasPmInternalErrorDrUpdateFailed = 114742, + /// + /// PM create failed: no memory for DR session + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM")] SlPerfMeasPmInternalErrorDrSessionNomem = 114743, + /// + /// PM create failed: DR session insert failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED")] SlPerfMeasPmInternalErrorDrSessionInsertFailed = 114744, + /// + /// PM create failed: NPU offload failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED")] SlPerfMeasPmInternalErrorNpuOffloadFailed = 114745, + /// + /// PM create failed: CPU session create failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED")] SlPerfMeasPmInternalErrorCpuCreateFailed = 114746, + /// + /// PM create failed: session setup failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED")] SlPerfMeasPmInternalErrorSessionSetupFailed = 114747, + /// + /// PM Session get/flush notification errors + /// PM get/flush failed: interface not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND")] SlPerfMeasPmInternalErrorIntfNotFound = 114748, + /// + /// PM get/flush failed: SCB (session control block) not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND")] SlPerfMeasPmInternalErrorScbNotFound = 114749, + /// + /// PM get/flush failed: liveness session not found + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND")] SlPerfMeasPmInternalErrorLivenessNotFound = 114750, + /// + /// PM get/flush failed: counter update failed + /// + [pbr::OriginalName("SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED")] SlPerfMeasPmInternalErrorCounterUpdateFailed = 114751, + /// /// Offset for Internal errors. 0x100000 /// [pbr::OriginalName("SL_INTERNAL_START_OFFSET")] SlInternalStartOffset = 1048576, @@ -2520,6 +2948,7 @@ public enum SLErrno { /// /// Interface info. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterface : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2580,12 +3009,26 @@ public SLInterface Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Name { - get { return interfaceCase_ == InterfaceOneofCase.Name ? (string) interface_ : ""; } + get { return HasName ? (string) interface_ : ""; } set { interface_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); interfaceCase_ = InterfaceOneofCase.Name; } } + /// Gets whether the "Name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return interfaceCase_ == InterfaceOneofCase.Name; } + } + /// Clears the value of the oneof if it's currently set to "Name" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + if (HasName) { + ClearInterface(); + } + } /// Field number for the "Handle" field. public const int HandleFieldNumber = 2; @@ -2595,12 +3038,26 @@ public string Name { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint Handle { - get { return interfaceCase_ == InterfaceOneofCase.Handle ? (uint) interface_ : 0; } + get { return HasHandle ? (uint) interface_ : 0; } set { interface_ = value; interfaceCase_ = InterfaceOneofCase.Handle; } } + /// Gets whether the "Handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHandle { + get { return interfaceCase_ == InterfaceOneofCase.Handle; } + } + /// Clears the value of the oneof if it's currently set to "Handle" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHandle() { + if (HasHandle) { + ClearInterface(); + } + } private object interface_; /// Enum of possible cases for the "Interface" oneof. @@ -2648,8 +3105,8 @@ public bool Equals(SLInterface other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (interfaceCase_ == InterfaceOneofCase.Name) hash ^= Name.GetHashCode(); - if (interfaceCase_ == InterfaceOneofCase.Handle) hash ^= Handle.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasHandle) hash ^= Handle.GetHashCode(); hash ^= (int) interfaceCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -2669,11 +3126,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (interfaceCase_ == InterfaceOneofCase.Name) { + if (HasName) { output.WriteRawTag(10); output.WriteString(Name); } - if (interfaceCase_ == InterfaceOneofCase.Handle) { + if (HasHandle) { output.WriteRawTag(16); output.WriteUInt32(Handle); } @@ -2687,11 +3144,11 @@ 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 (interfaceCase_ == InterfaceOneofCase.Name) { + if (HasName) { output.WriteRawTag(10); output.WriteString(Name); } - if (interfaceCase_ == InterfaceOneofCase.Handle) { + if (HasHandle) { output.WriteRawTag(16); output.WriteUInt32(Handle); } @@ -2705,10 +3162,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (interfaceCase_ == InterfaceOneofCase.Name) { + if (HasName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); } - if (interfaceCase_ == InterfaceOneofCase.Handle) { + if (HasHandle) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Handle); } if (_unknownFields != null) { @@ -2743,7 +3200,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2766,7 +3227,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2788,6 +3253,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// One of IPv4 or IPv6 addresses. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLIpAddress : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2845,24 +3311,52 @@ public SLIpAddress Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint V4Address { - get { return addressCase_ == AddressOneofCase.V4Address ? (uint) address_ : 0; } + get { return HasV4Address ? (uint) address_ : 0; } set { address_ = value; addressCase_ = AddressOneofCase.V4Address; } } + /// Gets whether the "V4Address" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasV4Address { + get { return addressCase_ == AddressOneofCase.V4Address; } + } + /// Clears the value of the oneof if it's currently set to "V4Address" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearV4Address() { + if (HasV4Address) { + ClearAddress(); + } + } /// Field number for the "V6Address" field. public const int V6AddressFieldNumber = 2; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString V6Address { - get { return addressCase_ == AddressOneofCase.V6Address ? (pb::ByteString) address_ : pb::ByteString.Empty; } + get { return HasV6Address ? (pb::ByteString) address_ : pb::ByteString.Empty; } set { address_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); addressCase_ = AddressOneofCase.V6Address; } } + /// Gets whether the "V6Address" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasV6Address { + get { return addressCase_ == AddressOneofCase.V6Address; } + } + /// Clears the value of the oneof if it's currently set to "V6Address" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearV6Address() { + if (HasV6Address) { + ClearAddress(); + } + } private object address_; /// Enum of possible cases for the "Address" oneof. @@ -2910,8 +3404,8 @@ public bool Equals(SLIpAddress other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (addressCase_ == AddressOneofCase.V4Address) hash ^= V4Address.GetHashCode(); - if (addressCase_ == AddressOneofCase.V6Address) hash ^= V6Address.GetHashCode(); + if (HasV4Address) hash ^= V4Address.GetHashCode(); + if (HasV6Address) hash ^= V6Address.GetHashCode(); hash ^= (int) addressCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -2931,11 +3425,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (addressCase_ == AddressOneofCase.V4Address) { + if (HasV4Address) { output.WriteRawTag(8); output.WriteUInt32(V4Address); } - if (addressCase_ == AddressOneofCase.V6Address) { + if (HasV6Address) { output.WriteRawTag(18); output.WriteBytes(V6Address); } @@ -2949,11 +3443,11 @@ 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 (addressCase_ == AddressOneofCase.V4Address) { + if (HasV4Address) { output.WriteRawTag(8); output.WriteUInt32(V4Address); } - if (addressCase_ == AddressOneofCase.V6Address) { + if (HasV6Address) { output.WriteRawTag(18); output.WriteBytes(V6Address); } @@ -2967,10 +3461,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (addressCase_ == AddressOneofCase.V4Address) { + if (HasV4Address) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(V4Address); } - if (addressCase_ == AddressOneofCase.V6Address) { + if (HasV6Address) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(V6Address); } if (_unknownFields != null) { @@ -3005,7 +3499,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3028,7 +3526,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3050,6 +3552,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv6 address. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLIpv6Address : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3208,7 +3711,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3227,7 +3734,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3245,6 +3756,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Autonomous System Number (ASN) /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLAutonomousSystemNumber : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3404,7 +3916,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3423,7 +3939,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3441,6 +3961,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common Object Identifier. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLObjectId : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3499,12 +4020,26 @@ public SLObjectId Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Name { - get { return entryCase_ == EntryOneofCase.Name ? (string) entry_ : ""; } + get { return HasName ? (string) entry_ : ""; } set { entry_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); entryCase_ = EntryOneofCase.Name; } } + /// Gets whether the "Name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return entryCase_ == EntryOneofCase.Name; } + } + /// Clears the value of the oneof if it's currently set to "Name" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + if (HasName) { + ClearEntry(); + } + } private object entry_; /// Enum of possible cases for the "entry" oneof. @@ -3550,7 +4085,7 @@ public bool Equals(SLObjectId other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (entryCase_ == EntryOneofCase.Name) hash ^= Name.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -3570,7 +4105,7 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (entryCase_ == EntryOneofCase.Name) { + if (HasName) { output.WriteRawTag(10); output.WriteString(Name); } @@ -3584,7 +4119,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 (entryCase_ == EntryOneofCase.Name) { + if (HasName) { output.WriteRawTag(10); output.WriteString(Name); } @@ -3598,7 +4133,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (entryCase_ == EntryOneofCase.Name) { + if (HasName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); } if (_unknownFields != null) { @@ -3630,7 +4165,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3649,7 +4188,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3668,6 +4211,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Path group reference key. This can be used by route, label /// or policy objects to refer a path group object. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPathGroupRefKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3861,7 +4405,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3887,7 +4435,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlGlobal.cs b/grpc/dotnet/src/gencs/SlGlobal.cs index 0d6f3aac..5482d239 100644 --- a/grpc/dotnet/src/gencs/SlGlobal.cs +++ b/grpc/dotnet/src/gencs/SlGlobal.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_global.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -106,6 +106,7 @@ public enum SLGlobalNotifType { /// connection will be made and the server response will be received /// with a successful status code. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInitMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -328,7 +329,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -355,7 +360,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -383,6 +392,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// On Success (ErrStatus), the session with the server is established /// and the client is allowed to proceed. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInitMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -608,7 +618,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -635,7 +649,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -661,6 +679,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Routes replay error notification. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfRouteReplayErrorNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -819,7 +838,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -838,7 +861,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -856,6 +883,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Globals query message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLGlobalNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1183,7 +1211,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1227,7 +1259,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1269,7 +1305,13 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Globals query message. + /// This message is sent by clients to query the router for platform-specific capabilities and configuration limits. + /// + /// Client should use this message at the beginning of a Service Layer API session to determine platform capabilities + /// before configuring routes, interfaces, or other network elements to understand system limitations. + /// Helpful for cross-platform applications that need to adapt to different router hardware capabilities. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLGlobalsGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1396,7 +1438,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1411,7 +1457,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1424,7 +1474,17 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Platform specific globals Response. + /// Retrieved values should be used by client to program requests ensuring operation within the router's constraints. + /// Usage: + /// Inspect ErrStatus first to verify the request succeeded. + /// Use the various maximum values (limits) to validate client configurations before sending them to the router. + /// Key configuration limits include: + /// - VRF name length constraints (MaxVrfNameLength). + /// - Path limitations for routes (MaxPathsPerEntry, MaxPrimaryPathPerEntry, MaxBackupPathPerEntry). + /// - MPLS label stack depth (MaxMplsLabelsPerPath). + /// - Message batching capabilities (MaxVrfRegPerMsg, MaxAFOpsPerMsg). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLGlobalsGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2195,7 +2255,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2293,7 +2357,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlGlobalGrpc.cs b/grpc/dotnet/src/gencs/SlGlobalGrpc.cs index 234f94dc..002f4d07 100644 --- a/grpc/dotnet/src/gencs/SlGlobalGrpc.cs +++ b/grpc/dotnet/src/gencs/SlGlobalGrpc.cs @@ -126,6 +126,7 @@ public abstract partial class SLGlobalBase /// /// Get platform specific globals + /// Used to retrieve platform-specific capabilities and configuration limits. /// /// The request received from the client. /// The context of the server-side call handler being invoked. @@ -215,6 +216,7 @@ protected SLGlobalClient(ClientBaseConfiguration configuration) : base(configura } /// /// Get platform specific globals + /// Used to retrieve platform-specific capabilities and configuration limits. /// /// The request to send to the server. /// The initial metadata to send with the call. This parameter is optional. @@ -228,6 +230,7 @@ protected SLGlobalClient(ClientBaseConfiguration configuration) : base(configura } /// /// Get platform specific globals + /// Used to retrieve platform-specific capabilities and configuration limits. /// /// The request to send to the server. /// The options for the call. @@ -239,6 +242,7 @@ protected SLGlobalClient(ClientBaseConfiguration configuration) : base(configura } /// /// Get platform specific globals + /// Used to retrieve platform-specific capabilities and configuration limits. /// /// The request to send to the server. /// The initial metadata to send with the call. This parameter is optional. @@ -252,6 +256,7 @@ protected SLGlobalClient(ClientBaseConfiguration configuration) : base(configura } /// /// Get platform specific globals + /// Used to retrieve platform-specific capabilities and configuration limits. /// /// The request to send to the server. /// The options for the call. diff --git a/grpc/dotnet/src/gencs/SlInterface.cs b/grpc/dotnet/src/gencs/SlInterface.cs index 76244354..34841fb0 100644 --- a/grpc/dotnet/src/gencs/SlInterface.cs +++ b/grpc/dotnet/src/gencs/SlInterface.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_interface.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -112,6 +112,7 @@ public enum SLInterfaceState { #endregion #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceInfoMsgBw : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -302,7 +303,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -325,7 +330,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -347,6 +356,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Interface Get Message result. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceInfoMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -638,7 +648,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -677,7 +691,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -715,6 +733,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Interface Notification Entry. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceNotifMsgEntry : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -965,7 +984,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1000,7 +1023,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1034,6 +1061,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Interface Notification message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceNotifMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1213,7 +1241,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1236,7 +1268,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1258,6 +1294,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Interface Notification message result. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceNotifMsgRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1488,7 +1525,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1521,7 +1562,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1553,6 +1598,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Interface Notification message error. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceNotifMsgErr : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1700,7 +1746,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1719,7 +1769,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1737,6 +1791,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Interface Notification Event. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLInterfaceNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1967,7 +2022,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2000,7 +2059,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlL2Route.cs b/grpc/dotnet/src/gencs/SlL2Route.cs index 244da684..5d5c0b63 100644 --- a/grpc/dotnet/src/gencs/SlL2Route.cs +++ b/grpc/dotnet/src/gencs/SlL2Route.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_l2_route.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -228,6 +228,7 @@ public enum SLL2NotifType { /// /// L2 Route Globals Get Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2GlobalsGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -354,7 +355,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -369,7 +374,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -383,6 +392,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 Route Globals Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2GlobalsGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -608,7 +618,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -638,7 +652,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -667,6 +685,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Global L2 Registration Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -897,7 +916,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -924,7 +947,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -950,6 +977,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Global L2 Registration message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RegMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1111,7 +1139,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1133,7 +1165,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1154,6 +1190,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 Bridge-Domain (BD) Registration Messages /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2BdRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1333,7 +1370,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1356,7 +1397,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1378,6 +1423,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BD Registration message Result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2BdRegRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1571,7 +1617,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1597,7 +1647,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1622,6 +1676,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// BD Registration message Response. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2BdRegMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1813,7 +1868,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1839,7 +1898,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1864,6 +1927,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Ethernet Segment Identifier (ESI) /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteEsi : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2022,7 +2086,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2041,7 +2109,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2059,6 +2131,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Nexthop info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteNh : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2319,7 +2392,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2356,7 +2433,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2418,6 +2499,7 @@ public enum SLL2RouteNhType { /// /// Overlay nexthop info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2OverlayNh : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2700,7 +2782,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2739,7 +2825,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2777,6 +2867,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// MAC route key /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2MacRouteKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2970,7 +3061,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2996,7 +3091,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3021,6 +3120,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Type 2 EVPN MAC route /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2MacRoute : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3270,7 +3370,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3307,7 +3411,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3343,6 +3451,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IMET route key /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2ImetRouteKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3536,7 +3645,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3562,7 +3675,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3587,6 +3704,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Type-3 EVPN IMET Route /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2ImetRoute : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3906,7 +4024,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3948,7 +4070,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4035,6 +4161,7 @@ public enum PMSITunnelType { /// /// L2 route key /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4330,7 +4457,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4371,7 +4502,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4411,6 +4546,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 route /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2Route : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4706,7 +4842,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4747,7 +4887,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4787,6 +4931,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Batch of L2 Routes for bulk download /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5000,7 +5145,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5027,7 +5176,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5053,6 +5206,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 route result, uniquely identified by BD + L2 route key /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5249,7 +5403,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5278,7 +5436,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5306,6 +5468,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 bulk download response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5530,7 +5693,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5560,7 +5727,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5589,6 +5760,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 Get Notifications message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2GetNotifMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5707,12 +5879,26 @@ public bool GetNotifEof { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool BdAll { - get { return requestCase_ == RequestOneofCase.BdAll ? (bool) request_ : false; } + get { return HasBdAll ? (bool) request_ : false; } set { request_ = value; requestCase_ = RequestOneofCase.BdAll; } } + /// Gets whether the "BdAll" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBdAll { + get { return requestCase_ == RequestOneofCase.BdAll; } + } + /// Clears the value of the oneof if it's currently set to "BdAll" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBdAll() { + if (HasBdAll) { + ClearRequest(); + } + } /// Field number for the "BdName" field. public const int BdNameFieldNumber = 5; @@ -5723,12 +5909,26 @@ public bool BdAll { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string BdName { - get { return requestCase_ == RequestOneofCase.BdName ? (string) request_ : ""; } + get { return HasBdName ? (string) request_ : ""; } set { request_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); requestCase_ = RequestOneofCase.BdName; } } + /// Gets whether the "BdName" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBdName { + get { return requestCase_ == RequestOneofCase.BdName; } + } + /// Clears the value of the oneof if it's currently set to "BdName" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBdName() { + if (HasBdName) { + ClearRequest(); + } + } private object request_; /// Enum of possible cases for the "Request" oneof. @@ -5782,8 +5982,8 @@ public override int GetHashCode() { if (Oper != global::ServiceLayer.SLNotifOp.Reserved) hash ^= Oper.GetHashCode(); if (Correlator != 0UL) hash ^= Correlator.GetHashCode(); if (GetNotifEof != false) hash ^= GetNotifEof.GetHashCode(); - if (requestCase_ == RequestOneofCase.BdAll) hash ^= BdAll.GetHashCode(); - if (requestCase_ == RequestOneofCase.BdName) hash ^= BdName.GetHashCode(); + if (HasBdAll) hash ^= BdAll.GetHashCode(); + if (HasBdName) hash ^= BdName.GetHashCode(); hash ^= (int) requestCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -5815,11 +6015,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(24); output.WriteBool(GetNotifEof); } - if (requestCase_ == RequestOneofCase.BdAll) { + if (HasBdAll) { output.WriteRawTag(32); output.WriteBool(BdAll); } - if (requestCase_ == RequestOneofCase.BdName) { + if (HasBdName) { output.WriteRawTag(42); output.WriteString(BdName); } @@ -5845,11 +6045,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(24); output.WriteBool(GetNotifEof); } - if (requestCase_ == RequestOneofCase.BdAll) { + if (HasBdAll) { output.WriteRawTag(32); output.WriteBool(BdAll); } - if (requestCase_ == RequestOneofCase.BdName) { + if (HasBdName) { output.WriteRawTag(42); output.WriteString(BdName); } @@ -5872,10 +6072,10 @@ public int CalculateSize() { if (GetNotifEof != false) { size += 1 + 1; } - if (requestCase_ == RequestOneofCase.BdAll) { + if (HasBdAll) { size += 1 + 1; } - if (requestCase_ == RequestOneofCase.BdName) { + if (HasBdName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(BdName); } if (_unknownFields != null) { @@ -5919,7 +6119,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5954,7 +6158,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5988,6 +6196,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 Route notification /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2RouteNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6181,7 +6390,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6207,7 +6420,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6232,6 +6449,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Bridge-Domain (BD) state info /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2BdStateInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6419,7 +6637,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6442,7 +6664,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6499,6 +6725,7 @@ public enum SLL2BdState { /// /// L2 Notification Status message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2NotifStatusMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6761,7 +6988,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6795,7 +7026,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6828,6 +7063,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// L2 Notification. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLL2Notif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7170,7 +7406,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7225,7 +7465,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlMpls.cs b/grpc/dotnet/src/gencs/SlMpls.cs index ea0c1140..8a537346 100644 --- a/grpc/dotnet/src/gencs/SlMpls.cs +++ b/grpc/dotnet/src/gencs/SlMpls.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_mpls.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -225,6 +225,7 @@ public enum SLMplsLabelBlockType { /// MPLS Label block key. /// This message is used to relay the label block key attributes. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsLabelBlockKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -482,7 +483,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -513,7 +518,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -545,6 +554,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// This message is used to send a batch of label block requests. /// The Oper attributes indicates add or delete operations. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsLabelBlockMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -725,7 +735,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -748,7 +762,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -772,6 +790,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// This message is used to convey the result status corresponding to /// the label block operation. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsLabelBlockMsgRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -968,7 +987,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -997,7 +1020,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1028,6 +1055,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// If there are errors encountered, the Results field would indicate which /// label block reservation failed. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsLabelBlockMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1219,7 +1247,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1245,7 +1277,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1271,6 +1307,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Label Block Get Message /// This message is used to query previous label block reservations. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsLabelBlockGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1501,7 +1538,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1531,7 +1572,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1561,6 +1606,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Label Block get message response /// This message is the response to the label block query. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsLabelBlockGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1778,7 +1824,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1808,7 +1858,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1837,6 +1891,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// MPLS Registration message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SlMplsReg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2004,7 +2059,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2023,7 +2082,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2043,6 +2106,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// This message is used for MPLS global registration. Clients must register /// before using any MPLS service. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2236,7 +2300,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2262,7 +2330,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2288,6 +2360,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Registration response message. /// This message is used to convey the result of the MPLS registration. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsRegMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2449,7 +2522,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2471,7 +2548,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2493,6 +2574,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Get Global Info message. /// This message is used to query MPLS global capabilities. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2619,7 +2701,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2634,7 +2720,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2649,6 +2739,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Get Global Info response message. /// This message is used to convey the response to the global capabilities query. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3004,7 +3095,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3050,7 +3145,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3096,6 +3195,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Get Global Stats response message. /// This message is used to convey the response to the MPLS statistics query. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsGetStatsMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3321,7 +3421,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3351,7 +3455,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3381,6 +3489,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS Path (or NHLFE) information. /// This message holds the ILM path attributes. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsPath : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3987,7 +4096,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4065,7 +4178,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4143,6 +4260,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS ILM entry's key. /// This message defines the Incoming Label Map key attributes. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4372,7 +4490,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4405,7 +4527,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4437,6 +4563,7 @@ public void MergeFrom(pb::CodedInputStream input) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class IPv4PrefixKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4597,7 +4724,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4616,7 +4747,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4631,6 +4766,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class IPv6PrefixKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4789,7 +4925,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4808,7 +4948,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4823,6 +4967,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class IPPrefixKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5112,7 +5257,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5153,7 +5302,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5199,6 +5352,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS ILM entry's CoS value /// This message contains either EXP bits or a forwarding class /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsCos : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5263,12 +5417,26 @@ public SLMplsCos Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint Exp { - get { return valueCase_ == ValueOneofCase.Exp ? (uint) value_ : 0; } + get { return HasExp ? (uint) value_ : 0; } set { value_ = value; valueCase_ = ValueOneofCase.Exp; } } + /// Gets whether the "Exp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasExp { + get { return valueCase_ == ValueOneofCase.Exp; } + } + /// Clears the value of the oneof if it's currently set to "Exp" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearExp() { + if (HasExp) { + ClearValue(); + } + } /// Field number for the "DefaultElspPath" field. public const int DefaultElspPathFieldNumber = 2; @@ -5279,12 +5447,26 @@ public uint Exp { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool DefaultElspPath { - get { return valueCase_ == ValueOneofCase.DefaultElspPath ? (bool) value_ : false; } + get { return HasDefaultElspPath ? (bool) value_ : false; } set { value_ = value; valueCase_ = ValueOneofCase.DefaultElspPath; } } + /// Gets whether the "DefaultElspPath" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDefaultElspPath { + get { return valueCase_ == ValueOneofCase.DefaultElspPath; } + } + /// Clears the value of the oneof if it's currently set to "DefaultElspPath" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDefaultElspPath() { + if (HasDefaultElspPath) { + ClearValue(); + } + } /// Field number for the "ForwardingClass" field. public const int ForwardingClassFieldNumber = 3; @@ -5294,12 +5476,26 @@ public bool DefaultElspPath { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint ForwardingClass { - get { return valueCase_ == ValueOneofCase.ForwardingClass ? (uint) value_ : 0; } + get { return HasForwardingClass ? (uint) value_ : 0; } set { value_ = value; valueCase_ = ValueOneofCase.ForwardingClass; } } + /// Gets whether the "ForwardingClass" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasForwardingClass { + get { return valueCase_ == ValueOneofCase.ForwardingClass; } + } + /// Clears the value of the oneof if it's currently set to "ForwardingClass" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearForwardingClass() { + if (HasForwardingClass) { + ClearValue(); + } + } private object value_; /// Enum of possible cases for the "value" oneof. @@ -5349,9 +5545,9 @@ public bool Equals(SLMplsCos other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (valueCase_ == ValueOneofCase.Exp) hash ^= Exp.GetHashCode(); - if (valueCase_ == ValueOneofCase.DefaultElspPath) hash ^= DefaultElspPath.GetHashCode(); - if (valueCase_ == ValueOneofCase.ForwardingClass) hash ^= ForwardingClass.GetHashCode(); + if (HasExp) hash ^= Exp.GetHashCode(); + if (HasDefaultElspPath) hash ^= DefaultElspPath.GetHashCode(); + if (HasForwardingClass) hash ^= ForwardingClass.GetHashCode(); hash ^= (int) valueCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -5371,15 +5567,15 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (valueCase_ == ValueOneofCase.Exp) { + if (HasExp) { output.WriteRawTag(8); output.WriteUInt32(Exp); } - if (valueCase_ == ValueOneofCase.DefaultElspPath) { + if (HasDefaultElspPath) { output.WriteRawTag(16); output.WriteBool(DefaultElspPath); } - if (valueCase_ == ValueOneofCase.ForwardingClass) { + if (HasForwardingClass) { output.WriteRawTag(24); output.WriteUInt32(ForwardingClass); } @@ -5393,15 +5589,15 @@ 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 (valueCase_ == ValueOneofCase.Exp) { + if (HasExp) { output.WriteRawTag(8); output.WriteUInt32(Exp); } - if (valueCase_ == ValueOneofCase.DefaultElspPath) { + if (HasDefaultElspPath) { output.WriteRawTag(16); output.WriteBool(DefaultElspPath); } - if (valueCase_ == ValueOneofCase.ForwardingClass) { + if (HasForwardingClass) { output.WriteRawTag(24); output.WriteUInt32(ForwardingClass); } @@ -5415,13 +5611,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (valueCase_ == ValueOneofCase.Exp) { + if (HasExp) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Exp); } - if (valueCase_ == ValueOneofCase.DefaultElspPath) { + if (HasDefaultElspPath) { size += 1 + 1; } - if (valueCase_ == ValueOneofCase.ForwardingClass) { + if (HasForwardingClass) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ForwardingClass); } if (_unknownFields != null) { @@ -5459,7 +5655,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5486,7 +5686,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5513,6 +5717,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS ILM entry. /// This messages defines an ILM entry. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmEntry : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5728,7 +5933,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5758,7 +5967,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5788,6 +6001,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// A batch of MPLS ILM entries. /// This message is used to send a batch of ILM entries. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6000,7 +6214,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6027,7 +6245,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6054,6 +6276,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS ILM result. /// This message is used to convey the result of the ILM entry operation. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6250,7 +6473,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6279,7 +6506,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6308,6 +6539,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// MPLS ILM batch response. /// This message is used to convey the result of the ILM batch operation. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6532,7 +6764,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6562,7 +6798,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6596,6 +6836,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// from the specified key in the order of labels, IPv4 prefixes, /// followed any IPv6 prefixes. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -6859,7 +7100,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6893,7 +7138,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -6926,6 +7175,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// MPLS ILM Get Message Response. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLMplsIlmGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -7176,7 +7426,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -7210,7 +7464,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlPerfMeas.cs b/grpc/dotnet/src/gencs/SlPerfMeas.cs new file mode 100644 index 00000000..383f2011 --- /dev/null +++ b/grpc/dotnet/src/gencs/SlPerfMeas.cs @@ -0,0 +1,3288 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: sl_perf_meas.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace ServiceLayer { + + /// Holder for reflection information generated from sl_perf_meas.proto + public static partial class SlPerfMeasReflection { + + #region Descriptor + /// File descriptor for sl_perf_meas.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static SlPerfMeasReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "ChJzbF9wZXJmX21lYXMucHJvdG8SDXNlcnZpY2VfbGF5ZXIaFXNsX2NvbW1v", + "bl90eXBlcy5wcm90byKWAwoRU0xQZXJmTWVhc01vbml0b3ISHAoPUGVyZlNl", + "c3Npb25OYW1lGAEgASgJSACIAQESKgoGU291cmNlGAIgASgLMhouc2Vydmlj", + "ZV9sYXllci5TTElwQWRkcmVzcxIvCgtEZXN0aW5hdGlvbhgDIAEoCzIaLnNl", + "cnZpY2VfbGF5ZXIuU0xJcEFkZHJlc3MSEgoKTGFiZWxTdGFjaxgEIAMoDRIa", + "Cg1Qcm9iZUludGVydmFsGAUgASgESAGIAQESGQoMVGltZW91dENvdW50GAYg", + "ASgNSAKIAQESMQoNSW50ZXJmYWNlSW5mbxgHIAEoCzIaLnNlcnZpY2VfbGF5", + "ZXIuU0xJbnRlcmZhY2USFgoJRHNjcFZhbHVlGAggASgNSAOIAQESKwoHTmV4", + "dEhvcBgJIAEoCzIaLnNlcnZpY2VfbGF5ZXIuU0xJcEFkZHJlc3NCEgoQX1Bl", + "cmZTZXNzaW9uTmFtZUIQCg5fUHJvYmVJbnRlcnZhbEIPCg1fVGltZW91dENv", + "dW50QgwKCl9Ec2NwVmFsdWUiowEKD1NMUGVyZk1lYXNTdGF0cxI0CgVTdGF0", + "ZRgBIAEoDjIlLnNlcnZpY2VfbGF5ZXIuU0xQZXJmTWVhc1Nlc3Npb25TdGF0", + "ZRISCgpQcm9iZXNTZW50GAIgASgEEhYKDlByb2Jlc1JlY2VpdmVkGAMgASgE", + "Eg4KBk1pblJ0dBgEIAEoBBIOCgZNYXhSdHQYBSABKAQSDgoGQXZnUnR0GAYg", + "ASgEIrsBChVTTFBlcmZNZWFzUmVxTXNnRW50cnkSEwoLT3BlcmF0aW9uSWQY", + "ASABKAQSMQoHTXNnVHlwZRgCIAEoDjIgLnNlcnZpY2VfbGF5ZXIuU0xQZXJm", + "TWVhc01zZ1R5cGUSGQoPUGVyZlNlc3Npb25OYW1lGAMgASgJSAASNgoKUGFy", + "YW1ldGVycxgEIAEoCzIgLnNlcnZpY2VfbGF5ZXIuU0xQZXJmTWVhc01vbml0", + "b3JIAEIHCgVWYWx1ZSJJChBTTFBlcmZNZWFzUmVxTXNnEjUKB0VudHJpZXMY", + "ASADKAsyJC5zZXJ2aWNlX2xheWVyLlNMUGVyZk1lYXNSZXFNc2dFbnRyeSJ6", + "ChlTTFBlcmZNZWFzUmVzcEVyck1zZ0VudHJ5EhMKC09wZXJhdGlvbklkGAEg", + "ASgEEi8KCUVyclN0YXR1cxgCIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xFcnJv", + "clN0YXR1cxIXCg9QZXJmU2Vzc2lvbk5hbWUYAyABKAki6AEKGlNMUGVyZk1l", + "YXNSZXNwRGF0YU1zZ0VudHJ5EjEKB01zZ1R5cGUYASABKA4yIC5zZXJ2aWNl", + "X2xheWVyLlNMUGVyZk1lYXNNc2dUeXBlEhcKD1BlcmZTZXNzaW9uTmFtZRgC", + "IAEoCRITCgtPcGVyYXRpb25JZBgDIAEoBBIvCgVTdGF0cxgEIAEoCzIeLnNl", + "cnZpY2VfbGF5ZXIuU0xQZXJmTWVhc1N0YXRzSAASMAoESW5mbxgFIAEoCzIg", + "LnNlcnZpY2VfbGF5ZXIuU0xQZXJmTWVhc01vbml0b3JIAEIGCgREYXRhIoUB", + "ChtTTFBlcmZNZWFzUmVzcFN0YXRlTXNnRW50cnkSNAoFU3RhdGUYASABKA4y", + "JS5zZXJ2aWNlX2xheWVyLlNMUGVyZk1lYXNTZXNzaW9uU3RhdGUSHAoPUGVy", + "ZlNlc3Npb25OYW1lGAIgASgJSACIAQFCEgoQX1BlcmZTZXNzaW9uTmFtZSLk", + "AQoWU0xQZXJmTWVhc1Jlc3BNc2dFbnRyeRI5CgVFcnJvchgBIAEoCzIoLnNl", + "cnZpY2VfbGF5ZXIuU0xQZXJmTWVhc1Jlc3BFcnJNc2dFbnRyeUgAEkIKDVNl", + "c3Npb25EZXRhaWwYAiABKAsyKS5zZXJ2aWNlX2xheWVyLlNMUGVyZk1lYXNS", + "ZXNwRGF0YU1zZ0VudHJ5SAASQgoMU2Vzc2lvblN0YXRlGAMgASgLMiouc2Vy", + "dmljZV9sYXllci5TTFBlcmZNZWFzUmVzcFN0YXRlTXNnRW50cnlIAEIHCgVF", + "dmVudCJLChFTTFBlcmZNZWFzUmVzcE1zZxI2CgdFbnRyaWVzGAEgAygLMiUu", + "c2VydmljZV9sYXllci5TTFBlcmZNZWFzUmVzcE1zZ0VudHJ5KssBChFTTFBl", + "cmZNZWFzTXNnVHlwZRIdChlTTF9QRVJGX01FQVNfTVNHX1JFU0VSVkVEEAAS", + "HwobU0xfUEVSRl9NRUFTX0NSRUFURV9TRVNTSU9OEAESHwobU0xfUEVSRl9N", + "RUFTX0RFTEVURV9TRVNTSU9OEAISGgoWU0xfUEVSRl9NRUFTX0dFVF9TVEFU", + "UxADEhkKFVNMX1BFUkZfTUVBU19HRVRfSU5GTxAEEh4KGlNMX1BFUkZfTUVB", + "U19GTFVTSF9NQVhfUlRUEAUqvgEKFlNMUGVyZk1lYXNTZXNzaW9uU3RhdGUS", + "HwobU0xfUEVSRl9NRUFTX1NUQVRFX1JFU0VSVkVEEAASHQoZU0xfUEVSRl9N", + "RUFTX1NFU1NJT05fRE9XThABEhsKF1NMX1BFUkZfTUVBU19TRVNTSU9OX1VQ", + "EAISIQodU0xfUEVSRl9NRUFTX1NFU1NJT05fQUxMX0RPV04QAxIkCiBTTF9Q", + "RVJGX01FQVNfU0VTU0lPTl9BTExfREVMRVRFRBAEMnAKDlNMUGVyZk1lYXNP", + "cGVyEl4KFVNMUGVyZk1lYXNOb3RpZlN0cmVhbRIfLnNlcnZpY2VfbGF5ZXIu", + "U0xQZXJmTWVhc1JlcU1zZxogLnNlcnZpY2VfbGF5ZXIuU0xQZXJmTWVhc1Jl", + "c3BNc2coATABQlFaT2dpdGh1Yi5jb20vQ2lzY28tc2VydmljZS1sYXllci9z", + "ZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMvcHJvdG9zO3NlcnZpY2VfbGF5", + "ZXJiBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { global::ServiceLayer.SlCommonTypesReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceLayer.SLPerfMeasMsgType), typeof(global::ServiceLayer.SLPerfMeasSessionState), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasMonitor), global::ServiceLayer.SLPerfMeasMonitor.Parser, new[]{ "PerfSessionName", "Source", "Destination", "LabelStack", "ProbeInterval", "TimeoutCount", "InterfaceInfo", "DscpValue", "NextHop" }, new[]{ "PerfSessionName", "ProbeInterval", "TimeoutCount", "DscpValue" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasStats), global::ServiceLayer.SLPerfMeasStats.Parser, new[]{ "State", "ProbesSent", "ProbesReceived", "MinRtt", "MaxRtt", "AvgRtt" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasReqMsgEntry), global::ServiceLayer.SLPerfMeasReqMsgEntry.Parser, new[]{ "OperationId", "MsgType", "PerfSessionName", "Parameters" }, new[]{ "Value" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasReqMsg), global::ServiceLayer.SLPerfMeasReqMsg.Parser, new[]{ "Entries" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasRespErrMsgEntry), global::ServiceLayer.SLPerfMeasRespErrMsgEntry.Parser, new[]{ "OperationId", "ErrStatus", "PerfSessionName" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasRespDataMsgEntry), global::ServiceLayer.SLPerfMeasRespDataMsgEntry.Parser, new[]{ "MsgType", "PerfSessionName", "OperationId", "Stats", "Info" }, new[]{ "Data" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasRespStateMsgEntry), global::ServiceLayer.SLPerfMeasRespStateMsgEntry.Parser, new[]{ "State", "PerfSessionName" }, new[]{ "PerfSessionName" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasRespMsgEntry), global::ServiceLayer.SLPerfMeasRespMsgEntry.Parser, new[]{ "Error", "SessionDetail", "SessionState" }, new[]{ "Event" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPerfMeasRespMsg), global::ServiceLayer.SLPerfMeasRespMsg.Parser, new[]{ "Entries" }, null, null, null, null) + })); + } + #endregion + + } + #region Enums + /// + /// Message type for request and response + /// + public enum SLPerfMeasMsgType { + /// + /// Reserved message type + /// + [pbr::OriginalName("SL_PERF_MEAS_MSG_RESERVED")] SlPerfMeasMsgReserved = 0, + /// + /// Request: Create a new session + /// Response: Perf session creation success + /// + [pbr::OriginalName("SL_PERF_MEAS_CREATE_SESSION")] SlPerfMeasCreateSession = 1, + /// + /// Request: Delete an existing session + /// Response: Perf session deletion success + /// + [pbr::OriginalName("SL_PERF_MEAS_DELETE_SESSION")] SlPerfMeasDeleteSession = 2, + /// + /// Request: Get stats about a created session + /// Response: Perf session get stats success + /// + [pbr::OriginalName("SL_PERF_MEAS_GET_STATS")] SlPerfMeasGetStats = 3, + /// + /// Request: Get info about a created session + /// Response: Perf session get info success + /// + [pbr::OriginalName("SL_PERF_MEAS_GET_INFO")] SlPerfMeasGetInfo = 4, + /// + /// Request: Flush MaxRtt from server + /// Response: Perf Session flush MaxRtt success + /// + [pbr::OriginalName("SL_PERF_MEAS_FLUSH_MAX_RTT")] SlPerfMeasFlushMaxRtt = 5, + } + + /// + /// State (UP/DOWN) notification for session + /// + public enum SLPerfMeasSessionState { + /// + /// Reserved message type + /// + [pbr::OriginalName("SL_PERF_MEAS_STATE_RESERVED")] SlPerfMeasStateReserved = 0, + /// + /// Perf session went down + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_DOWN")] SlPerfMeasSessionDown = 1, + /// + /// Perf session went up + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_UP")] SlPerfMeasSessionUp = 2, + /// + /// All perf session down (connection to perf_meas process down) + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_ALL_DOWN")] SlPerfMeasSessionAllDown = 3, + /// + /// All perf session deleted by perf_meas process + /// + [pbr::OriginalName("SL_PERF_MEAS_SESSION_ALL_DELETED")] SlPerfMeasSessionAllDeleted = 4, + } + + #endregion + + #region Messages + /// + /// Defines the parameters for a performance measurement session + /// All fields must be explicitly populated by the client, as no default values are assumed + /// An error response will be sent if any parameter is missing + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasMonitor : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasMonitor()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [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.SlPerfMeasReflection.Descriptor.MessageTypes[0]; } + } + + [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 SLPerfMeasMonitor() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasMonitor(SLPerfMeasMonitor other) : this() { + _hasBits0 = other._hasBits0; + perfSessionName_ = other.perfSessionName_; + source_ = other.source_ != null ? other.source_.Clone() : null; + destination_ = other.destination_ != null ? other.destination_.Clone() : null; + labelStack_ = other.labelStack_.Clone(); + probeInterval_ = other.probeInterval_; + timeoutCount_ = other.timeoutCount_; + interfaceInfo_ = other.interfaceInfo_ != null ? other.interfaceInfo_.Clone() : null; + dscpValue_ = other.dscpValue_; + nextHop_ = other.nextHop_ != null ? other.nextHop_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasMonitor Clone() { + return new SLPerfMeasMonitor(this); + } + + /// Field number for the "PerfSessionName" field. + public const int PerfSessionNameFieldNumber = 1; + private readonly static string PerfSessionNameDefaultValue = ""; + + private string perfSessionName_; + /// + /// Perf Session Name + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PerfSessionName { + get { return perfSessionName_ ?? PerfSessionNameDefaultValue; } + set { + perfSessionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "PerfSessionName" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPerfSessionName { + get { return perfSessionName_ != null; } + } + /// Clears the value of the "PerfSessionName" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPerfSessionName() { + perfSessionName_ = null; + } + + /// Field number for the "Source" field. + public const int SourceFieldNumber = 2; + private global::ServiceLayer.SLIpAddress source_; + /// + /// Source IP address + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLIpAddress Source { + get { return source_; } + set { + source_ = value; + } + } + + /// Field number for the "Destination" field. + public const int DestinationFieldNumber = 3; + private global::ServiceLayer.SLIpAddress destination_; + /// + /// Destination IP address + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLIpAddress Destination { + get { return destination_; } + set { + destination_ = value; + } + } + + /// Field number for the "LabelStack" field. + public const int LabelStackFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_labelStack_codec + = pb::FieldCodec.ForUInt32(34); + private readonly pbc::RepeatedField labelStack_ = new pbc::RepeatedField(); + /// + /// MPLS Label Stack. Must not be empty. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField LabelStack { + get { return labelStack_; } + } + + /// Field number for the "ProbeInterval" field. + public const int ProbeIntervalFieldNumber = 5; + private readonly static ulong ProbeIntervalDefaultValue = 0UL; + + private ulong probeInterval_; + /// + /// Probe interval in microseconds + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ProbeInterval { + get { if ((_hasBits0 & 1) != 0) { return probeInterval_; } else { return ProbeIntervalDefaultValue; } } + set { + _hasBits0 |= 1; + probeInterval_ = value; + } + } + /// Gets whether the "ProbeInterval" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasProbeInterval { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "ProbeInterval" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearProbeInterval() { + _hasBits0 &= ~1; + } + + /// Field number for the "TimeoutCount" field. + public const int TimeoutCountFieldNumber = 6; + private readonly static uint TimeoutCountDefaultValue = 0; + + private uint timeoutCount_; + /// + /// Total packet loss count before declaring session down + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint TimeoutCount { + get { if ((_hasBits0 & 2) != 0) { return timeoutCount_; } else { return TimeoutCountDefaultValue; } } + set { + _hasBits0 |= 2; + timeoutCount_ = value; + } + } + /// Gets whether the "TimeoutCount" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimeoutCount { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "TimeoutCount" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimeoutCount() { + _hasBits0 &= ~2; + } + + /// Field number for the "InterfaceInfo" field. + public const int InterfaceInfoFieldNumber = 7; + private global::ServiceLayer.SLInterface interfaceInfo_; + /// + /// Interface info. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLInterface InterfaceInfo { + get { return interfaceInfo_; } + set { + interfaceInfo_ = value; + } + } + + /// Field number for the "DscpValue" field. + public const int DscpValueFieldNumber = 8; + private readonly static uint DscpValueDefaultValue = 0; + + private uint dscpValue_; + /// + /// DSCP + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint DscpValue { + get { if ((_hasBits0 & 4) != 0) { return dscpValue_; } else { return DscpValueDefaultValue; } } + set { + _hasBits0 |= 4; + dscpValue_ = value; + } + } + /// Gets whether the "DscpValue" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDscpValue { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "DscpValue" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDscpValue() { + _hasBits0 &= ~4; + } + + /// Field number for the "NextHop" field. + public const int NextHopFieldNumber = 9; + private global::ServiceLayer.SLIpAddress nextHop_; + /// + /// Next Hop IP + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLIpAddress NextHop { + get { return nextHop_; } + set { + nextHop_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasMonitor); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasMonitor other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PerfSessionName != other.PerfSessionName) return false; + if (!object.Equals(Source, other.Source)) return false; + if (!object.Equals(Destination, other.Destination)) return false; + if(!labelStack_.Equals(other.labelStack_)) return false; + if (ProbeInterval != other.ProbeInterval) return false; + if (TimeoutCount != other.TimeoutCount) return false; + if (!object.Equals(InterfaceInfo, other.InterfaceInfo)) return false; + if (DscpValue != other.DscpValue) return false; + if (!object.Equals(NextHop, other.NextHop)) 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 (HasPerfSessionName) hash ^= PerfSessionName.GetHashCode(); + if (source_ != null) hash ^= Source.GetHashCode(); + if (destination_ != null) hash ^= Destination.GetHashCode(); + hash ^= labelStack_.GetHashCode(); + if (HasProbeInterval) hash ^= ProbeInterval.GetHashCode(); + if (HasTimeoutCount) hash ^= TimeoutCount.GetHashCode(); + if (interfaceInfo_ != null) hash ^= InterfaceInfo.GetHashCode(); + if (HasDscpValue) hash ^= DscpValue.GetHashCode(); + if (nextHop_ != null) hash ^= NextHop.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 (HasPerfSessionName) { + output.WriteRawTag(10); + output.WriteString(PerfSessionName); + } + if (source_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Source); + } + if (destination_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Destination); + } + labelStack_.WriteTo(output, _repeated_labelStack_codec); + if (HasProbeInterval) { + output.WriteRawTag(40); + output.WriteUInt64(ProbeInterval); + } + if (HasTimeoutCount) { + output.WriteRawTag(48); + output.WriteUInt32(TimeoutCount); + } + if (interfaceInfo_ != null) { + output.WriteRawTag(58); + output.WriteMessage(InterfaceInfo); + } + if (HasDscpValue) { + output.WriteRawTag(64); + output.WriteUInt32(DscpValue); + } + if (nextHop_ != null) { + output.WriteRawTag(74); + output.WriteMessage(NextHop); + } + 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 (HasPerfSessionName) { + output.WriteRawTag(10); + output.WriteString(PerfSessionName); + } + if (source_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Source); + } + if (destination_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Destination); + } + labelStack_.WriteTo(ref output, _repeated_labelStack_codec); + if (HasProbeInterval) { + output.WriteRawTag(40); + output.WriteUInt64(ProbeInterval); + } + if (HasTimeoutCount) { + output.WriteRawTag(48); + output.WriteUInt32(TimeoutCount); + } + if (interfaceInfo_ != null) { + output.WriteRawTag(58); + output.WriteMessage(InterfaceInfo); + } + if (HasDscpValue) { + output.WriteRawTag(64); + output.WriteUInt32(DscpValue); + } + if (nextHop_ != null) { + output.WriteRawTag(74); + output.WriteMessage(NextHop); + } + 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 (HasPerfSessionName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PerfSessionName); + } + if (source_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Source); + } + if (destination_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Destination); + } + size += labelStack_.CalculateSize(_repeated_labelStack_codec); + if (HasProbeInterval) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ProbeInterval); + } + if (HasTimeoutCount) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TimeoutCount); + } + if (interfaceInfo_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(InterfaceInfo); + } + if (HasDscpValue) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DscpValue); + } + if (nextHop_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(NextHop); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasMonitor other) { + if (other == null) { + return; + } + if (other.HasPerfSessionName) { + PerfSessionName = other.PerfSessionName; + } + if (other.source_ != null) { + if (source_ == null) { + Source = new global::ServiceLayer.SLIpAddress(); + } + Source.MergeFrom(other.Source); + } + if (other.destination_ != null) { + if (destination_ == null) { + Destination = new global::ServiceLayer.SLIpAddress(); + } + Destination.MergeFrom(other.Destination); + } + labelStack_.Add(other.labelStack_); + if (other.HasProbeInterval) { + ProbeInterval = other.ProbeInterval; + } + if (other.HasTimeoutCount) { + TimeoutCount = other.TimeoutCount; + } + if (other.interfaceInfo_ != null) { + if (interfaceInfo_ == null) { + InterfaceInfo = new global::ServiceLayer.SLInterface(); + } + InterfaceInfo.MergeFrom(other.InterfaceInfo); + } + if (other.HasDscpValue) { + DscpValue = other.DscpValue; + } + if (other.nextHop_ != null) { + if (nextHop_ == null) { + NextHop = new global::ServiceLayer.SLIpAddress(); + } + NextHop.MergeFrom(other.NextHop); + } + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + PerfSessionName = input.ReadString(); + break; + } + case 18: { + if (source_ == null) { + Source = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(Source); + break; + } + case 26: { + if (destination_ == null) { + Destination = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(Destination); + break; + } + case 34: + case 32: { + labelStack_.AddEntriesFrom(input, _repeated_labelStack_codec); + break; + } + case 40: { + ProbeInterval = input.ReadUInt64(); + break; + } + case 48: { + TimeoutCount = input.ReadUInt32(); + break; + } + case 58: { + if (interfaceInfo_ == null) { + InterfaceInfo = new global::ServiceLayer.SLInterface(); + } + input.ReadMessage(InterfaceInfo); + break; + } + case 64: { + DscpValue = input.ReadUInt32(); + break; + } + case 74: { + if (nextHop_ == null) { + NextHop = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(NextHop); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + PerfSessionName = input.ReadString(); + break; + } + case 18: { + if (source_ == null) { + Source = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(Source); + break; + } + case 26: { + if (destination_ == null) { + Destination = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(Destination); + break; + } + case 34: + case 32: { + labelStack_.AddEntriesFrom(ref input, _repeated_labelStack_codec); + break; + } + case 40: { + ProbeInterval = input.ReadUInt64(); + break; + } + case 48: { + TimeoutCount = input.ReadUInt32(); + break; + } + case 58: { + if (interfaceInfo_ == null) { + InterfaceInfo = new global::ServiceLayer.SLInterface(); + } + input.ReadMessage(InterfaceInfo); + break; + } + case 64: { + DscpValue = input.ReadUInt32(); + break; + } + case 74: { + if (nextHop_ == null) { + NextHop = new global::ServiceLayer.SLIpAddress(); + } + input.ReadMessage(NextHop); + break; + } + } + } + } + #endif + + } + + /// + /// Performance measurement statistics + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasStats()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[1]; } + } + + [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 SLPerfMeasStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasStats(SLPerfMeasStats other) : this() { + state_ = other.state_; + probesSent_ = other.probesSent_; + probesReceived_ = other.probesReceived_; + minRtt_ = other.minRtt_; + maxRtt_ = other.maxRtt_; + avgRtt_ = other.avgRtt_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasStats Clone() { + return new SLPerfMeasStats(this); + } + + /// Field number for the "State" field. + public const int StateFieldNumber = 1; + private global::ServiceLayer.SLPerfMeasSessionState state_ = global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved; + /// + /// Current state of the session + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasSessionState State { + get { return state_; } + set { + state_ = value; + } + } + + /// Field number for the "ProbesSent" field. + public const int ProbesSentFieldNumber = 2; + private ulong probesSent_; + /// + /// Number of probes sent + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ProbesSent { + get { return probesSent_; } + set { + probesSent_ = value; + } + } + + /// Field number for the "ProbesReceived" field. + public const int ProbesReceivedFieldNumber = 3; + private ulong probesReceived_; + /// + /// Number of responses received + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ProbesReceived { + get { return probesReceived_; } + set { + probesReceived_ = value; + } + } + + /// Field number for the "MinRtt" field. + public const int MinRttFieldNumber = 4; + private ulong minRtt_; + /// + /// Minimum RTT in nanoseconds + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong MinRtt { + get { return minRtt_; } + set { + minRtt_ = value; + } + } + + /// Field number for the "MaxRtt" field. + public const int MaxRttFieldNumber = 5; + private ulong maxRtt_; + /// + /// Maximum RTT in nanoseconds + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong MaxRtt { + get { return maxRtt_; } + set { + maxRtt_ = value; + } + } + + /// Field number for the "AvgRtt" field. + public const int AvgRttFieldNumber = 6; + private ulong avgRtt_; + /// + /// Avg RTT in nanoseconds + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AvgRtt { + get { return avgRtt_; } + set { + avgRtt_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (State != other.State) return false; + if (ProbesSent != other.ProbesSent) return false; + if (ProbesReceived != other.ProbesReceived) return false; + if (MinRtt != other.MinRtt) return false; + if (MaxRtt != other.MaxRtt) return false; + if (AvgRtt != other.AvgRtt) 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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) hash ^= State.GetHashCode(); + if (ProbesSent != 0UL) hash ^= ProbesSent.GetHashCode(); + if (ProbesReceived != 0UL) hash ^= ProbesReceived.GetHashCode(); + if (MinRtt != 0UL) hash ^= MinRtt.GetHashCode(); + if (MaxRtt != 0UL) hash ^= MaxRtt.GetHashCode(); + if (AvgRtt != 0UL) hash ^= AvgRtt.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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + output.WriteRawTag(8); + output.WriteEnum((int) State); + } + if (ProbesSent != 0UL) { + output.WriteRawTag(16); + output.WriteUInt64(ProbesSent); + } + if (ProbesReceived != 0UL) { + output.WriteRawTag(24); + output.WriteUInt64(ProbesReceived); + } + if (MinRtt != 0UL) { + output.WriteRawTag(32); + output.WriteUInt64(MinRtt); + } + if (MaxRtt != 0UL) { + output.WriteRawTag(40); + output.WriteUInt64(MaxRtt); + } + if (AvgRtt != 0UL) { + output.WriteRawTag(48); + output.WriteUInt64(AvgRtt); + } + 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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + output.WriteRawTag(8); + output.WriteEnum((int) State); + } + if (ProbesSent != 0UL) { + output.WriteRawTag(16); + output.WriteUInt64(ProbesSent); + } + if (ProbesReceived != 0UL) { + output.WriteRawTag(24); + output.WriteUInt64(ProbesReceived); + } + if (MinRtt != 0UL) { + output.WriteRawTag(32); + output.WriteUInt64(MinRtt); + } + if (MaxRtt != 0UL) { + output.WriteRawTag(40); + output.WriteUInt64(MaxRtt); + } + if (AvgRtt != 0UL) { + output.WriteRawTag(48); + output.WriteUInt64(AvgRtt); + } + 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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + } + if (ProbesSent != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ProbesSent); + } + if (ProbesReceived != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ProbesReceived); + } + if (MinRtt != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MinRtt); + } + if (MaxRtt != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MaxRtt); + } + if (AvgRtt != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AvgRtt); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasStats other) { + if (other == null) { + return; + } + if (other.State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + State = other.State; + } + if (other.ProbesSent != 0UL) { + ProbesSent = other.ProbesSent; + } + if (other.ProbesReceived != 0UL) { + ProbesReceived = other.ProbesReceived; + } + if (other.MinRtt != 0UL) { + MinRtt = other.MinRtt; + } + if (other.MaxRtt != 0UL) { + MaxRtt = other.MaxRtt; + } + if (other.AvgRtt != 0UL) { + AvgRtt = other.AvgRtt; + } + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + State = (global::ServiceLayer.SLPerfMeasSessionState) input.ReadEnum(); + break; + } + case 16: { + ProbesSent = input.ReadUInt64(); + break; + } + case 24: { + ProbesReceived = input.ReadUInt64(); + break; + } + case 32: { + MinRtt = input.ReadUInt64(); + break; + } + case 40: { + MaxRtt = input.ReadUInt64(); + break; + } + case 48: { + AvgRtt = input.ReadUInt64(); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + State = (global::ServiceLayer.SLPerfMeasSessionState) input.ReadEnum(); + break; + } + case 16: { + ProbesSent = input.ReadUInt64(); + break; + } + case 24: { + ProbesReceived = input.ReadUInt64(); + break; + } + case 32: { + MinRtt = input.ReadUInt64(); + break; + } + case 40: { + MaxRtt = input.ReadUInt64(); + break; + } + case 48: { + AvgRtt = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + /// + /// Message entry sent from client + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasReqMsgEntry : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasReqMsgEntry()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[2]; } + } + + [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 SLPerfMeasReqMsgEntry() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasReqMsgEntry(SLPerfMeasReqMsgEntry other) : this() { + operationId_ = other.operationId_; + msgType_ = other.msgType_; + switch (other.ValueCase) { + case ValueOneofCase.PerfSessionName: + PerfSessionName = other.PerfSessionName; + break; + case ValueOneofCase.Parameters: + Parameters = other.Parameters.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasReqMsgEntry Clone() { + return new SLPerfMeasReqMsgEntry(this); + } + + /// Field number for the "OperationId" field. + public const int OperationIdFieldNumber = 1; + private ulong operationId_; + /// + /// OperationId. This can be used to correlate replies with requests. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong OperationId { + get { return operationId_; } + set { + operationId_ = value; + } + } + + /// Field number for the "MsgType" field. + public const int MsgTypeFieldNumber = 2; + private global::ServiceLayer.SLPerfMeasMsgType msgType_ = global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved; + /// + /// The request type sent by client + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasMsgType MsgType { + get { return msgType_; } + set { + msgType_ = value; + } + } + + /// Field number for the "PerfSessionName" field. + public const int PerfSessionNameFieldNumber = 3; + /// + /// For get, flush Max RTT and delete only session name is required + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PerfSessionName { + get { return HasPerfSessionName ? (string) value_ : ""; } + set { + value_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + valueCase_ = ValueOneofCase.PerfSessionName; + } + } + /// Gets whether the "PerfSessionName" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPerfSessionName { + get { return valueCase_ == ValueOneofCase.PerfSessionName; } + } + /// Clears the value of the oneof if it's currently set to "PerfSessionName" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPerfSessionName() { + if (HasPerfSessionName) { + ClearValue(); + } + } + + /// Field number for the "Parameters" field. + public const int ParametersFieldNumber = 4; + /// + /// Parameter details for session creation + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasMonitor Parameters { + get { return valueCase_ == ValueOneofCase.Parameters ? (global::ServiceLayer.SLPerfMeasMonitor) value_ : null; } + set { + value_ = value; + valueCase_ = value == null ? ValueOneofCase.None : ValueOneofCase.Parameters; + } + } + + private object value_; + /// Enum of possible cases for the "Value" oneof. + public enum ValueOneofCase { + None = 0, + PerfSessionName = 3, + Parameters = 4, + } + private ValueOneofCase valueCase_ = ValueOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ValueOneofCase ValueCase { + get { return valueCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearValue() { + valueCase_ = ValueOneofCase.None; + value_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasReqMsgEntry); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasReqMsgEntry other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (OperationId != other.OperationId) return false; + if (MsgType != other.MsgType) return false; + if (PerfSessionName != other.PerfSessionName) return false; + if (!object.Equals(Parameters, other.Parameters)) return false; + if (ValueCase != other.ValueCase) 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 (OperationId != 0UL) hash ^= OperationId.GetHashCode(); + if (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) hash ^= MsgType.GetHashCode(); + if (HasPerfSessionName) hash ^= PerfSessionName.GetHashCode(); + if (valueCase_ == ValueOneofCase.Parameters) hash ^= Parameters.GetHashCode(); + hash ^= (int) valueCase_; + 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 (OperationId != 0UL) { + output.WriteRawTag(8); + output.WriteUInt64(OperationId); + } + if (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + output.WriteRawTag(16); + output.WriteEnum((int) MsgType); + } + if (HasPerfSessionName) { + output.WriteRawTag(26); + output.WriteString(PerfSessionName); + } + if (valueCase_ == ValueOneofCase.Parameters) { + output.WriteRawTag(34); + output.WriteMessage(Parameters); + } + 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 (OperationId != 0UL) { + output.WriteRawTag(8); + output.WriteUInt64(OperationId); + } + if (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + output.WriteRawTag(16); + output.WriteEnum((int) MsgType); + } + if (HasPerfSessionName) { + output.WriteRawTag(26); + output.WriteString(PerfSessionName); + } + if (valueCase_ == ValueOneofCase.Parameters) { + output.WriteRawTag(34); + output.WriteMessage(Parameters); + } + 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 (OperationId != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationId); + } + if (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MsgType); + } + if (HasPerfSessionName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PerfSessionName); + } + if (valueCase_ == ValueOneofCase.Parameters) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Parameters); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasReqMsgEntry other) { + if (other == null) { + return; + } + if (other.OperationId != 0UL) { + OperationId = other.OperationId; + } + if (other.MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + MsgType = other.MsgType; + } + switch (other.ValueCase) { + case ValueOneofCase.PerfSessionName: + PerfSessionName = other.PerfSessionName; + break; + case ValueOneofCase.Parameters: + if (Parameters == null) { + Parameters = new global::ServiceLayer.SLPerfMeasMonitor(); + } + Parameters.MergeFrom(other.Parameters); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + OperationId = input.ReadUInt64(); + break; + } + case 16: { + MsgType = (global::ServiceLayer.SLPerfMeasMsgType) input.ReadEnum(); + break; + } + case 26: { + PerfSessionName = input.ReadString(); + break; + } + case 34: { + global::ServiceLayer.SLPerfMeasMonitor subBuilder = new global::ServiceLayer.SLPerfMeasMonitor(); + if (valueCase_ == ValueOneofCase.Parameters) { + subBuilder.MergeFrom(Parameters); + } + input.ReadMessage(subBuilder); + Parameters = subBuilder; + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + OperationId = input.ReadUInt64(); + break; + } + case 16: { + MsgType = (global::ServiceLayer.SLPerfMeasMsgType) input.ReadEnum(); + break; + } + case 26: { + PerfSessionName = input.ReadString(); + break; + } + case 34: { + global::ServiceLayer.SLPerfMeasMonitor subBuilder = new global::ServiceLayer.SLPerfMeasMonitor(); + if (valueCase_ == ValueOneofCase.Parameters) { + subBuilder.MergeFrom(Parameters); + } + input.ReadMessage(subBuilder); + Parameters = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Message request sent from client + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasReqMsg : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasReqMsg()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[3]; } + } + + [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 SLPerfMeasReqMsg() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasReqMsg(SLPerfMeasReqMsg other) : this() { + entries_ = other.entries_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasReqMsg Clone() { + return new SLPerfMeasReqMsg(this); + } + + /// Field number for the "Entries" field. + public const int EntriesFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_entries_codec + = pb::FieldCodec.ForMessage(10, global::ServiceLayer.SLPerfMeasReqMsgEntry.Parser); + private readonly pbc::RepeatedField entries_ = new pbc::RepeatedField(); + /// + /// Request entries + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Entries { + get { return entries_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasReqMsg); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasReqMsg other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!entries_.Equals(other.entries_)) 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 ^= entries_.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 + entries_.WriteTo(output, _repeated_entries_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) { + entries_.WriteTo(ref output, _repeated_entries_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 += entries_.CalculateSize(_repeated_entries_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasReqMsg other) { + if (other == null) { + return; + } + entries_.Add(other.entries_); + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + entries_.AddEntriesFrom(input, _repeated_entries_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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + entries_.AddEntriesFrom(ref input, _repeated_entries_codec); + break; + } + } + } + } + #endif + + } + + /// + /// Performance Measurement Notification error response message entry + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasRespErrMsgEntry : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasRespErrMsgEntry()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[4]; } + } + + [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 SLPerfMeasRespErrMsgEntry() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespErrMsgEntry(SLPerfMeasRespErrMsgEntry other) : this() { + operationId_ = other.operationId_; + errStatus_ = other.errStatus_ != null ? other.errStatus_.Clone() : null; + perfSessionName_ = other.perfSessionName_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespErrMsgEntry Clone() { + return new SLPerfMeasRespErrMsgEntry(this); + } + + /// Field number for the "OperationId" field. + public const int OperationIdFieldNumber = 1; + private ulong operationId_; + /// + /// OperationId for correlation + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong OperationId { + get { return operationId_; } + set { + operationId_ = value; + } + } + + /// Field number for the "ErrStatus" field. + public const int ErrStatusFieldNumber = 2; + private global::ServiceLayer.SLErrorStatus errStatus_; + /// + /// Error status + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLErrorStatus ErrStatus { + get { return errStatus_; } + set { + errStatus_ = value; + } + } + + /// Field number for the "PerfSessionName" field. + public const int PerfSessionNameFieldNumber = 3; + private string perfSessionName_ = ""; + /// + /// Perf Session Name + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PerfSessionName { + get { return perfSessionName_; } + set { + perfSessionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasRespErrMsgEntry); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasRespErrMsgEntry other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (OperationId != other.OperationId) return false; + if (!object.Equals(ErrStatus, other.ErrStatus)) return false; + if (PerfSessionName != other.PerfSessionName) 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 (OperationId != 0UL) hash ^= OperationId.GetHashCode(); + if (errStatus_ != null) hash ^= ErrStatus.GetHashCode(); + if (PerfSessionName.Length != 0) hash ^= PerfSessionName.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 (OperationId != 0UL) { + output.WriteRawTag(8); + output.WriteUInt64(OperationId); + } + if (errStatus_ != null) { + output.WriteRawTag(18); + output.WriteMessage(ErrStatus); + } + if (PerfSessionName.Length != 0) { + output.WriteRawTag(26); + output.WriteString(PerfSessionName); + } + 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 (OperationId != 0UL) { + output.WriteRawTag(8); + output.WriteUInt64(OperationId); + } + if (errStatus_ != null) { + output.WriteRawTag(18); + output.WriteMessage(ErrStatus); + } + if (PerfSessionName.Length != 0) { + output.WriteRawTag(26); + output.WriteString(PerfSessionName); + } + 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 (OperationId != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationId); + } + if (errStatus_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ErrStatus); + } + if (PerfSessionName.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PerfSessionName); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasRespErrMsgEntry other) { + if (other == null) { + return; + } + if (other.OperationId != 0UL) { + OperationId = other.OperationId; + } + if (other.errStatus_ != null) { + if (errStatus_ == null) { + ErrStatus = new global::ServiceLayer.SLErrorStatus(); + } + ErrStatus.MergeFrom(other.ErrStatus); + } + if (other.PerfSessionName.Length != 0) { + PerfSessionName = other.PerfSessionName; + } + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + OperationId = input.ReadUInt64(); + break; + } + case 18: { + if (errStatus_ == null) { + ErrStatus = new global::ServiceLayer.SLErrorStatus(); + } + input.ReadMessage(ErrStatus); + break; + } + case 26: { + PerfSessionName = input.ReadString(); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + OperationId = input.ReadUInt64(); + break; + } + case 18: { + if (errStatus_ == null) { + ErrStatus = new global::ServiceLayer.SLErrorStatus(); + } + input.ReadMessage(ErrStatus); + break; + } + case 26: { + PerfSessionName = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// Performance Measurement Create, Delete, Get Info/Stats response message + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasRespDataMsgEntry : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasRespDataMsgEntry()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[5]; } + } + + [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 SLPerfMeasRespDataMsgEntry() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespDataMsgEntry(SLPerfMeasRespDataMsgEntry other) : this() { + msgType_ = other.msgType_; + perfSessionName_ = other.perfSessionName_; + operationId_ = other.operationId_; + switch (other.DataCase) { + case DataOneofCase.Stats: + Stats = other.Stats.Clone(); + break; + case DataOneofCase.Info: + Info = other.Info.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespDataMsgEntry Clone() { + return new SLPerfMeasRespDataMsgEntry(this); + } + + /// Field number for the "MsgType" field. + public const int MsgTypeFieldNumber = 1; + private global::ServiceLayer.SLPerfMeasMsgType msgType_ = global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved; + /// + /// Type of response + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasMsgType MsgType { + get { return msgType_; } + set { + msgType_ = value; + } + } + + /// Field number for the "PerfSessionName" field. + public const int PerfSessionNameFieldNumber = 2; + private string perfSessionName_ = ""; + /// + /// Perf Session Name + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PerfSessionName { + get { return perfSessionName_; } + set { + perfSessionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "OperationId" field. + public const int OperationIdFieldNumber = 3; + private ulong operationId_; + /// + /// The field is used to reflect the original OperationId set by the client + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong OperationId { + get { return operationId_; } + set { + operationId_ = value; + } + } + + /// Field number for the "Stats" field. + public const int StatsFieldNumber = 4; + /// + /// Stats of the session + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasStats Stats { + get { return dataCase_ == DataOneofCase.Stats ? (global::ServiceLayer.SLPerfMeasStats) data_ : null; } + set { + data_ = value; + dataCase_ = value == null ? DataOneofCase.None : DataOneofCase.Stats; + } + } + + /// Field number for the "Info" field. + public const int InfoFieldNumber = 5; + /// + /// Info of the session + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasMonitor Info { + get { return dataCase_ == DataOneofCase.Info ? (global::ServiceLayer.SLPerfMeasMonitor) data_ : null; } + set { + data_ = value; + dataCase_ = value == null ? DataOneofCase.None : DataOneofCase.Info; + } + } + + private object data_; + /// Enum of possible cases for the "Data" oneof. + public enum DataOneofCase { + None = 0, + Stats = 4, + Info = 5, + } + private DataOneofCase dataCase_ = DataOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataOneofCase DataCase { + get { return dataCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearData() { + dataCase_ = DataOneofCase.None; + data_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasRespDataMsgEntry); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasRespDataMsgEntry other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (MsgType != other.MsgType) return false; + if (PerfSessionName != other.PerfSessionName) return false; + if (OperationId != other.OperationId) return false; + if (!object.Equals(Stats, other.Stats)) return false; + if (!object.Equals(Info, other.Info)) return false; + if (DataCase != other.DataCase) 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 (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) hash ^= MsgType.GetHashCode(); + if (PerfSessionName.Length != 0) hash ^= PerfSessionName.GetHashCode(); + if (OperationId != 0UL) hash ^= OperationId.GetHashCode(); + if (dataCase_ == DataOneofCase.Stats) hash ^= Stats.GetHashCode(); + if (dataCase_ == DataOneofCase.Info) hash ^= Info.GetHashCode(); + hash ^= (int) dataCase_; + 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 (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + output.WriteRawTag(8); + output.WriteEnum((int) MsgType); + } + if (PerfSessionName.Length != 0) { + output.WriteRawTag(18); + output.WriteString(PerfSessionName); + } + if (OperationId != 0UL) { + output.WriteRawTag(24); + output.WriteUInt64(OperationId); + } + if (dataCase_ == DataOneofCase.Stats) { + output.WriteRawTag(34); + output.WriteMessage(Stats); + } + if (dataCase_ == DataOneofCase.Info) { + output.WriteRawTag(42); + output.WriteMessage(Info); + } + 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 (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + output.WriteRawTag(8); + output.WriteEnum((int) MsgType); + } + if (PerfSessionName.Length != 0) { + output.WriteRawTag(18); + output.WriteString(PerfSessionName); + } + if (OperationId != 0UL) { + output.WriteRawTag(24); + output.WriteUInt64(OperationId); + } + if (dataCase_ == DataOneofCase.Stats) { + output.WriteRawTag(34); + output.WriteMessage(Stats); + } + if (dataCase_ == DataOneofCase.Info) { + output.WriteRawTag(42); + output.WriteMessage(Info); + } + 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 (MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MsgType); + } + if (PerfSessionName.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PerfSessionName); + } + if (OperationId != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OperationId); + } + if (dataCase_ == DataOneofCase.Stats) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stats); + } + if (dataCase_ == DataOneofCase.Info) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasRespDataMsgEntry other) { + if (other == null) { + return; + } + if (other.MsgType != global::ServiceLayer.SLPerfMeasMsgType.SlPerfMeasMsgReserved) { + MsgType = other.MsgType; + } + if (other.PerfSessionName.Length != 0) { + PerfSessionName = other.PerfSessionName; + } + if (other.OperationId != 0UL) { + OperationId = other.OperationId; + } + switch (other.DataCase) { + case DataOneofCase.Stats: + if (Stats == null) { + Stats = new global::ServiceLayer.SLPerfMeasStats(); + } + Stats.MergeFrom(other.Stats); + break; + case DataOneofCase.Info: + if (Info == null) { + Info = new global::ServiceLayer.SLPerfMeasMonitor(); + } + Info.MergeFrom(other.Info); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + MsgType = (global::ServiceLayer.SLPerfMeasMsgType) input.ReadEnum(); + break; + } + case 18: { + PerfSessionName = input.ReadString(); + break; + } + case 24: { + OperationId = input.ReadUInt64(); + break; + } + case 34: { + global::ServiceLayer.SLPerfMeasStats subBuilder = new global::ServiceLayer.SLPerfMeasStats(); + if (dataCase_ == DataOneofCase.Stats) { + subBuilder.MergeFrom(Stats); + } + input.ReadMessage(subBuilder); + Stats = subBuilder; + break; + } + case 42: { + global::ServiceLayer.SLPerfMeasMonitor subBuilder = new global::ServiceLayer.SLPerfMeasMonitor(); + if (dataCase_ == DataOneofCase.Info) { + subBuilder.MergeFrom(Info); + } + input.ReadMessage(subBuilder); + Info = subBuilder; + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + MsgType = (global::ServiceLayer.SLPerfMeasMsgType) input.ReadEnum(); + break; + } + case 18: { + PerfSessionName = input.ReadString(); + break; + } + case 24: { + OperationId = input.ReadUInt64(); + break; + } + case 34: { + global::ServiceLayer.SLPerfMeasStats subBuilder = new global::ServiceLayer.SLPerfMeasStats(); + if (dataCase_ == DataOneofCase.Stats) { + subBuilder.MergeFrom(Stats); + } + input.ReadMessage(subBuilder); + Stats = subBuilder; + break; + } + case 42: { + global::ServiceLayer.SLPerfMeasMonitor subBuilder = new global::ServiceLayer.SLPerfMeasMonitor(); + if (dataCase_ == DataOneofCase.Info) { + subBuilder.MergeFrom(Info); + } + input.ReadMessage(subBuilder); + Info = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Performance Measurement UP/DOWN state change notification message + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasRespStateMsgEntry : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasRespStateMsgEntry()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[6]; } + } + + [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 SLPerfMeasRespStateMsgEntry() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespStateMsgEntry(SLPerfMeasRespStateMsgEntry other) : this() { + state_ = other.state_; + perfSessionName_ = other.perfSessionName_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespStateMsgEntry Clone() { + return new SLPerfMeasRespStateMsgEntry(this); + } + + /// Field number for the "State" field. + public const int StateFieldNumber = 1; + private global::ServiceLayer.SLPerfMeasSessionState state_ = global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved; + /// + /// Type of response + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasSessionState State { + get { return state_; } + set { + state_ = value; + } + } + + /// Field number for the "PerfSessionName" field. + public const int PerfSessionNameFieldNumber = 2; + private readonly static string PerfSessionNameDefaultValue = ""; + + private string perfSessionName_; + /// + /// Perf Session Name. Unset for global states + /// (SL_PERF_MEAS_SESSION_ALL_DOWN, SL_PERF_MEAS_SESSION_ALL_DELETED). + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PerfSessionName { + get { return perfSessionName_ ?? PerfSessionNameDefaultValue; } + set { + perfSessionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "PerfSessionName" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPerfSessionName { + get { return perfSessionName_ != null; } + } + /// Clears the value of the "PerfSessionName" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPerfSessionName() { + perfSessionName_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasRespStateMsgEntry); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasRespStateMsgEntry other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (State != other.State) return false; + if (PerfSessionName != other.PerfSessionName) 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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) hash ^= State.GetHashCode(); + if (HasPerfSessionName) hash ^= PerfSessionName.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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + output.WriteRawTag(8); + output.WriteEnum((int) State); + } + if (HasPerfSessionName) { + output.WriteRawTag(18); + output.WriteString(PerfSessionName); + } + 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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + output.WriteRawTag(8); + output.WriteEnum((int) State); + } + if (HasPerfSessionName) { + output.WriteRawTag(18); + output.WriteString(PerfSessionName); + } + 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 (State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + } + if (HasPerfSessionName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PerfSessionName); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasRespStateMsgEntry other) { + if (other == null) { + return; + } + if (other.State != global::ServiceLayer.SLPerfMeasSessionState.SlPerfMeasStateReserved) { + State = other.State; + } + if (other.HasPerfSessionName) { + PerfSessionName = other.PerfSessionName; + } + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + State = (global::ServiceLayer.SLPerfMeasSessionState) input.ReadEnum(); + break; + } + case 18: { + PerfSessionName = input.ReadString(); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + State = (global::ServiceLayer.SLPerfMeasSessionState) input.ReadEnum(); + break; + } + case 18: { + PerfSessionName = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// Performance Measurement response message + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasRespMsgEntry : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasRespMsgEntry()); + 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.SlPerfMeasReflection.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 SLPerfMeasRespMsgEntry() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespMsgEntry(SLPerfMeasRespMsgEntry other) : this() { + switch (other.EventCase) { + case EventOneofCase.Error: + Error = other.Error.Clone(); + break; + case EventOneofCase.SessionDetail: + SessionDetail = other.SessionDetail.Clone(); + break; + case EventOneofCase.SessionState: + SessionState = other.SessionState.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespMsgEntry Clone() { + return new SLPerfMeasRespMsgEntry(this); + } + + /// Field number for the "Error" field. + public const int ErrorFieldNumber = 1; + /// + /// This field carries error info, if any error occurs + /// during request processing + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasRespErrMsgEntry Error { + get { return eventCase_ == EventOneofCase.Error ? (global::ServiceLayer.SLPerfMeasRespErrMsgEntry) event_ : null; } + set { + event_ = value; + eventCase_ = value == null ? EventOneofCase.None : EventOneofCase.Error; + } + } + + /// Field number for the "SessionDetail" field. + public const int SessionDetailFieldNumber = 2; + /// + /// This field carries the session related details + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasRespDataMsgEntry SessionDetail { + get { return eventCase_ == EventOneofCase.SessionDetail ? (global::ServiceLayer.SLPerfMeasRespDataMsgEntry) event_ : null; } + set { + event_ = value; + eventCase_ = value == null ? EventOneofCase.None : EventOneofCase.SessionDetail; + } + } + + /// Field number for the "SessionState" field. + public const int SessionStateFieldNumber = 3; + /// + /// This field notifies state changes for PM Probe sessions + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPerfMeasRespStateMsgEntry SessionState { + get { return eventCase_ == EventOneofCase.SessionState ? (global::ServiceLayer.SLPerfMeasRespStateMsgEntry) event_ : null; } + set { + event_ = value; + eventCase_ = value == null ? EventOneofCase.None : EventOneofCase.SessionState; + } + } + + private object event_; + /// Enum of possible cases for the "Event" oneof. + public enum EventOneofCase { + None = 0, + Error = 1, + SessionDetail = 2, + SessionState = 3, + } + private EventOneofCase eventCase_ = EventOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EventOneofCase EventCase { + get { return eventCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEvent() { + eventCase_ = EventOneofCase.None; + event_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasRespMsgEntry); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasRespMsgEntry other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Error, other.Error)) return false; + if (!object.Equals(SessionDetail, other.SessionDetail)) return false; + if (!object.Equals(SessionState, other.SessionState)) return false; + if (EventCase != other.EventCase) 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 (eventCase_ == EventOneofCase.Error) hash ^= Error.GetHashCode(); + if (eventCase_ == EventOneofCase.SessionDetail) hash ^= SessionDetail.GetHashCode(); + if (eventCase_ == EventOneofCase.SessionState) hash ^= SessionState.GetHashCode(); + hash ^= (int) eventCase_; + 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 (eventCase_ == EventOneofCase.Error) { + output.WriteRawTag(10); + output.WriteMessage(Error); + } + if (eventCase_ == EventOneofCase.SessionDetail) { + output.WriteRawTag(18); + output.WriteMessage(SessionDetail); + } + if (eventCase_ == EventOneofCase.SessionState) { + output.WriteRawTag(26); + output.WriteMessage(SessionState); + } + 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 (eventCase_ == EventOneofCase.Error) { + output.WriteRawTag(10); + output.WriteMessage(Error); + } + if (eventCase_ == EventOneofCase.SessionDetail) { + output.WriteRawTag(18); + output.WriteMessage(SessionDetail); + } + if (eventCase_ == EventOneofCase.SessionState) { + output.WriteRawTag(26); + output.WriteMessage(SessionState); + } + 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 (eventCase_ == EventOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (eventCase_ == EventOneofCase.SessionDetail) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SessionDetail); + } + if (eventCase_ == EventOneofCase.SessionState) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SessionState); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasRespMsgEntry other) { + if (other == null) { + return; + } + switch (other.EventCase) { + case EventOneofCase.Error: + if (Error == null) { + Error = new global::ServiceLayer.SLPerfMeasRespErrMsgEntry(); + } + Error.MergeFrom(other.Error); + break; + case EventOneofCase.SessionDetail: + if (SessionDetail == null) { + SessionDetail = new global::ServiceLayer.SLPerfMeasRespDataMsgEntry(); + } + SessionDetail.MergeFrom(other.SessionDetail); + break; + case EventOneofCase.SessionState: + if (SessionState == null) { + SessionState = new global::ServiceLayer.SLPerfMeasRespStateMsgEntry(); + } + SessionState.MergeFrom(other.SessionState); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + global::ServiceLayer.SLPerfMeasRespErrMsgEntry subBuilder = new global::ServiceLayer.SLPerfMeasRespErrMsgEntry(); + if (eventCase_ == EventOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + case 18: { + global::ServiceLayer.SLPerfMeasRespDataMsgEntry subBuilder = new global::ServiceLayer.SLPerfMeasRespDataMsgEntry(); + if (eventCase_ == EventOneofCase.SessionDetail) { + subBuilder.MergeFrom(SessionDetail); + } + input.ReadMessage(subBuilder); + SessionDetail = subBuilder; + break; + } + case 26: { + global::ServiceLayer.SLPerfMeasRespStateMsgEntry subBuilder = new global::ServiceLayer.SLPerfMeasRespStateMsgEntry(); + if (eventCase_ == EventOneofCase.SessionState) { + subBuilder.MergeFrom(SessionState); + } + input.ReadMessage(subBuilder); + SessionState = subBuilder; + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + global::ServiceLayer.SLPerfMeasRespErrMsgEntry subBuilder = new global::ServiceLayer.SLPerfMeasRespErrMsgEntry(); + if (eventCase_ == EventOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + case 18: { + global::ServiceLayer.SLPerfMeasRespDataMsgEntry subBuilder = new global::ServiceLayer.SLPerfMeasRespDataMsgEntry(); + if (eventCase_ == EventOneofCase.SessionDetail) { + subBuilder.MergeFrom(SessionDetail); + } + input.ReadMessage(subBuilder); + SessionDetail = subBuilder; + break; + } + case 26: { + global::ServiceLayer.SLPerfMeasRespStateMsgEntry subBuilder = new global::ServiceLayer.SLPerfMeasRespStateMsgEntry(); + if (eventCase_ == EventOneofCase.SessionState) { + subBuilder.MergeFrom(SessionState); + } + input.ReadMessage(subBuilder); + SessionState = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Message response sent from server + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPerfMeasRespMsg : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPerfMeasRespMsg()); + 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.SlPerfMeasReflection.Descriptor.MessageTypes[8]; } + } + + [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 SLPerfMeasRespMsg() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespMsg(SLPerfMeasRespMsg other) : this() { + entries_ = other.entries_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPerfMeasRespMsg Clone() { + return new SLPerfMeasRespMsg(this); + } + + /// Field number for the "Entries" field. + public const int EntriesFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_entries_codec + = pb::FieldCodec.ForMessage(10, global::ServiceLayer.SLPerfMeasRespMsgEntry.Parser); + private readonly pbc::RepeatedField entries_ = new pbc::RepeatedField(); + /// + /// Response entries + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Entries { + get { return entries_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPerfMeasRespMsg); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPerfMeasRespMsg other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!entries_.Equals(other.entries_)) 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 ^= entries_.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 + entries_.WriteTo(output, _repeated_entries_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) { + entries_.WriteTo(ref output, _repeated_entries_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 += entries_.CalculateSize(_repeated_entries_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPerfMeasRespMsg other) { + if (other == null) { + return; + } + entries_.Add(other.entries_); + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + entries_.AddEntriesFrom(input, _repeated_entries_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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + entries_.AddEntriesFrom(ref input, _repeated_entries_codec); + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/grpc/dotnet/src/gencs/SlPerfMeasGrpc.cs b/grpc/dotnet/src/gencs/SlPerfMeasGrpc.cs new file mode 100644 index 00000000..631ec091 --- /dev/null +++ b/grpc/dotnet/src/gencs/SlPerfMeasGrpc.cs @@ -0,0 +1,318 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: sl_perf_meas.proto +// +// Original file comments: +// @file +// @brief Server RPC proto file for Performance monitoring probing. +// Declares an RPC that gets performance monitoring details. +// ---------------------------------------------------------------- +// Copyright (c) 2026 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +#pragma warning disable 0414, 1591 +#region Designer generated code + +using grpc = global::Grpc.Core; + +namespace ServiceLayer { + /// + ///@defgroup Performance + ///@brief Performance monitoring service definitions. + ///Defines the RPC for programming performance-measurement sessions and + ///receiving notifications for those sessions. + ///@{ + /// + public static partial class SLPerfMeasOper + { + static readonly string __ServiceName = "service_layer.SLPerfMeasOper"; + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context) + { + #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION + if (message is global::Google.Protobuf.IBufferMessage) + { + context.SetPayloadLength(message.CalculateSize()); + global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter()); + context.Complete(); + return; + } + #endif + context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message)); + } + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static class __Helper_MessageCache + { + public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T)); + } + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage + { + #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION + if (__Helper_MessageCache.IsBufferMessage) + { + return parser.ParseFrom(context.PayloadAsReadOnlySequence()); + } + #endif + return parser.ParseFrom(context.PayloadAsNewBuffer()); + } + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static readonly grpc::Marshaller __Marshaller_service_layer_SLPerfMeasReqMsg = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::ServiceLayer.SLPerfMeasReqMsg.Parser)); + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static readonly grpc::Marshaller __Marshaller_service_layer_SLPerfMeasRespMsg = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::ServiceLayer.SLPerfMeasRespMsg.Parser)); + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static readonly grpc::Method __Method_SLPerfMeasNotifStream = new grpc::Method( + grpc::MethodType.DuplexStreaming, + __ServiceName, + "SLPerfMeasNotifStream", + __Marshaller_service_layer_SLPerfMeasReqMsg, + __Marshaller_service_layer_SLPerfMeasRespMsg); + + /// Service descriptor + public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor + { + get { return global::ServiceLayer.SlPerfMeasReflection.Descriptor.Services[0]; } + } + + /// Base class for server-side implementations of SLPerfMeasOper + [grpc::BindServiceMethod(typeof(SLPerfMeasOper), "BindService")] + public abstract partial class SLPerfMeasOperBase + { + /// + ///@addtogroup Performance + ///@{ + /// + /// SLPerfMeasNotifStream is a single bidirectional stream that carries + /// BOTH programming requests (create / delete / get-stats / get-info / + /// flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + /// asynchronous notifications (per-session UP/DOWN state changes, + /// operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + /// + /// Lifecycle / ownership contract: + /// + /// 1. Session ownership. + /// A session created on a stream is owned by that stream. A given + /// server instance allows only one active SLPerfMeasNotifStream + /// client at a time; a second client connecting will be rejected. + /// Sessions are not shared across streams. + /// + /// 2. Subscribe-before-program. + /// Clients SHOULD open the stream before issuing any create + /// request, so that no UP/DOWN notifications are lost between + /// create and the first read on the stream. + /// + /// 3. Stream disconnect (client side). + /// On client disconnect or transport failure, the server sweeps + /// all sessions owned by that stream. On reconnect the client + /// MUST recreate any sessions it needs; nothing is preserved + /// across the disconnect. + /// + /// 4. PM (perf_meas) process disconnect. + /// If the underlying perf_meas process disconnects from the + /// server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + /// session state is retained; when PM reconnects, the server + /// replays all sessions to PM and resumes per-session UP/DOWN + /// notifications. No client action is required. + /// + /// 5. Server (emsd) restart / failover. + /// Sessions are NOT preserved across a server restart or HA + /// switchover. After the gRPC stream re-establishes, the client + /// MUST treat all previously created sessions as gone and + /// recreate them. + /// + /// 6. Reconciliation. + /// On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + /// wait for per-session UP notifications (no recreate needed). + /// On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + /// sessions have been removed; the client MUST create a fresh + /// set of sessions (no replay/UP notifications will follow). + /// + /// Used for reading requests from the client. + /// Used for sending responses back to the client. + /// The context of the server-side call handler being invoked. + /// A task indicating completion of the handler. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual global::System.Threading.Tasks.Task SLPerfMeasNotifStream(grpc::IAsyncStreamReader requestStream, grpc::IServerStreamWriter responseStream, grpc::ServerCallContext context) + { + throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); + } + + } + + /// Client for SLPerfMeasOper + public partial class SLPerfMeasOperClient : grpc::ClientBase + { + /// Creates a new client for SLPerfMeasOper + /// The channel to use to make remote calls. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public SLPerfMeasOperClient(grpc::ChannelBase channel) : base(channel) + { + } + /// Creates a new client for SLPerfMeasOper that uses a custom CallInvoker. + /// The callInvoker to use to make remote calls. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public SLPerfMeasOperClient(grpc::CallInvoker callInvoker) : base(callInvoker) + { + } + /// Protected parameterless constructor to allow creation of test doubles. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + protected SLPerfMeasOperClient() : base() + { + } + /// Protected constructor to allow creation of configured clients. + /// The client configuration. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + protected SLPerfMeasOperClient(ClientBaseConfiguration configuration) : base(configuration) + { + } + + /// + ///@addtogroup Performance + ///@{ + /// + /// SLPerfMeasNotifStream is a single bidirectional stream that carries + /// BOTH programming requests (create / delete / get-stats / get-info / + /// flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + /// asynchronous notifications (per-session UP/DOWN state changes, + /// operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + /// + /// Lifecycle / ownership contract: + /// + /// 1. Session ownership. + /// A session created on a stream is owned by that stream. A given + /// server instance allows only one active SLPerfMeasNotifStream + /// client at a time; a second client connecting will be rejected. + /// Sessions are not shared across streams. + /// + /// 2. Subscribe-before-program. + /// Clients SHOULD open the stream before issuing any create + /// request, so that no UP/DOWN notifications are lost between + /// create and the first read on the stream. + /// + /// 3. Stream disconnect (client side). + /// On client disconnect or transport failure, the server sweeps + /// all sessions owned by that stream. On reconnect the client + /// MUST recreate any sessions it needs; nothing is preserved + /// across the disconnect. + /// + /// 4. PM (perf_meas) process disconnect. + /// If the underlying perf_meas process disconnects from the + /// server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + /// session state is retained; when PM reconnects, the server + /// replays all sessions to PM and resumes per-session UP/DOWN + /// notifications. No client action is required. + /// + /// 5. Server (emsd) restart / failover. + /// Sessions are NOT preserved across a server restart or HA + /// switchover. After the gRPC stream re-establishes, the client + /// MUST treat all previously created sessions as gone and + /// recreate them. + /// + /// 6. Reconciliation. + /// On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + /// wait for per-session UP notifications (no recreate needed). + /// On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + /// sessions have been removed; the client MUST create a fresh + /// set of sessions (no replay/UP notifications will follow). + /// + /// The initial metadata to send with the call. This parameter is optional. + /// An optional deadline for the call. The call will be cancelled if deadline is hit. + /// An optional token for canceling the call. + /// The call object. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual grpc::AsyncDuplexStreamingCall SLPerfMeasNotifStream(grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + { + return SLPerfMeasNotifStream(new grpc::CallOptions(headers, deadline, cancellationToken)); + } + /// + ///@addtogroup Performance + ///@{ + /// + /// SLPerfMeasNotifStream is a single bidirectional stream that carries + /// BOTH programming requests (create / delete / get-stats / get-info / + /// flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + /// asynchronous notifications (per-session UP/DOWN state changes, + /// operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + /// + /// Lifecycle / ownership contract: + /// + /// 1. Session ownership. + /// A session created on a stream is owned by that stream. A given + /// server instance allows only one active SLPerfMeasNotifStream + /// client at a time; a second client connecting will be rejected. + /// Sessions are not shared across streams. + /// + /// 2. Subscribe-before-program. + /// Clients SHOULD open the stream before issuing any create + /// request, so that no UP/DOWN notifications are lost between + /// create and the first read on the stream. + /// + /// 3. Stream disconnect (client side). + /// On client disconnect or transport failure, the server sweeps + /// all sessions owned by that stream. On reconnect the client + /// MUST recreate any sessions it needs; nothing is preserved + /// across the disconnect. + /// + /// 4. PM (perf_meas) process disconnect. + /// If the underlying perf_meas process disconnects from the + /// server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + /// session state is retained; when PM reconnects, the server + /// replays all sessions to PM and resumes per-session UP/DOWN + /// notifications. No client action is required. + /// + /// 5. Server (emsd) restart / failover. + /// Sessions are NOT preserved across a server restart or HA + /// switchover. After the gRPC stream re-establishes, the client + /// MUST treat all previously created sessions as gone and + /// recreate them. + /// + /// 6. Reconciliation. + /// On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + /// wait for per-session UP notifications (no recreate needed). + /// On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + /// sessions have been removed; the client MUST create a fresh + /// set of sessions (no replay/UP notifications will follow). + /// + /// The options for the call. + /// The call object. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual grpc::AsyncDuplexStreamingCall SLPerfMeasNotifStream(grpc::CallOptions options) + { + return CallInvoker.AsyncDuplexStreamingCall(__Method_SLPerfMeasNotifStream, null, options); + } + /// Creates a new instance of client from given ClientBaseConfiguration. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + protected override SLPerfMeasOperClient NewInstance(ClientBaseConfiguration configuration) + { + return new SLPerfMeasOperClient(configuration); + } + } + + /// Creates service definition that can be registered with a server + /// An object implementing the server-side handling logic. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public static grpc::ServerServiceDefinition BindService(SLPerfMeasOperBase serviceImpl) + { + return grpc::ServerServiceDefinition.CreateBuilder() + .AddMethod(__Method_SLPerfMeasNotifStream, serviceImpl.SLPerfMeasNotifStream).Build(); + } + + /// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. + /// Note: this method is part of an experimental API that can change or be removed without any prior notice. + /// Service methods will be bound by calling AddMethod on this object. + /// An object implementing the server-side handling logic. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public static void BindService(grpc::ServiceBinderBase serviceBinder, SLPerfMeasOperBase serviceImpl) + { + serviceBinder.AddMethod(__Method_SLPerfMeasNotifStream, serviceImpl == null ? null : new grpc::DuplexStreamingServerMethod(serviceImpl.SLPerfMeasNotifStream)); + } + + } +} +#endregion diff --git a/grpc/dotnet/src/gencs/SlPolicy.cs b/grpc/dotnet/src/gencs/SlPolicy.cs index e4d8ea56..caae7405 100644 --- a/grpc/dotnet/src/gencs/SlPolicy.cs +++ b/grpc/dotnet/src/gencs/SlPolicy.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_policy.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -190,6 +190,7 @@ public enum SLApplyDirection { #endregion #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyOpMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -404,7 +405,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -431,7 +436,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -457,6 +466,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Policy-map object /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyEntry : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -715,7 +725,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -755,7 +769,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -794,6 +812,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of rules /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class PolicyRuleList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -938,7 +957,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -957,7 +980,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -975,6 +1002,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of interfaces /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class PolicyIntfList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1119,7 +1147,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1138,7 +1170,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1153,6 +1189,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1343,7 +1380,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1366,7 +1407,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1398,6 +1443,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// one action MUST be present for the match criteria /// under a rule. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyRule : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1658,7 +1704,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1695,7 +1745,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1734,6 +1788,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// matched by the packet for application of the /// specified action. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRuleMatch : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1931,7 +1986,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1960,7 +2019,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1989,6 +2052,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Dscp match type /// Oneof is used here for future extensibility /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLDscpMatch : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2046,12 +2110,26 @@ public SLDscpMatch Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint DscpValue { - get { return dscpCase_ == DscpOneofCase.DscpValue ? (uint) dscp_ : 0; } + get { return HasDscpValue ? (uint) dscp_ : 0; } set { dscp_ = value; dscpCase_ = DscpOneofCase.DscpValue; } } + /// Gets whether the "DscpValue" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDscpValue { + get { return dscpCase_ == DscpOneofCase.DscpValue; } + } + /// Clears the value of the oneof if it's currently set to "DscpValue" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDscpValue() { + if (HasDscpValue) { + ClearDscp(); + } + } private object dscp_; /// Enum of possible cases for the "Dscp" oneof. @@ -2097,7 +2175,7 @@ public bool Equals(SLDscpMatch other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (dscpCase_ == DscpOneofCase.DscpValue) hash ^= DscpValue.GetHashCode(); + if (HasDscpValue) hash ^= DscpValue.GetHashCode(); hash ^= (int) dscpCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -2117,7 +2195,7 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (dscpCase_ == DscpOneofCase.DscpValue) { + if (HasDscpValue) { output.WriteRawTag(8); output.WriteUInt32(DscpValue); } @@ -2131,7 +2209,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 (dscpCase_ == DscpOneofCase.DscpValue) { + if (HasDscpValue) { output.WriteRawTag(8); output.WriteUInt32(DscpValue); } @@ -2145,7 +2223,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (dscpCase_ == DscpOneofCase.DscpValue) { + if (HasDscpValue) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DscpValue); } if (_unknownFields != null) { @@ -2177,7 +2255,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2196,7 +2278,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2214,6 +2300,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Action applied on the packet that matches a rule. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRuleAction : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2408,7 +2495,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2434,7 +2525,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2459,6 +2554,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Policy intf object /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyIntf : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2652,7 +2748,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2678,7 +2778,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2700,6 +2804,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyOpRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2876,7 +2981,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2899,7 +3008,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2918,6 +3031,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3222,7 +3336,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3271,7 +3389,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3316,6 +3438,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyRuleStatusList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3460,7 +3583,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3479,7 +3606,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3494,6 +3625,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyIntfStatusList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3638,7 +3770,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3657,7 +3793,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3672,6 +3812,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyRuleStatus : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3859,7 +4000,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3885,7 +4030,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3907,6 +4056,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyIntfStatus : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4097,7 +4247,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4126,7 +4280,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4154,6 +4312,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Get all the policies and the interfaces where it is applied /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4280,7 +4439,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4295,7 +4458,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4309,6 +4476,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of policies, rules and the interfaces where it is applied /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4512,7 +4680,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4542,7 +4714,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4568,6 +4744,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4750,7 +4927,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4776,7 +4957,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4801,6 +4986,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Policy Global Get Capabilities Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyGlobalGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4927,7 +5113,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4942,7 +5132,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4956,6 +5150,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Policy Global Get Capabilities Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLPolicyGlobalGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5181,7 +5376,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5211,7 +5410,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlRouteCommon.cs b/grpc/dotnet/src/gencs/SlRouteCommon.cs index 206bdd57..72377183 100644 --- a/grpc/dotnet/src/gencs/SlRouteCommon.cs +++ b/grpc/dotnet/src/gencs/SlRouteCommon.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_route_common.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -67,7 +67,7 @@ static SlRouteCommonReflection() { "ZHJlc3MYAiABKAwSFgoORGVzdE1hY0FkZHJlc3MYAyABKAwSMAoMU3JjSXBB", "ZGRyZXNzGAQgASgLMhouc2VydmljZV9sYXllci5TTElwQWRkcmVzcxIxCg1E", "ZXN0SXBBZGRyZXNzGAUgASgLMhouc2VydmljZV9sYXllci5TTElwQWRkcmVz", - "cyKhBAoLU0xSb3V0ZVBhdGgSMgoOTmV4dGhvcEFkZHJlc3MYASABKAsyGi5z", + "cyLTBAoLU0xSb3V0ZVBhdGgSMgoOTmV4dGhvcEFkZHJlc3MYASABKAsyGi5z", "ZXJ2aWNlX2xheWVyLlNMSXBBZGRyZXNzEjQKEE5leHRob3BJbnRlcmZhY2UY", "AiABKAsyGi5zZXJ2aWNlX2xheWVyLlNMSW50ZXJmYWNlEhIKCkxvYWRNZXRy", "aWMYAyABKA0SDwoHVnJmTmFtZRgEIAEoCRIOCgZQYXRoSWQYBiABKA0SGwoT", @@ -78,25 +78,39 @@ static SlRouteCommonReflection() { "ARItCglWeExBTlBhdGgYDCABKAsyGi5zZXJ2aWNlX2xheWVyLlNMVnhMQU5Q", "YXRoEi0KCVBhdGhGbGFncxgOIAMoDjIaLnNlcnZpY2VfbGF5ZXIuU0xQYXRo", "RmxhZ3MSOAoMUGF0aEdyb3VwS2V5GA8gASgLMiAuc2VydmljZV9sYXllci5T", - "TFBhdGhHcm91cFJlZktleUgAQgcKBWVudHJ5SgQIDRAOSgQIBRAGUgVGbGFn", - "c1IGTWV0cmljIk4KDVNMUm91dGVQcmVmaXgSKgoGUHJlZml4GAEgASgLMhou", - "c2VydmljZV9sYXllci5TTElwQWRkcmVzcxIRCglQcmVmaXhMZW4YAiABKA0q", - "ygEKC1NMTm90aWZUeXBlEhoKFlNMX0VWRU5UX1RZUEVfUkVTRVJWRUQQABIX", - "ChNTTF9FVkVOVF9UWVBFX0VSUk9SEAESGAoUU0xfRVZFTlRfVFlQRV9TVEFU", - "VVMQAhIXChNTTF9FVkVOVF9UWVBFX1JPVVRFEAMSHgoaU0xfRVZFTlRfVFlQ", - "RV9TVEFSVF9NQVJLRVIQBBIcChhTTF9FVkVOVF9UWVBFX0VORF9NQVJLRVIQ", - "BRIVChFTTF9FVkVOVF9UWVBFX1ZSRhAGKsIBCgxTTFJvdXRlRmxhZ3MSGgoW", - "U0xfUk9VVEVfRkxBR19SRVNFUlZFRBAAEiEKHVNMX1JPVVRFX0ZMQUdfUFJF", - "RkVSX09WRVJfTERQEAESJQohU0xfUk9VVEVfRkxBR19ESVNBQkxFX0xBQkVM", - "X01FUkdFEAISIwofU0xfUk9VVEVfRkxBR19WSUFCTEVfUEFUSFNfT05MWRAD", - "EicKI1NMX1JPVVRFX0ZMQUdfQUNUSVZFX09OX1ZJQUJMRV9QQVRIEAQqSgoL", - "U0xQYXRoRmxhZ3MSGQoVU0xfUEFUSF9GTEFHX1JFU0VSVkVEEAASIAocU0xf", - "UEFUSF9GTEFHX1NJTkdMRV9QQVRIX09QVBABQlFaT2dpdGh1Yi5jb20vQ2lz", - "Y28tc2VydmljZS1sYXllci9zZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMv", - "cHJvdG9zO3NlcnZpY2VfbGF5ZXJiBnByb3RvMw==")); + "TFBhdGhHcm91cFJlZktleUgAEhMKC0JhY2t1cEluZGV4GBAgAygNEhsKE01p", + "blJlc29sdXRpb25MZW5ndGgYESABKA1CBwoFZW50cnlKBAgNEA5KBAgFEAZS", + "BUZsYWdzUgZNZXRyaWMi8gIKC1NMUGF0aEdyb3VwEi4KC1BhdGhHcm91cElk", + "GAEgASgLMhkuc2VydmljZV9sYXllci5TTE9iamVjdElkEhUKDUFkbWluRGlz", + "dGFuY2UYAiABKA0SOQoIUGF0aExpc3QYAyABKAsyJS5zZXJ2aWNlX2xheWVy", + "LlNMUGF0aEdyb3VwLlNMUGF0aExpc3RIABIsCgdQZ0ZsYWdzGAQgAygOMhsu", + "c2VydmljZV9sYXllci5TTFJvdXRlRmxhZ3MSNgoNVW5kZXJsYXlMZXZlbBgF", + "IAEoDjIfLnNlcnZpY2VfbGF5ZXIuU0xVbmRlcmxheUxldmVscxoyCgZTTFBh", + "dGgSKAoEUGF0aBgBIAEoCzIaLnNlcnZpY2VfbGF5ZXIuU0xSb3V0ZVBhdGga", + "PgoKU0xQYXRoTGlzdBIwCgVQYXRocxgBIAMoCzIhLnNlcnZpY2VfbGF5ZXIu", + "U0xQYXRoR3JvdXAuU0xQYXRoQgcKBWVudHJ5Ik4KDVNMUm91dGVQcmVmaXgS", + "KgoGUHJlZml4GAEgASgLMhouc2VydmljZV9sYXllci5TTElwQWRkcmVzcxIR", + "CglQcmVmaXhMZW4YAiABKA0qygEKC1NMTm90aWZUeXBlEhoKFlNMX0VWRU5U", + "X1RZUEVfUkVTRVJWRUQQABIXChNTTF9FVkVOVF9UWVBFX0VSUk9SEAESGAoU", + "U0xfRVZFTlRfVFlQRV9TVEFUVVMQAhIXChNTTF9FVkVOVF9UWVBFX1JPVVRF", + "EAMSHgoaU0xfRVZFTlRfVFlQRV9TVEFSVF9NQVJLRVIQBBIcChhTTF9FVkVO", + "VF9UWVBFX0VORF9NQVJLRVIQBRIVChFTTF9FVkVOVF9UWVBFX1ZSRhAGKoYC", + "CgxTTFJvdXRlRmxhZ3MSGgoWU0xfUk9VVEVfRkxBR19SRVNFUlZFRBAAEiEK", + "HVNMX1JPVVRFX0ZMQUdfUFJFRkVSX09WRVJfTERQEAESJQohU0xfUk9VVEVf", + "RkxBR19ESVNBQkxFX0xBQkVMX01FUkdFEAISIwofU0xfUk9VVEVfRkxBR19W", + "SUFCTEVfUEFUSFNfT05MWRADEicKI1NMX1JPVVRFX0ZMQUdfQUNUSVZFX09O", + "X1ZJQUJMRV9QQVRIEAQSHwobU0xfUk9VVEVfRkxBR19GUlJfUEFUSEdST1VQ", + "EAUSIQodU0xfUk9VVEVfRkxBR19MT1NTTEVTU19VUERBVEUQBipjCgtTTFBh", + "dGhGbGFncxIZChVTTF9QQVRIX0ZMQUdfUkVTRVJWRUQQABIgChxTTF9QQVRI", + "X0ZMQUdfU0lOR0xFX1BBVEhfT1BUEAESFwoTU0xfUEFUSF9GTEFHX0JBQ0tV", + "UBADKlYKEFNMVW5kZXJsYXlMZXZlbHMSHQoZU0xfVU5ERVJMQVlfTEVWRUxf", + "REVGQVVMVBAAEiMKH1NMX1VOREVSTEFZX0xFVkVMX05PX0ZMQVRURU5JTkcQ", + "AUJRWk9naXRodWIuY29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIvc2VydmljZS1s", + "YXllci1vYmptb2RlbC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xheWVyYgZwcm90", + "bzM=")); 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[] { + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceLayer.SLNotifType), typeof(global::ServiceLayer.SLRouteFlags), typeof(global::ServiceLayer.SLPathFlags), typeof(global::ServiceLayer.SLUnderlayLevels), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteGlobalsGetMsg), global::ServiceLayer.SLRouteGlobalsGetMsg.Parser, null, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteGlobalsGetMsgRsp), global::ServiceLayer.SLRouteGlobalsGetMsgRsp.Parser, new[]{ "ErrStatus", "MaxVrfregPerVrfregmsg", "MaxRoutePerRoutemsg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteGlobalStatsGetMsg), global::ServiceLayer.SLRouteGlobalStatsGetMsg.Parser, null, null, null, null, null), @@ -115,7 +129,9 @@ static SlRouteCommonReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLVrfNotif), global::ServiceLayer.SLVrfNotif.Parser, new[]{ "VrfName", "Status" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRouteCommon), global::ServiceLayer.SLRouteCommon.Parser, new[]{ "AdminDistance", "LocalLabel", "Tag", "SrcProto", "SrcProtoTag", "RouteFlags", "Metric", "Priority" }, 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", "PathId", "ProtectedPathBitmap", "LabelStack", "RemoteAddress", "EncapType", "VtepRouterMacAddress", "VxLANPath", "PathFlags", "PathGroupKey" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLRoutePath), global::ServiceLayer.SLRoutePath.Parser, new[]{ "NexthopAddress", "NexthopInterface", "LoadMetric", "VrfName", "PathId", "ProtectedPathBitmap", "LabelStack", "RemoteAddress", "EncapType", "VtepRouterMacAddress", "VxLANPath", "PathFlags", "PathGroupKey", "BackupIndex", "MinResolutionLength" }, new[]{ "Entry" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLPathGroup), global::ServiceLayer.SLPathGroup.Parser, new[]{ "PathGroupId", "AdminDistance", "PathList", "PgFlags", "UnderlayLevel" }, 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.SLRoutePrefix), global::ServiceLayer.SLRoutePrefix.Parser, new[]{ "Prefix", "PrefixLen" }, null, null, null, null) })); } @@ -164,7 +180,7 @@ public enum SLNotifType { } /// - /// Flags to control programming of the route and Path Group to + /// Flags to control programming of the route and Path Group to /// Routing Information Base. /// Each flag is indicated as a bit field. Supported values are: /// @@ -193,6 +209,18 @@ public enum SLRouteFlags { /// See text in SLRoutecommon/PathGroup for more details. /// [pbr::OriginalName("SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH")] SlRouteFlagActiveOnViablePath = 4, + /// + /// This flag is applicable only to SLPathGroup object-type and defines a pure backup + /// path-group for FRR applications. + /// + [pbr::OriginalName("SL_ROUTE_FLAG_FRR_PATHGROUP")] SlRouteFlagFrrPathgroup = 5, + /// + /// Setting this flag for an object enables: + /// - Lossless updates and make-before-break (MBB) behavior. + /// - HW-ACK tracking for the entire forwarding chain. + /// This flag is applicable to SLAFIPRoute and SLMplsEntry objects. + /// + [pbr::OriginalName("SL_ROUTE_FLAG_LOSSLESS_UPDATE")] SlRouteFlagLosslessUpdate = 6, } /// @@ -208,6 +236,24 @@ public enum SLPathFlags { /// Enables hardware optimization for single path VxLAN tunnels. /// [pbr::OriginalName("SL_PATH_FLAG_SINGLE_PATH_OPT")] InglePathOpt = 1, + /// + /// This path is a pure backup that's protecting another path + /// + [pbr::OriginalName("SL_PATH_FLAG_BACKUP")] SlPathFlagBackup = 3, + } + + /// + /// Underlay Levels. + /// + public enum SLUnderlayLevels { + /// + /// NHG placement is decided by the system. + /// + [pbr::OriginalName("SL_UNDERLAY_LEVEL_DEFAULT")] SlUnderlayLevelDefault = 0, + /// + /// NHG will be programmed at a different stage to prevent flattening. + /// + [pbr::OriginalName("SL_UNDERLAY_LEVEL_NO_FLATTENING")] SlUnderlayLevelNoFlattening = 1, } #endregion @@ -216,6 +262,7 @@ public enum SLPathFlags { /// /// Route Globals Get Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteGlobalsGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -342,7 +389,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -357,7 +408,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -371,6 +426,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Route Globals Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteGlobalsGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -596,7 +652,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -626,7 +686,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -655,6 +719,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Route Global Stats Get Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteGlobalStatsGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -781,7 +846,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -796,7 +865,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -810,6 +883,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Route Global Stats Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteGlobalStatsGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1035,7 +1109,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1065,7 +1143,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1094,6 +1176,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Registration message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfReg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1327,7 +1410,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1354,7 +1441,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1380,6 +1471,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Registration messages. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfRegMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1559,7 +1651,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1582,7 +1678,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1604,6 +1704,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Registration message Result /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfRegMsgRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1797,7 +1898,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1823,7 +1928,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1848,6 +1957,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Registration message Response. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfRegMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2039,7 +2149,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2065,7 +2179,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2090,6 +2208,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Get Message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfRegGetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2318,7 +2437,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2345,7 +2468,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2371,6 +2498,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Get Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfRegGetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2588,7 +2716,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2618,7 +2750,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2647,6 +2783,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Get Stats Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVRFGetStatsMsgRes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2837,7 +2974,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2860,7 +3001,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2882,6 +3027,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// VRF Get Stats Message Response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVRFGetStatsMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3099,7 +3245,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3129,7 +3279,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3158,6 +3312,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common Get Notifications message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteGetNotifMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3457,7 +3612,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3492,7 +3651,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3526,6 +3689,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common Route Notification Status message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteNotifStatus : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3754,7 +3918,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3784,7 +3952,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3813,6 +3985,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common Marker Notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteNotifMarker : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3971,7 +4144,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3990,7 +4167,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4008,6 +4189,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common Vrf Notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVrfNotif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4198,7 +4380,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4221,7 +4407,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4243,6 +4433,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Common IPv4/IPv6 route attributes. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRouteCommon : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4462,6 +4653,7 @@ public string SrcProtoTag { private uint metric_; /// /// Route Metric. + /// Range [0-4294967294] /// The metric is typically based on information like load, hop count, /// MTU, reliability of the path, etc. /// When routes from different protocols share the same admin distance, @@ -4693,7 +4885,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4741,7 +4937,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4788,6 +4988,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Attributes for constructing VxLAN encapsulation for a IP packet. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLVxLANPath : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5080,7 +5281,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5121,7 +5326,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5172,6 +5381,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// link down, BFD, etc.). Revertion is mainly timeout based. The timeout /// value is platform specific and is not configurable. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutePath : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5218,6 +5428,8 @@ public SLRoutePath(SLRoutePath other) : this() { vtepRouterMacAddress_ = other.vtepRouterMacAddress_; vxLANPath_ = other.vxLANPath_ != null ? other.vxLANPath_.Clone() : null; pathFlags_ = other.pathFlags_.Clone(); + backupIndex_ = other.backupIndex_.Clone(); + minResolutionLength_ = other.minResolutionLength_; switch (other.EntryCase) { case EntryOneofCase.PathGroupKey: PathGroupKey = other.PathGroupKey.Clone(); @@ -5254,8 +5466,11 @@ public SLRoutePath Clone() { private global::ServiceLayer.SLInterface nexthopInterface_; /// /// Outgoing interface name for the path. + /// When this field is not set, the next hop is considered non-connected. + /// See SLPathGroup.UnderlayLevel for the connected-path requirement when + /// SL_UNDERLAY_LEVEL_NO_FLATTENING is used. /// For ENCAP_VXLAN, this field is not supported and will be ignored. - /// The client should listen to interface state change API for create/delete + /// The client should listen to interface state change API for create/delete /// and reprogram the route or PG. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5277,6 +5492,10 @@ public SLRoutePath Clone() { /// route, MPLS label or PathGroup must have a value of 0. For /// unequal cost load balancing, all paths must have non-zero value /// otherwise system defaults to equal cost load balancing. + /// Alternatively for unequal cost load balancing, paths that need to + /// take more load can be repeated as many times within the list, but in such + /// case the LoadMetric is recommended to be set to 1 for all paths in the + /// PathList for operational simplicity. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -5496,6 +5715,53 @@ public uint PathId { } } + /// Field number for the "BackupIndex" field. + public const int BackupIndexFieldNumber = 16; + private static readonly pb::FieldCodec _repeated_backupIndex_codec + = pb::FieldCodec.ForUInt32(130); + private readonly pbc::RepeatedField backupIndex_ = new pbc::RepeatedField(); + /// + /// BackupIndex identifies the backup SLRoutePath object that is protecting this + /// SLRoutePath object. This object then becomes the "primary" path and the SLRoutePath + /// at index identified by BackupIndex is the "backup" to this SLRoutePath. + /// + /// BackupIndex is the position of the backup SLRoutePath object in the parent PathList that this object + /// is also part of. + /// The PathList indices start with 1 i.e. the first element is at index 1 and not 0 (0 is reserved). + /// + /// BackupIndex is supported only when the following objects reference the PathList + /// SLPathGroup + /// SLMplsEntry + /// SLAFIPRoute + /// + /// Backup SLRoutePath referenced through BackupIndex object MUST be either a + /// a) pure backup path with SL_PATH_FLAG_BACKUP set + /// b) pure backup PathGroup with SL_ROUTE_FLAG_FRR_PATHGROUP set + /// c) ECMP backup path (SL_PATH_FLAG_BACKUP is not set) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField BackupIndex { + get { return backupIndex_; } + } + + /// Field number for the "MinResolutionLength" field. + public const int MinResolutionLengthFieldNumber = 17; + private uint minResolutionLength_; + /// + /// MinResolutionLength is an optional filed. + /// When set, this field dictates the minimum prefix length required for next hop resolution. + /// For example, if this field is set to 24, only /24 and larger prefixes would be considered. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint MinResolutionLength { + get { return minResolutionLength_; } + set { + minResolutionLength_ = value; + } + } + private object entry_; /// Enum of possible cases for the "entry" oneof. public enum EntryOneofCase { @@ -5544,6 +5810,8 @@ public bool Equals(SLRoutePath other) { if (!object.Equals(VxLANPath, other.VxLANPath)) return false; if(!pathFlags_.Equals(other.pathFlags_)) return false; if (!object.Equals(PathGroupKey, other.PathGroupKey)) return false; + if(!backupIndex_.Equals(other.backupIndex_)) return false; + if (MinResolutionLength != other.MinResolutionLength) return false; if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5565,6 +5833,8 @@ public override int GetHashCode() { if (vxLANPath_ != null) hash ^= VxLANPath.GetHashCode(); hash ^= pathFlags_.GetHashCode(); if (entryCase_ == EntryOneofCase.PathGroupKey) hash ^= PathGroupKey.GetHashCode(); + hash ^= backupIndex_.GetHashCode(); + if (MinResolutionLength != 0) hash ^= MinResolutionLength.GetHashCode(); hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -5624,6 +5894,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(122); output.WriteMessage(PathGroupKey); } + backupIndex_.WriteTo(output, _repeated_backupIndex_codec); + if (MinResolutionLength != 0) { + output.WriteRawTag(136, 1); + output.WriteUInt32(MinResolutionLength); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -5674,6 +5949,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(122); output.WriteMessage(PathGroupKey); } + backupIndex_.WriteTo(ref output, _repeated_backupIndex_codec); + if (MinResolutionLength != 0) { + output.WriteRawTag(136, 1); + output.WriteUInt32(MinResolutionLength); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -5715,6 +5995,10 @@ public int CalculateSize() { if (entryCase_ == EntryOneofCase.PathGroupKey) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupKey); } + size += backupIndex_.CalculateSize(_repeated_backupIndex_codec); + if (MinResolutionLength != 0) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(MinResolutionLength); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -5764,6 +6048,10 @@ public void MergeFrom(SLRoutePath other) { VxLANPath.MergeFrom(other.VxLANPath); } pathFlags_.Add(other.pathFlags_); + backupIndex_.Add(other.backupIndex_); + if (other.MinResolutionLength != 0) { + MinResolutionLength = other.MinResolutionLength; + } switch (other.EntryCase) { case EntryOneofCase.PathGroupKey: if (PathGroupKey == null) { @@ -5784,7 +6072,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5857,6 +6149,15 @@ public void MergeFrom(pb::CodedInputStream input) { PathGroupKey = subBuilder; break; } + case 130: + case 128: { + backupIndex_.AddEntriesFrom(input, _repeated_backupIndex_codec); + break; + } + case 136: { + MinResolutionLength = input.ReadUInt32(); + break; + } } } #endif @@ -5868,7 +6169,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5941,6 +6246,15 @@ public void MergeFrom(pb::CodedInputStream input) { PathGroupKey = subBuilder; break; } + case 130: + case 128: { + backupIndex_.AddEntriesFrom(ref input, _repeated_backupIndex_codec); + break; + } + case 136: { + MinResolutionLength = input.ReadUInt32(); + break; + } } } } @@ -5949,18 +6263,19 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// IP Route Prefix and Prefix Length + /// Path Group definition. /// - public sealed partial class SLRoutePrefix : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPathGroup : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLRoutePrefix()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPathGroup()); 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)] @@ -5976,7 +6291,7 @@ public sealed partial class SLRoutePrefix : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLRoutePrefix() { + public SLPathGroup() { OnConstruction(); } @@ -5984,65 +6299,188 @@ public SLRoutePrefix() { [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_; + public SLPathGroup(SLPathGroup other) : this() { + pathGroupId_ = other.pathGroupId_ != null ? other.pathGroupId_.Clone() : null; + adminDistance_ = other.adminDistance_; + pgFlags_ = other.pgFlags_.Clone(); + underlayLevel_ = other.underlayLevel_; + switch (other.EntryCase) { + case EntryOneofCase.PathList: + PathList = other.PathList.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public SLRoutePrefix Clone() { - return new SLRoutePrefix(this); + public SLPathGroup Clone() { + return new SLPathGroup(this); } - /// Field number for the "Prefix" field. - public const int PrefixFieldNumber = 1; - private global::ServiceLayer.SLIpAddress prefix_; + /// Field number for the "PathGroupId" field. + public const int PathGroupIdFieldNumber = 1; + private global::ServiceLayer.SLObjectId pathGroupId_; /// - /// IPv4 or IPv6 address + /// Path Group ID /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::ServiceLayer.SLIpAddress Prefix { - get { return prefix_; } + public global::ServiceLayer.SLObjectId PathGroupId { + get { return pathGroupId_; } set { - prefix_ = value; + pathGroupId_ = value; } } - /// Field number for the "PrefixLen" field. - public const int PrefixLenFieldNumber = 2; - private uint prefixLen_; + /// Field number for the "AdminDistance" field. + public const int AdminDistanceFieldNumber = 2; + private uint adminDistance_; /// - /// Prefix length + /// Administrative distance of the Path Group. [0-255]. + /// RIB uses this field to break the tie when multiple + /// sources install the same Path Group. + /// Lower distance is preferred over higher distance. + /// The per path group object admin distance overrides the default admin + /// distance set at VRF registration. see SLVrfReg. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint PrefixLen { - get { return prefixLen_; } + public uint AdminDistance { + get { return adminDistance_; } set { - prefixLen_ = value; + adminDistance_ = value; + } + } + + /// Field number for the "PathList" field. + public const int PathListFieldNumber = 3; + /// + /// Path List + /// Specifying more than one path is allowed for ECMP/UCMP/FRR cases. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLPathGroup.Types.SLPathList PathList { + get { return entryCase_ == EntryOneofCase.PathList ? (global::ServiceLayer.SLPathGroup.Types.SLPathList) entry_ : null; } + set { + entry_ = value; + entryCase_ = value == null ? EntryOneofCase.None : EntryOneofCase.PathList; + } + } + + /// 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. See SLRouteFlags for flag enumerations. + /// Supported values are: + /// + /// 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 + /// load balance group when path viability changes and + /// expects the client to take corrective action. + /// + /// - If the flag is set, the network element only installs viable + /// paths from the PathList in the PathGroup's load balance group. + /// The Network element also automatically updates the PathGroup's + /// load balance group when path viability changes. + /// + /// SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH. + /// - If this flag is not set, routes and MPLS entries referencing + /// this PathGroup are considered active if they are preferred + /// 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 + /// PathGroup changes. + /// + /// - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also + /// be set. The routes and MPLS entries referencing this PathGroup are + /// considered active if they are preferred based + /// 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. + /// SL_ROUTE_FLAG_FRR_PATHGROUP + /// - If this flag is set, this PathGroup object provides backup path to one or more path/pathgroups. + /// PathGroup with this flag set will be considered as pure backup. + /// + /// Others - Reserved. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField PgFlags { + get { return pgFlags_; } + } + + /// Field number for the "UnderlayLevel" field. + public const int UnderlayLevelFieldNumber = 5; + private global::ServiceLayer.SLUnderlayLevels underlayLevel_ = global::ServiceLayer.SLUnderlayLevels.SlUnderlayLevelDefault; + /// + /// SLUnderlayLevels indicates the lookup stage at which the path group + /// is programmed. This is relevant only when hierarchical lookup is required. + /// If underlay level is set to SL_UNDERLAY_LEVEL_NO_FLATTENING, all paths + /// in the PathList must be connected next hops (NexthopInterface must be set). + /// This is an optional field. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLUnderlayLevels UnderlayLevel { + get { return underlayLevel_; } + set { + underlayLevel_ = value; } } + private object entry_; + /// Enum of possible cases for the "entry" oneof. + public enum EntryOneofCase { + None = 0, + PathList = 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 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 SLRoutePrefix); + return Equals(other as SLPathGroup); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(SLRoutePrefix other) { + public bool Equals(SLPathGroup 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; + if (!object.Equals(PathGroupId, other.PathGroupId)) return false; + if (AdminDistance != other.AdminDistance) return false; + if (!object.Equals(PathList, other.PathList)) return false; + if(!pgFlags_.Equals(other.pgFlags_)) return false; + if (UnderlayLevel != other.UnderlayLevel) return false; + if (EntryCase != other.EntryCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6050,8 +6488,12 @@ public bool Equals(SLRoutePrefix other) { [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 (pathGroupId_ != null) hash ^= PathGroupId.GetHashCode(); + if (AdminDistance != 0) hash ^= AdminDistance.GetHashCode(); + if (entryCase_ == EntryOneofCase.PathList) hash ^= PathList.GetHashCode(); + hash ^= pgFlags_.GetHashCode(); + if (UnderlayLevel != global::ServiceLayer.SLUnderlayLevels.SlUnderlayLevelDefault) hash ^= UnderlayLevel.GetHashCode(); + hash ^= (int) entryCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6070,13 +6512,22 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (prefix_ != null) { + if (pathGroupId_ != null) { output.WriteRawTag(10); - output.WriteMessage(Prefix); + output.WriteMessage(PathGroupId); } - if (PrefixLen != 0) { + if (AdminDistance != 0) { output.WriteRawTag(16); - output.WriteUInt32(PrefixLen); + output.WriteUInt32(AdminDistance); + } + if (entryCase_ == EntryOneofCase.PathList) { + output.WriteRawTag(26); + output.WriteMessage(PathList); + } + pgFlags_.WriteTo(output, _repeated_pgFlags_codec); + if (UnderlayLevel != global::ServiceLayer.SLUnderlayLevels.SlUnderlayLevelDefault) { + output.WriteRawTag(40); + output.WriteEnum((int) UnderlayLevel); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6088,13 +6539,22 @@ 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 (prefix_ != null) { + if (pathGroupId_ != null) { output.WriteRawTag(10); - output.WriteMessage(Prefix); + output.WriteMessage(PathGroupId); } - if (PrefixLen != 0) { + if (AdminDistance != 0) { output.WriteRawTag(16); - output.WriteUInt32(PrefixLen); + output.WriteUInt32(AdminDistance); + } + if (entryCase_ == EntryOneofCase.PathList) { + output.WriteRawTag(26); + output.WriteMessage(PathList); + } + pgFlags_.WriteTo(ref output, _repeated_pgFlags_codec); + if (UnderlayLevel != global::ServiceLayer.SLUnderlayLevels.SlUnderlayLevelDefault) { + output.WriteRawTag(40); + output.WriteEnum((int) UnderlayLevel); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6106,11 +6566,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (prefix_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Prefix); + if (pathGroupId_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathGroupId); } - if (PrefixLen != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PrefixLen); + if (AdminDistance != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AdminDistance); + } + if (entryCase_ == EntryOneofCase.PathList) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PathList); + } + size += pgFlags_.CalculateSize(_repeated_pgFlags_codec); + if (UnderlayLevel != global::ServiceLayer.SLUnderlayLevels.SlUnderlayLevelDefault) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) UnderlayLevel); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6120,22 +6587,35 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(SLRoutePrefix other) { + public void MergeFrom(SLPathGroup other) { if (other == null) { return; } - if (other.prefix_ != null) { - if (prefix_ == null) { - Prefix = new global::ServiceLayer.SLIpAddress(); + if (other.pathGroupId_ != null) { + if (pathGroupId_ == null) { + PathGroupId = new global::ServiceLayer.SLObjectId(); } - Prefix.MergeFrom(other.Prefix); + PathGroupId.MergeFrom(other.PathGroupId); } - if (other.PrefixLen != 0) { - PrefixLen = other.PrefixLen; + if (other.AdminDistance != 0) { + AdminDistance = other.AdminDistance; } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - + pgFlags_.Add(other.pgFlags_); + if (other.UnderlayLevel != global::ServiceLayer.SLUnderlayLevels.SlUnderlayLevelDefault) { + UnderlayLevel = other.UnderlayLevel; + } + switch (other.EntryCase) { + case EntryOneofCase.PathList: + if (PathList == null) { + PathList = new global::ServiceLayer.SLPathGroup.Types.SLPathList(); + } + PathList.MergeFrom(other.PathList); + 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) { @@ -6144,7 +6624,705 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (pathGroupId_ == null) { + PathGroupId = new global::ServiceLayer.SLObjectId(); + } + input.ReadMessage(PathGroupId); + break; + } + case 16: { + AdminDistance = input.ReadUInt32(); + break; + } + case 26: { + global::ServiceLayer.SLPathGroup.Types.SLPathList subBuilder = new global::ServiceLayer.SLPathGroup.Types.SLPathList(); + if (entryCase_ == EntryOneofCase.PathList) { + subBuilder.MergeFrom(PathList); + } + input.ReadMessage(subBuilder); + PathList = subBuilder; + break; + } + case 34: + case 32: { + pgFlags_.AddEntriesFrom(input, _repeated_pgFlags_codec); + break; + } + case 40: { + UnderlayLevel = (global::ServiceLayer.SLUnderlayLevels) 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (pathGroupId_ == null) { + PathGroupId = new global::ServiceLayer.SLObjectId(); + } + input.ReadMessage(PathGroupId); + break; + } + case 16: { + AdminDistance = input.ReadUInt32(); + break; + } + case 26: { + global::ServiceLayer.SLPathGroup.Types.SLPathList subBuilder = new global::ServiceLayer.SLPathGroup.Types.SLPathList(); + if (entryCase_ == EntryOneofCase.PathList) { + subBuilder.MergeFrom(PathList); + } + input.ReadMessage(subBuilder); + PathList = subBuilder; + break; + } + case 34: + case 32: { + pgFlags_.AddEntriesFrom(ref input, _repeated_pgFlags_codec); + break; + } + case 40: { + UnderlayLevel = (global::ServiceLayer.SLUnderlayLevels) input.ReadEnum(); + break; + } + } + } + } + #endif + + #region Nested types + /// Container for nested types declared in the SLPathGroup message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPath : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPath()); + 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.SLPathGroup.Descriptor.NestedTypes[0]; } + } + + [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 SLPath() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPath(SLPath other) : this() { + path_ = other.path_ != null ? other.path_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPath Clone() { + return new SLPath(this); + } + + /// Field number for the "Path" field. + public const int PathFieldNumber = 1; + private global::ServiceLayer.SLRoutePath path_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLRoutePath Path { + get { return path_; } + set { + path_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPath); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPath other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Path, other.Path)) 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 (path_ != null) hash ^= Path.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 (path_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Path); + } + 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 (path_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Path); + } + 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 (path_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Path); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPath other) { + if (other == null) { + return; + } + if (other.path_ != null) { + if (path_ == null) { + Path = new global::ServiceLayer.SLRoutePath(); + } + Path.MergeFrom(other.Path); + } + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (path_ == null) { + Path = new global::ServiceLayer.SLRoutePath(); + } + input.ReadMessage(Path); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (path_ == null) { + Path = new global::ServiceLayer.SLRoutePath(); + } + input.ReadMessage(Path); + break; + } + } + } + } + #endif + + } + + /// + /// A list of SLPathList + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLPathList : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLPathList()); + 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.SLPathGroup.Descriptor.NestedTypes[1]; } + } + + [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 SLPathList() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPathList(SLPathList other) : this() { + paths_ = other.paths_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLPathList Clone() { + return new SLPathList(this); + } + + /// Field number for the "Paths" field. + public const int PathsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_paths_codec + = pb::FieldCodec.ForMessage(10, global::ServiceLayer.SLPathGroup.Types.SLPath.Parser); + private readonly pbc::RepeatedField paths_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Paths { + get { return paths_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLPathList); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLPathList other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!paths_.Equals(other.paths_)) 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 ^= paths_.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 + paths_.WriteTo(output, _repeated_paths_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) { + paths_.WriteTo(ref output, _repeated_paths_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 += paths_.CalculateSize(_repeated_paths_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLPathList other) { + if (other == null) { + return; + } + paths_.Add(other.paths_); + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + paths_.AddEntriesFrom(input, _repeated_paths_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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + paths_.AddEntriesFrom(ref input, _repeated_paths_codec); + break; + } + } + } + } + #endif + + } + + } + #endregion + + } + + /// + /// IP Route Prefix and Prefix Length + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + 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[20]; } + } + + [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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6170,7 +7348,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlRouteIpv4.cs b/grpc/dotnet/src/gencs/SlRouteIpv4.cs index 0e1120e2..bf06e04e 100644 --- a/grpc/dotnet/src/gencs/SlRouteIpv4.cs +++ b/grpc/dotnet/src/gencs/SlRouteIpv4.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_route_ipv4.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -97,6 +97,7 @@ static SlRouteIpv4Reflection() { /// /// IPv4 route /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4 : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -346,7 +347,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -380,7 +385,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -413,6 +422,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of routes for bulk download /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4Msg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -657,7 +667,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -688,7 +702,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -718,6 +736,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv4 route result, uniquely identified by the Prefix/PrefixLen pair /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4Res : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -943,7 +962,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -973,7 +996,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1002,6 +1029,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv4 bulk route result status /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4MsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1258,7 +1286,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1292,7 +1324,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1325,6 +1361,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Used to retrieve route attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4GetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1650,7 +1687,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1689,7 +1730,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1727,6 +1772,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Get Route message response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4GetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2009,7 +2055,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2047,7 +2097,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2084,6 +2138,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv4 Route notification /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4NotifRoute : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2263,7 +2318,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2286,7 +2345,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2308,6 +2371,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv4 notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev4Notif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2689,7 +2753,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2753,7 +2821,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlRouteIpv6.cs b/grpc/dotnet/src/gencs/SlRouteIpv6.cs index 88fcc11e..6030689c 100644 --- a/grpc/dotnet/src/gencs/SlRouteIpv6.cs +++ b/grpc/dotnet/src/gencs/SlRouteIpv6.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_route_ipv6.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -97,6 +97,7 @@ static SlRouteIpv6Reflection() { /// /// IPv6 route /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6 : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -345,7 +346,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -379,7 +384,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -412,6 +421,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// List of routes for bulk download /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6Msg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -656,7 +666,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -687,7 +701,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -717,6 +735,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv6 route result, uniquely identified by the Prefix/PrefixLen pair /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6Res : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -942,7 +961,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -972,7 +995,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1001,6 +1028,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv6 bulk route result status /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6MsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1257,7 +1285,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1291,7 +1323,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1324,6 +1360,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Used to retrieve route attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6GetMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1649,7 +1686,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1688,7 +1729,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1726,6 +1771,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Gt Route message response /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6GetMsgRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2008,7 +2054,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2046,7 +2096,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2083,6 +2137,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv6 Route notification /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6NotifRoute : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2262,7 +2317,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2285,7 +2344,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2307,6 +2370,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// IPv6 notification message /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLRoutev6Notif : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2688,7 +2752,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2752,7 +2820,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlSrCommon.cs b/grpc/dotnet/src/gencs/SlSrCommon.cs index db0e45e8..9a60b711 100644 --- a/grpc/dotnet/src/gencs/SlSrCommon.cs +++ b/grpc/dotnet/src/gencs/SlSrCommon.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_sr_common.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -352,6 +352,7 @@ public enum SLSrteProtectionType { /// /// SR Policy flags /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyFlags : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -525,7 +526,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -544,7 +549,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -563,6 +572,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Binding SID. TLV 1201 /// Section 5.1 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrBsid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -623,12 +633,26 @@ public SLSrBsid Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint MplsBsid { - get { return bindingSidCase_ == BindingSidOneofCase.MplsBsid ? (uint) bindingSid_ : 0; } + get { return HasMplsBsid ? (uint) bindingSid_ : 0; } set { bindingSid_ = value; bindingSidCase_ = BindingSidOneofCase.MplsBsid; } } + /// Gets whether the "MplsBsid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMplsBsid { + get { return bindingSidCase_ == BindingSidOneofCase.MplsBsid; } + } + /// Clears the value of the oneof if it's currently set to "MplsBsid" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMplsBsid() { + if (HasMplsBsid) { + ClearBindingSid(); + } + } /// Field number for the "Srv6Bsid" field. public const int Srv6BsidFieldNumber = 2; @@ -640,12 +664,26 @@ public uint MplsBsid { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Srv6Bsid { - get { return bindingSidCase_ == BindingSidOneofCase.Srv6Bsid ? (pb::ByteString) bindingSid_ : pb::ByteString.Empty; } + get { return HasSrv6Bsid ? (pb::ByteString) bindingSid_ : pb::ByteString.Empty; } set { bindingSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); bindingSidCase_ = BindingSidOneofCase.Srv6Bsid; } } + /// Gets whether the "Srv6Bsid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSrv6Bsid { + get { return bindingSidCase_ == BindingSidOneofCase.Srv6Bsid; } + } + /// Clears the value of the oneof if it's currently set to "Srv6Bsid" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSrv6Bsid() { + if (HasSrv6Bsid) { + ClearBindingSid(); + } + } private object bindingSid_; /// Enum of possible cases for the "BindingSid" oneof. @@ -693,8 +731,8 @@ public bool Equals(SLSrBsid other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (bindingSidCase_ == BindingSidOneofCase.MplsBsid) hash ^= MplsBsid.GetHashCode(); - if (bindingSidCase_ == BindingSidOneofCase.Srv6Bsid) hash ^= Srv6Bsid.GetHashCode(); + if (HasMplsBsid) hash ^= MplsBsid.GetHashCode(); + if (HasSrv6Bsid) hash ^= Srv6Bsid.GetHashCode(); hash ^= (int) bindingSidCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -714,11 +752,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (bindingSidCase_ == BindingSidOneofCase.MplsBsid) { + if (HasMplsBsid) { output.WriteRawTag(8); output.WriteUInt32(MplsBsid); } - if (bindingSidCase_ == BindingSidOneofCase.Srv6Bsid) { + if (HasSrv6Bsid) { output.WriteRawTag(18); output.WriteBytes(Srv6Bsid); } @@ -732,11 +770,11 @@ 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 (bindingSidCase_ == BindingSidOneofCase.MplsBsid) { + if (HasMplsBsid) { output.WriteRawTag(8); output.WriteUInt32(MplsBsid); } - if (bindingSidCase_ == BindingSidOneofCase.Srv6Bsid) { + if (HasSrv6Bsid) { output.WriteRawTag(18); output.WriteBytes(Srv6Bsid); } @@ -750,10 +788,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (bindingSidCase_ == BindingSidOneofCase.MplsBsid) { + if (HasMplsBsid) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MplsBsid); } - if (bindingSidCase_ == BindingSidOneofCase.Srv6Bsid) { + if (HasSrv6Bsid) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Srv6Bsid); } if (_unknownFields != null) { @@ -788,7 +826,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -811,7 +853,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -834,6 +880,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Candidate Path Name. TLV 1203 /// Section 5.5 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrCpName : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -994,7 +1041,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1013,7 +1064,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1031,6 +1086,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR Segment Descriptors /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrSegmentDesc : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1115,12 +1171,26 @@ public uint Algorithm { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4LocalAddr { - get { return localNodeCase_ == LocalNodeOneofCase.Ipv4LocalAddr ? (pb::ByteString) localNode_ : pb::ByteString.Empty; } + get { return HasIpv4LocalAddr ? (pb::ByteString) localNode_ : pb::ByteString.Empty; } set { localNode_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); localNodeCase_ = LocalNodeOneofCase.Ipv4LocalAddr; } } + /// Gets whether the "Ipv4LocalAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4LocalAddr { + get { return localNodeCase_ == LocalNodeOneofCase.Ipv4LocalAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4LocalAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4LocalAddr() { + if (HasIpv4LocalAddr) { + ClearLocalNode(); + } + } /// Field number for the "Ipv6LocalAddr" field. public const int Ipv6LocalAddrFieldNumber = 3; @@ -1130,12 +1200,26 @@ public uint Algorithm { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv6LocalAddr { - get { return localNodeCase_ == LocalNodeOneofCase.Ipv6LocalAddr ? (pb::ByteString) localNode_ : pb::ByteString.Empty; } + get { return HasIpv6LocalAddr ? (pb::ByteString) localNode_ : pb::ByteString.Empty; } set { localNode_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); localNodeCase_ = LocalNodeOneofCase.Ipv6LocalAddr; } } + /// Gets whether the "Ipv6LocalAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv6LocalAddr { + get { return localNodeCase_ == LocalNodeOneofCase.Ipv6LocalAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv6LocalAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv6LocalAddr() { + if (HasIpv6LocalAddr) { + ClearLocalNode(); + } + } /// Field number for the "Ipv4RemoteAddr" field. public const int Ipv4RemoteAddrFieldNumber = 4; @@ -1145,12 +1229,26 @@ public uint Algorithm { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv4RemoteAddr { - get { return remoteNodeCase_ == RemoteNodeOneofCase.Ipv4RemoteAddr ? (pb::ByteString) remoteNode_ : pb::ByteString.Empty; } + get { return HasIpv4RemoteAddr ? (pb::ByteString) remoteNode_ : pb::ByteString.Empty; } set { remoteNode_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); remoteNodeCase_ = RemoteNodeOneofCase.Ipv4RemoteAddr; } } + /// Gets whether the "Ipv4RemoteAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv4RemoteAddr { + get { return remoteNodeCase_ == RemoteNodeOneofCase.Ipv4RemoteAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv4RemoteAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv4RemoteAddr() { + if (HasIpv4RemoteAddr) { + ClearRemoteNode(); + } + } /// Field number for the "Ipv6RemoteAddr" field. public const int Ipv6RemoteAddrFieldNumber = 5; @@ -1160,12 +1258,26 @@ public uint Algorithm { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Ipv6RemoteAddr { - get { return remoteNodeCase_ == RemoteNodeOneofCase.Ipv6RemoteAddr ? (pb::ByteString) remoteNode_ : pb::ByteString.Empty; } + get { return HasIpv6RemoteAddr ? (pb::ByteString) remoteNode_ : pb::ByteString.Empty; } set { remoteNode_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); remoteNodeCase_ = RemoteNodeOneofCase.Ipv6RemoteAddr; } } + /// Gets whether the "Ipv6RemoteAddr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIpv6RemoteAddr { + get { return remoteNodeCase_ == RemoteNodeOneofCase.Ipv6RemoteAddr; } + } + /// Clears the value of the oneof if it's currently set to "Ipv6RemoteAddr" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIpv6RemoteAddr() { + if (HasIpv6RemoteAddr) { + ClearRemoteNode(); + } + } /// Field number for the "LocalNodeIntfId" field. public const int LocalNodeIntfIdFieldNumber = 6; @@ -1275,10 +1387,10 @@ public bool Equals(SLSrSegmentDesc other) { public override int GetHashCode() { int hash = 1; if (Algorithm != 0) hash ^= Algorithm.GetHashCode(); - if (localNodeCase_ == LocalNodeOneofCase.Ipv4LocalAddr) hash ^= Ipv4LocalAddr.GetHashCode(); - if (localNodeCase_ == LocalNodeOneofCase.Ipv6LocalAddr) hash ^= Ipv6LocalAddr.GetHashCode(); - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv4RemoteAddr) hash ^= Ipv4RemoteAddr.GetHashCode(); - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv6RemoteAddr) hash ^= Ipv6RemoteAddr.GetHashCode(); + if (HasIpv4LocalAddr) hash ^= Ipv4LocalAddr.GetHashCode(); + if (HasIpv6LocalAddr) hash ^= Ipv6LocalAddr.GetHashCode(); + if (HasIpv4RemoteAddr) hash ^= Ipv4RemoteAddr.GetHashCode(); + if (HasIpv6RemoteAddr) hash ^= Ipv6RemoteAddr.GetHashCode(); if (LocalNodeIntfId != 0) hash ^= LocalNodeIntfId.GetHashCode(); if (RemoteNodeIntfId != 0) hash ^= RemoteNodeIntfId.GetHashCode(); hash ^= (int) localNodeCase_; @@ -1305,19 +1417,19 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(8); output.WriteUInt32(Algorithm); } - if (localNodeCase_ == LocalNodeOneofCase.Ipv4LocalAddr) { + if (HasIpv4LocalAddr) { output.WriteRawTag(18); output.WriteBytes(Ipv4LocalAddr); } - if (localNodeCase_ == LocalNodeOneofCase.Ipv6LocalAddr) { + if (HasIpv6LocalAddr) { output.WriteRawTag(26); output.WriteBytes(Ipv6LocalAddr); } - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv4RemoteAddr) { + if (HasIpv4RemoteAddr) { output.WriteRawTag(34); output.WriteBytes(Ipv4RemoteAddr); } - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv6RemoteAddr) { + if (HasIpv6RemoteAddr) { output.WriteRawTag(42); output.WriteBytes(Ipv6RemoteAddr); } @@ -1343,19 +1455,19 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(8); output.WriteUInt32(Algorithm); } - if (localNodeCase_ == LocalNodeOneofCase.Ipv4LocalAddr) { + if (HasIpv4LocalAddr) { output.WriteRawTag(18); output.WriteBytes(Ipv4LocalAddr); } - if (localNodeCase_ == LocalNodeOneofCase.Ipv6LocalAddr) { + if (HasIpv6LocalAddr) { output.WriteRawTag(26); output.WriteBytes(Ipv6LocalAddr); } - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv4RemoteAddr) { + if (HasIpv4RemoteAddr) { output.WriteRawTag(34); output.WriteBytes(Ipv4RemoteAddr); } - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv6RemoteAddr) { + if (HasIpv6RemoteAddr) { output.WriteRawTag(42); output.WriteBytes(Ipv6RemoteAddr); } @@ -1380,16 +1492,16 @@ public int CalculateSize() { if (Algorithm != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Algorithm); } - if (localNodeCase_ == LocalNodeOneofCase.Ipv4LocalAddr) { + if (HasIpv4LocalAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4LocalAddr); } - if (localNodeCase_ == LocalNodeOneofCase.Ipv6LocalAddr) { + if (HasIpv6LocalAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv6LocalAddr); } - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv4RemoteAddr) { + if (HasIpv4RemoteAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv4RemoteAddr); } - if (remoteNodeCase_ == RemoteNodeOneofCase.Ipv6RemoteAddr) { + if (HasIpv6RemoteAddr) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Ipv6RemoteAddr); } if (LocalNodeIntfId != 0) { @@ -1448,7 +1560,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1491,7 +1607,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1534,6 +1654,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SR Segment. TLV 1206 /// Section 5.8 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrSegment : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1655,12 +1776,26 @@ public uint Flags { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint MplsLabel { - get { return sidCase_ == SidOneofCase.MplsLabel ? (uint) sid_ : 0; } + get { return HasMplsLabel ? (uint) sid_ : 0; } set { sid_ = value; sidCase_ = SidOneofCase.MplsLabel; } } + /// Gets whether the "MplsLabel" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMplsLabel { + get { return sidCase_ == SidOneofCase.MplsLabel; } + } + /// Clears the value of the oneof if it's currently set to "MplsLabel" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMplsLabel() { + if (HasMplsLabel) { + ClearSid(); + } + } /// Field number for the "Srv6Sid" field. public const int Srv6SidFieldNumber = 4; @@ -1672,12 +1807,26 @@ public uint MplsLabel { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pb::ByteString Srv6Sid { - get { return sidCase_ == SidOneofCase.Srv6Sid ? (pb::ByteString) sid_ : pb::ByteString.Empty; } + get { return HasSrv6Sid ? (pb::ByteString) sid_ : pb::ByteString.Empty; } set { sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); sidCase_ = SidOneofCase.Srv6Sid; } } + /// Gets whether the "Srv6Sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSrv6Sid { + get { return sidCase_ == SidOneofCase.Srv6Sid; } + } + /// Clears the value of the oneof if it's currently set to "Srv6Sid" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSrv6Sid() { + if (HasSrv6Sid) { + ClearSid(); + } + } /// Field number for the "SegmentDesc" field. public const int SegmentDescFieldNumber = 5; @@ -1779,8 +1928,8 @@ public override int GetHashCode() { int hash = 1; if (Type != global::ServiceLayer.SLSrSegmentType.SlSrSegTypeReserved) hash ^= Type.GetHashCode(); if (Flags != 0) hash ^= Flags.GetHashCode(); - if (sidCase_ == SidOneofCase.MplsLabel) hash ^= MplsLabel.GetHashCode(); - if (sidCase_ == SidOneofCase.Srv6Sid) hash ^= Srv6Sid.GetHashCode(); + if (HasMplsLabel) hash ^= MplsLabel.GetHashCode(); + if (HasSrv6Sid) hash ^= Srv6Sid.GetHashCode(); if (segmentDesc_ != null) hash ^= SegmentDesc.GetHashCode(); if (endPointBehavior_ != null) hash ^= EndPointBehavior.GetHashCode(); if (sidStruct_ != null) hash ^= SidStruct.GetHashCode(); @@ -1811,11 +1960,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(16); output.WriteUInt32(Flags); } - if (sidCase_ == SidOneofCase.MplsLabel) { + if (HasMplsLabel) { output.WriteRawTag(24); output.WriteUInt32(MplsLabel); } - if (sidCase_ == SidOneofCase.Srv6Sid) { + if (HasSrv6Sid) { output.WriteRawTag(34); output.WriteBytes(Srv6Sid); } @@ -1849,11 +1998,11 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(16); output.WriteUInt32(Flags); } - if (sidCase_ == SidOneofCase.MplsLabel) { + if (HasMplsLabel) { output.WriteRawTag(24); output.WriteUInt32(MplsLabel); } - if (sidCase_ == SidOneofCase.Srv6Sid) { + if (HasSrv6Sid) { output.WriteRawTag(34); output.WriteBytes(Srv6Sid); } @@ -1885,10 +2034,10 @@ public int CalculateSize() { if (Flags != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flags); } - if (sidCase_ == SidOneofCase.MplsLabel) { + if (HasMplsLabel) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MplsLabel); } - if (sidCase_ == SidOneofCase.Srv6Sid) { + if (HasSrv6Sid) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(Srv6Sid); } if (segmentDesc_ != null) { @@ -1956,7 +2105,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2008,7 +2161,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2060,6 +2217,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 Binding SID. TLV 1212 /// Section 5.2 of [draft-ietf-idr-bgp-ls-sr-policy] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrv6BindingSid : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2375,7 +2533,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2416,7 +2578,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2457,6 +2623,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 End Point Behavior. TLV 1250 /// Section 7.1 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrv6EndPointBehavior : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2680,7 +2847,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2707,7 +2878,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2734,6 +2909,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 SID Structure Attribute. TLV 1252 /// Section 8 of [RFC9514] /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrv6SidStruct : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2988,7 +3164,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3019,7 +3199,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3050,6 +3234,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Identifier of an SR Policy as defined in [section 2.1 of RFC 9256] /// (https://www.rfc-editor.org/rfc/rfc9256.html#section-2.1). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3285,7 +3470,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3318,7 +3507,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3352,6 +3545,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// defined in [section 2.6 of RFC 9256] /// (https://www.rfc-editor.org/rfc/rfc9256.html#section-2.6). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrCandidatePathKey : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3543,7 +3737,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3569,7 +3767,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3598,6 +3800,7 @@ public static partial class Types { /// Originator of the candidate path, as defined in [section 2.4 of RFC /// 9256](https://www.rfc-editor.org/rfc/rfc9256.html#section-2.4). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class Originator : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3796,7 +3999,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3825,7 +4032,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3865,6 +4076,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// is represented in multiple of 4 bytes. /// https://www.ietf.org/archive/id/draft-ietf-idr-bgp-ls-sr-policy-17.html#name-sr-affinity-constraint-sub- /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrAffinities : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4063,7 +4275,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4093,7 +4309,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4122,6 +4342,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Segment Rules related constraints to be used during the path computation. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrSegmentRules : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4171,6 +4392,8 @@ public SLSrSegmentRules Clone() { /// Field number for the "sid_algo" field. public const int SidAlgoFieldNumber = 1; + private readonly static uint SidAlgoDefaultValue = 0; + private uint sidAlgo_; /// /// Algorithm to used for dynamic path calculation. @@ -4181,7 +4404,7 @@ public SLSrSegmentRules Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint SidAlgo { - get { if ((_hasBits0 & 1) != 0) { return sidAlgo_; } else { return 0; } } + get { if ((_hasBits0 & 1) != 0) { return sidAlgo_; } else { return SidAlgoDefaultValue; } } set { _hasBits0 |= 1; sidAlgo_ = value; @@ -4330,7 +4553,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4353,7 +4580,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4375,6 +4606,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Upper-bound constraints on the computed dynamic path /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrUpperBoundConstraints : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4543,7 +4775,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4562,7 +4798,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4580,6 +4820,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SRv6 Segment Identifier(SID) Address as defined in [RFC8986]. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSRv6SIDInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4809,7 +5050,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4842,7 +5087,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4877,6 +5126,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Segment descriptor types are defined in [section 4 of RFC /// 9256](https://www.rfc-editor.org/rfc/rfc9256.html#section-4). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrteSegment : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5106,7 +5356,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5139,7 +5393,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5174,6 +5432,7 @@ public static partial class Types { /// /// Type A: SR-MPLS Label. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class TypeA : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5329,7 +5588,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5348,7 +5611,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5366,6 +5633,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Type B: SRv6 SID. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class TypeB : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5524,7 +5792,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5546,7 +5818,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5572,6 +5848,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// A (weighted) segment list. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrSegmentList : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5636,6 +5913,8 @@ public SLSrSegmentList Clone() { /// Field number for the "weight" field. public const int WeightFieldNumber = 2; + private readonly static uint WeightDefaultValue = 0; + private uint weight_; /// /// Load balancing weight factor. @@ -5649,7 +5928,7 @@ public SLSrSegmentList Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint Weight { - get { if ((_hasBits0 & 1) != 0) { return weight_; } else { return 0; } } + get { if ((_hasBits0 & 1) != 0) { return weight_; } else { return WeightDefaultValue; } } set { _hasBits0 |= 1; weight_ = value; @@ -5804,7 +6083,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -5831,7 +6114,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -5857,6 +6144,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// An error message. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrStatus : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -5919,6 +6207,8 @@ public SLSrStatus Clone() { /// Field number for the "description" field. public const int DescriptionFieldNumber = 2; + private readonly static string DescriptionDefaultValue = ""; + private string description_; /// /// Text description of the error. @@ -5926,7 +6216,7 @@ public SLSrStatus Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Description { - get { return description_ ?? ""; } + get { return description_ ?? DescriptionDefaultValue; } set { description_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } @@ -6062,7 +6352,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -6088,7 +6382,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/grpc/dotnet/src/gencs/SlSrtePolicy.cs b/grpc/dotnet/src/gencs/SlSrtePolicy.cs index 5af7bbaa..c8328917 100644 --- a/grpc/dotnet/src/gencs/SlSrtePolicy.cs +++ b/grpc/dotnet/src/gencs/SlSrtePolicy.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_srte_policy.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -47,34 +47,38 @@ static SlSrtePolicyReflection() { "GAIgASgLMhwuc2VydmljZV9sYXllci5TTFNyUG9saWN5S2V5EjIKBWF0dHJz", "GAMgASgLMiMuc2VydmljZV9sYXllci5TTFNyUG9saWN5QXR0cmlidXRlcxIt", "CgNDUHMYBCADKAsyIC5zZXJ2aWNlX2xheWVyLlNMU3JDYW5kaWRhdGVQYXRo", - "IuIBChRTTFNyUG9saWN5QXR0cmlidXRlcxIYChB0cmFuc2l0X2VsaWdpYmxl", + "Ip8CChRTTFNyUG9saWN5QXR0cmlidXRlcxIYChB0cmFuc2l0X2VsaWdpYmxl", "GAIgASgIEi8KCWRhdGFwbGFuZRgDIAEoDjIcLnNlcnZpY2VfbGF5ZXIuU0xT", "ckRhdGFwbGFuZRI0CgltcGxzX2JzaWQYBCABKAsyIS5zZXJ2aWNlX2xheWVy", "LlNMU3JNUExTQmluZGluZ1NJRBI1CgpzcnY2X2JzaWRzGAUgAygLMiEuc2Vy", "dmljZV9sYXllci5TTFNyU3J2NkJpbmRpbmdTSUQSEgoKcHJvZmlsZV9pZBgG", - "IAEoDSLlAQoRU0xTckNhbmRpZGF0ZVBhdGgSMAoDa2V5GAIgASgLMiMuc2Vy", - "dmljZV9sYXllci5TTFNyQ2FuZGlkYXRlUGF0aEtleRIMCgRuYW1lGAMgASgJ", - "EhcKCnByZWZlcmVuY2UYBCABKA1IAYgBARIvCgdkeW5hbWljGAUgASgLMhwu", - "c2VydmljZV9sYXllci5TTFNyRHluYW1pY0NQSAASMQoIZXhwbGljaXQYBiAB", - "KAsyHS5zZXJ2aWNlX2xheWVyLlNMU3JFeHBsaWNpdENQSABCBAoCQ1BCDQoL", - "X3ByZWZlcmVuY2UiWwoOU0xTckV4cGxpY2l0Q1ASNAoMc2VnbWVudF9saXN0", - "GAEgAygLMh4uc2VydmljZV9sYXllci5TTFNyU2VnbWVudExpc3QSEwoLbWV0", - "cmljX3R5cGUYAyABKA0iWQoNU0xTckR5bmFtaWNDUBITCgttZXRyaWNfdHlw", - "ZRgBIAEoDRIzCgtjb25zdHJhaW50cxgCIAEoCzIeLnNlcnZpY2VfbGF5ZXIu", - "U0xTckNvbnN0cmFpbnRzIrsBCg9TTFNyQ29uc3RyYWludHMSMQoKYWZmaW5p", - "dGllcxgBIAEoCzIdLnNlcnZpY2VfbGF5ZXIuU0xTckFmZmluaXRpZXMSNgoN", - "c2VnbWVudF9ydWxlcxgCIAEoCzIfLnNlcnZpY2VfbGF5ZXIuU0xTclNlZ21l", - "bnRSdWxlcxI9Cgt1cHBlcl9ib3VuZBgDIAEoCzIoLnNlcnZpY2VfbGF5ZXIu", - "U0xTclVwcGVyQm91bmRDb25zdHJhaW50cyJZChJTTFNyU3J2NkJpbmRpbmdT", - "SUQSOwoHZHluYW1pYxgCIAEoCzIoLnNlcnZpY2VfbGF5ZXIuU0xTclNydjZE", - "eW5hbWljQmluZGluZ1NJREgAQgYKBHR5cGUiOgoSU0xTck1QTFNCaW5kaW5n", - "U0lEEhYKCW1wbHNfYnNpZBgBIAEoDUgAiAEBQgwKCl9tcGxzX2JzaWQiOwoZ", - "U0xTclNydjZEeW5hbWljQmluZGluZ1NJRBIeChZzcnY2X2VuZHBvaW50X2Jl", - "aGF2aW9yGAEgASgNMl4KDFNMU3J0ZVBvbGljeRJOCgxTTFNyUG9saWN5T3AS", - "HC5zZXJ2aWNlX2xheWVyLlNMU3JQb2xpY3lNc2caHC5zZXJ2aWNlX2xheWVy", - "LlNMU3JQb2xpY3lSc3AoATABQlFaT2dpdGh1Yi5jb20vQ2lzY28tc2Vydmlj", - "ZS1sYXllci9zZXJ2aWNlLWxheWVyLW9iam1vZGVsL2dycGMvcHJvdG9zO3Nl", - "cnZpY2VfbGF5ZXJiBnByb3RvMw==")); + "IAEoDRI7CgpzcnY2X2F0dHJzGAcgASgLMicuc2VydmljZV9sYXllci5TTFNy", + "U3J2NlBvbGljeUF0dHJpYnV0ZXMi5QEKEVNMU3JDYW5kaWRhdGVQYXRoEjAK", + "A2tleRgCIAEoCzIjLnNlcnZpY2VfbGF5ZXIuU0xTckNhbmRpZGF0ZVBhdGhL", + "ZXkSDAoEbmFtZRgDIAEoCRIXCgpwcmVmZXJlbmNlGAQgASgNSAGIAQESLwoH", + "ZHluYW1pYxgFIAEoCzIcLnNlcnZpY2VfbGF5ZXIuU0xTckR5bmFtaWNDUEgA", + "EjEKCGV4cGxpY2l0GAYgASgLMh0uc2VydmljZV9sYXllci5TTFNyRXhwbGlj", + "aXRDUEgAQgQKAkNQQg0KC19wcmVmZXJlbmNlIlsKDlNMU3JFeHBsaWNpdENQ", + "EjQKDHNlZ21lbnRfbGlzdBgBIAMoCzIeLnNlcnZpY2VfbGF5ZXIuU0xTclNl", + "Z21lbnRMaXN0EhMKC21ldHJpY190eXBlGAMgASgNIlkKDVNMU3JEeW5hbWlj", + "Q1ASEwoLbWV0cmljX3R5cGUYASABKA0SMwoLY29uc3RyYWludHMYAiABKAsy", + "Hi5zZXJ2aWNlX2xheWVyLlNMU3JDb25zdHJhaW50cyK7AQoPU0xTckNvbnN0", + "cmFpbnRzEjEKCmFmZmluaXRpZXMYASABKAsyHS5zZXJ2aWNlX2xheWVyLlNM", + "U3JBZmZpbml0aWVzEjYKDXNlZ21lbnRfcnVsZXMYAiABKAsyHy5zZXJ2aWNl", + "X2xheWVyLlNMU3JTZWdtZW50UnVsZXMSPQoLdXBwZXJfYm91bmQYAyABKAsy", + "KC5zZXJ2aWNlX2xheWVyLlNMU3JVcHBlckJvdW5kQ29uc3RyYWludHMiiwEK", + "ElNMU3JTcnY2QmluZGluZ1NJRBIwCghleHBsaWNpdBgBIAEoCzIcLnNlcnZp", + "Y2VfbGF5ZXIuU0xTUnY2U0lESW5mb0gAEjsKB2R5bmFtaWMYAiABKAsyKC5z", + "ZXJ2aWNlX2xheWVyLlNMU3JTcnY2RHluYW1pY0JpbmRpbmdTSURIAEIGCgR0", + "eXBlIjoKElNMU3JNUExTQmluZGluZ1NJRBIWCgltcGxzX2JzaWQYASABKA1I", + "AIgBAUIMCgpfbXBsc19ic2lkIjsKGVNMU3JTcnY2RHluYW1pY0JpbmRpbmdT", + "SUQSHgoWc3J2Nl9lbmRwb2ludF9iZWhhdmlvchgBIAEoDSI6ChhTTFNyU3J2", + "NlBvbGljeUF0dHJpYnV0ZXMSHgoWaW5zdGFsbF9maW5hbF9ub2RlX3NpZBgB", + "IAEoCDJeCgxTTFNydGVQb2xpY3kSTgoMU0xTclBvbGljeU9wEhwuc2Vydmlj", + "ZV9sYXllci5TTFNyUG9saWN5TXNnGhwuc2VydmljZV9sYXllci5TTFNyUG9s", + "aWN5UnNwKAEwAUJRWk9naXRodWIuY29tL0Npc2NvLXNlcnZpY2UtbGF5ZXIv", + "c2VydmljZS1sYXllci1vYmptb2RlbC9ncnBjL3Byb3RvcztzZXJ2aWNlX2xh", + "eWVyYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::ServiceLayer.SlSrCommonReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -86,14 +90,15 @@ static SlSrtePolicyReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrEndOfReplay), global::ServiceLayer.SLSrEndOfReplay.Parser, null, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrStartOfReplay), global::ServiceLayer.SLSrStartOfReplay.Parser, null, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrPolicy), global::ServiceLayer.SLSrPolicy.Parser, new[]{ "OperationId", "Key", "Attrs", "CPs" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrPolicyAttributes), global::ServiceLayer.SLSrPolicyAttributes.Parser, new[]{ "TransitEligible", "Dataplane", "MplsBsid", "Srv6Bsids", "ProfileId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrPolicyAttributes), global::ServiceLayer.SLSrPolicyAttributes.Parser, new[]{ "TransitEligible", "Dataplane", "MplsBsid", "Srv6Bsids", "ProfileId", "Srv6Attrs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrCandidatePath), global::ServiceLayer.SLSrCandidatePath.Parser, new[]{ "Key", "Name", "Preference", "Dynamic", "Explicit" }, new[]{ "CP", "Preference" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrExplicitCP), global::ServiceLayer.SLSrExplicitCP.Parser, new[]{ "SegmentList", "MetricType" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrDynamicCP), global::ServiceLayer.SLSrDynamicCP.Parser, new[]{ "MetricType", "Constraints" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrConstraints), global::ServiceLayer.SLSrConstraints.Parser, new[]{ "Affinities", "SegmentRules", "UpperBound" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrSrv6BindingSID), global::ServiceLayer.SLSrSrv6BindingSID.Parser, new[]{ "Dynamic" }, new[]{ "Type" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrSrv6BindingSID), global::ServiceLayer.SLSrSrv6BindingSID.Parser, new[]{ "Explicit", "Dynamic" }, new[]{ "Type" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrMPLSBindingSID), global::ServiceLayer.SLSrMPLSBindingSID.Parser, new[]{ "MplsBsid" }, new[]{ "MplsBsid" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrSrv6DynamicBindingSID), global::ServiceLayer.SLSrSrv6DynamicBindingSID.Parser, new[]{ "Srv6EndpointBehavior" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrSrv6DynamicBindingSID), global::ServiceLayer.SLSrSrv6DynamicBindingSID.Parser, new[]{ "Srv6EndpointBehavior" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ServiceLayer.SLSrSrv6PolicyAttributes), global::ServiceLayer.SLSrSrv6PolicyAttributes.Parser, new[]{ "InstallFinalNodeSid" }, null, null, null, null) })); } #endregion @@ -103,6 +108,7 @@ static SlSrtePolicyReflection() { /// /// SLSrPolicyMsg is message used by client to manage policies on target device /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyMsg : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -332,7 +338,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -365,7 +375,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -401,6 +415,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// given policy, identified by the specific SLSrPolicyKey, there would be at least /// one response based on the last message request. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -584,7 +599,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -610,7 +629,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -635,6 +658,7 @@ public void MergeFrom(pb::CodedInputStream input) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class PolicyRsp : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -864,7 +888,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -897,7 +925,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -943,6 +975,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// The server is not required to send an explicit response message to indicate the /// receipt of the Open Message. Server may respond in case of any errors. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyOpen : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1148,7 +1181,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1171,7 +1208,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1220,6 +1261,7 @@ public enum SLSrPersistenceMode { /// /// Set of policies to be acted on /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyRequests : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1367,7 +1409,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1386,7 +1432,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1404,6 +1454,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Policy operation /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyReq : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1606,7 +1657,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1632,7 +1687,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1692,6 +1751,7 @@ public enum SLSrOp { /// replayed policies will be deleted. /// The server will not send any responses to this message unless there is an error. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrEndOfReplay : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1818,7 +1878,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1833,7 +1897,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1859,6 +1927,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// an error. /// The server will not send any responses to this message unless there is an error. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrStartOfReplay : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1985,7 +2054,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2000,7 +2073,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2014,6 +2091,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// (https://www.rfc-editor.org/rfc/rfc9256.html#section-2). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicy : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2266,7 +2344,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2303,7 +2385,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2339,6 +2425,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Policy attributes /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrPolicyAttributes : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2378,6 +2465,7 @@ public SLSrPolicyAttributes(SLSrPolicyAttributes other) : this() { mplsBsid_ = other.mplsBsid_ != null ? other.mplsBsid_.Clone() : null; srv6Bsids_ = other.srv6Bsids_.Clone(); profileId_ = other.profileId_; + srv6Attrs_ = other.srv6Attrs_ != null ? other.srv6Attrs_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2478,6 +2566,22 @@ public uint ProfileId { } } + /// Field number for the "srv6_attrs" field. + public const int Srv6AttrsFieldNumber = 7; + private global::ServiceLayer.SLSrSrv6PolicyAttributes srv6Attrs_; + /// + /// Attributes specific to SRv6 policies. + /// Request will be rejected if srv6_attrs is set for non-SRv6 dataplane. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLSrSrv6PolicyAttributes Srv6Attrs { + get { return srv6Attrs_; } + set { + srv6Attrs_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -2498,6 +2602,7 @@ public bool Equals(SLSrPolicyAttributes other) { if (!object.Equals(MplsBsid, other.MplsBsid)) return false; if(!srv6Bsids_.Equals(other.srv6Bsids_)) return false; if (ProfileId != other.ProfileId) return false; + if (!object.Equals(Srv6Attrs, other.Srv6Attrs)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2510,6 +2615,7 @@ public override int GetHashCode() { if (mplsBsid_ != null) hash ^= MplsBsid.GetHashCode(); hash ^= srv6Bsids_.GetHashCode(); if (ProfileId != 0) hash ^= ProfileId.GetHashCode(); + if (srv6Attrs_ != null) hash ^= Srv6Attrs.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2545,6 +2651,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(48); output.WriteUInt32(ProfileId); } + if (srv6Attrs_ != null) { + output.WriteRawTag(58); + output.WriteMessage(Srv6Attrs); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2572,6 +2682,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(48); output.WriteUInt32(ProfileId); } + if (srv6Attrs_ != null) { + output.WriteRawTag(58); + output.WriteMessage(Srv6Attrs); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2595,6 +2709,9 @@ public int CalculateSize() { if (ProfileId != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ProfileId); } + if (srv6Attrs_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Srv6Attrs); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2623,6 +2740,12 @@ public void MergeFrom(SLSrPolicyAttributes other) { if (other.ProfileId != 0) { ProfileId = other.ProfileId; } + if (other.srv6Attrs_ != null) { + if (srv6Attrs_ == null) { + Srv6Attrs = new global::ServiceLayer.SLSrSrv6PolicyAttributes(); + } + Srv6Attrs.MergeFrom(other.Srv6Attrs); + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2634,7 +2757,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2661,6 +2788,13 @@ public void MergeFrom(pb::CodedInputStream input) { ProfileId = input.ReadUInt32(); break; } + case 58: { + if (srv6Attrs_ == null) { + Srv6Attrs = new global::ServiceLayer.SLSrSrv6PolicyAttributes(); + } + input.ReadMessage(Srv6Attrs); + break; + } } } #endif @@ -2672,7 +2806,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2699,6 +2837,13 @@ public void MergeFrom(pb::CodedInputStream input) { ProfileId = input.ReadUInt32(); break; } + case 58: { + if (srv6Attrs_ == null) { + Srv6Attrs = new global::ServiceLayer.SLSrSrv6PolicyAttributes(); + } + input.ReadMessage(Srv6Attrs); + break; + } } } } @@ -2711,6 +2856,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// [section 2.2 of RFC 9256] /// (https://www.rfc-editor.org/rfc/rfc9256.html#section-2.2). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrCandidatePath : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2806,6 +2952,8 @@ public string Name { /// Field number for the "preference" field. public const int PreferenceFieldNumber = 4; + private readonly static uint PreferenceDefaultValue = 0; + private uint preference_; /// /// The Preference of the candidate path is used to select the @@ -2816,7 +2964,7 @@ public string Name { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint Preference { - get { if ((_hasBits0 & 1) != 0) { return preference_; } else { return 0; } } + get { if ((_hasBits0 & 1) != 0) { return preference_; } else { return PreferenceDefaultValue; } } set { _hasBits0 |= 1; preference_ = value; @@ -3063,7 +3211,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3111,7 +3263,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3158,6 +3314,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Candidate path with explicitly defined set of segment-lists /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrExplicitCP : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3344,7 +3501,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3367,7 +3528,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3389,6 +3554,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// The specific attributes for instantiating a dynamic path request. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrDynamicCP : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3592,7 +3758,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3618,7 +3788,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3645,6 +3819,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Other contraints not included here like SRLG, Bandwidth, Metric(Margin, Bounds), /// Disjoint Group etc., can be added in future revisions. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrConstraints : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3876,7 +4051,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -3912,7 +4091,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -3947,6 +4130,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SRv6 Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrSrv6BindingSID : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -3982,6 +4166,9 @@ public SLSrSrv6BindingSID() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SLSrSrv6BindingSID(SLSrSrv6BindingSID other) : this() { switch (other.TypeCase) { + case TypeOneofCase.Explicit: + Explicit = other.Explicit.Clone(); + break; case TypeOneofCase.Dynamic: Dynamic = other.Dynamic.Clone(); break; @@ -3996,11 +4183,25 @@ public SLSrSrv6BindingSID Clone() { return new SLSrSrv6BindingSID(this); } + /// Field number for the "explicit" field. + public const int ExplicitFieldNumber = 1; + /// + /// SRv6 explicit Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2.3) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::ServiceLayer.SLSRv6SIDInfo Explicit { + get { return typeCase_ == TypeOneofCase.Explicit ? (global::ServiceLayer.SLSRv6SIDInfo) type_ : null; } + set { + type_ = value; + typeCase_ = value == null ? TypeOneofCase.None : TypeOneofCase.Explicit; + } + } + /// Field number for the "dynamic" field. public const int DynamicFieldNumber = 2; /// - /// Will be enabled in future - ///SLSRv6SIDInfo explicit = 1; + /// SRv6 dynamic Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2.1) /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -4016,6 +4217,7 @@ public SLSrSrv6BindingSID Clone() { /// Enum of possible cases for the "type" oneof. public enum TypeOneofCase { None = 0, + Explicit = 1, Dynamic = 2, } private TypeOneofCase typeCase_ = TypeOneofCase.None; @@ -4047,6 +4249,7 @@ public bool Equals(SLSrSrv6BindingSID other) { if (ReferenceEquals(other, this)) { return true; } + if (!object.Equals(Explicit, other.Explicit)) return false; if (!object.Equals(Dynamic, other.Dynamic)) return false; if (TypeCase != other.TypeCase) return false; return Equals(_unknownFields, other._unknownFields); @@ -4056,6 +4259,7 @@ public bool Equals(SLSrSrv6BindingSID other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (typeCase_ == TypeOneofCase.Explicit) hash ^= Explicit.GetHashCode(); if (typeCase_ == TypeOneofCase.Dynamic) hash ^= Dynamic.GetHashCode(); hash ^= (int) typeCase_; if (_unknownFields != null) { @@ -4076,6 +4280,10 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (typeCase_ == TypeOneofCase.Explicit) { + output.WriteRawTag(10); + output.WriteMessage(Explicit); + } if (typeCase_ == TypeOneofCase.Dynamic) { output.WriteRawTag(18); output.WriteMessage(Dynamic); @@ -4090,6 +4298,10 @@ 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 (typeCase_ == TypeOneofCase.Explicit) { + output.WriteRawTag(10); + output.WriteMessage(Explicit); + } if (typeCase_ == TypeOneofCase.Dynamic) { output.WriteRawTag(18); output.WriteMessage(Dynamic); @@ -4104,6 +4316,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (typeCase_ == TypeOneofCase.Explicit) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Explicit); + } if (typeCase_ == TypeOneofCase.Dynamic) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dynamic); } @@ -4120,6 +4335,12 @@ public void MergeFrom(SLSrSrv6BindingSID other) { return; } switch (other.TypeCase) { + case TypeOneofCase.Explicit: + if (Explicit == null) { + Explicit = new global::ServiceLayer.SLSRv6SIDInfo(); + } + Explicit.MergeFrom(other.Explicit); + break; case TypeOneofCase.Dynamic: if (Dynamic == null) { Dynamic = new global::ServiceLayer.SLSrSrv6DynamicBindingSID(); @@ -4139,10 +4360,23 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 10: { + global::ServiceLayer.SLSRv6SIDInfo subBuilder = new global::ServiceLayer.SLSRv6SIDInfo(); + if (typeCase_ == TypeOneofCase.Explicit) { + subBuilder.MergeFrom(Explicit); + } + input.ReadMessage(subBuilder); + Explicit = subBuilder; + break; + } case 18: { global::ServiceLayer.SLSrSrv6DynamicBindingSID subBuilder = new global::ServiceLayer.SLSrSrv6DynamicBindingSID(); if (typeCase_ == TypeOneofCase.Dynamic) { @@ -4163,10 +4397,23 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 10: { + global::ServiceLayer.SLSRv6SIDInfo subBuilder = new global::ServiceLayer.SLSRv6SIDInfo(); + if (typeCase_ == TypeOneofCase.Explicit) { + subBuilder.MergeFrom(Explicit); + } + input.ReadMessage(subBuilder); + Explicit = subBuilder; + break; + } case 18: { global::ServiceLayer.SLSrSrv6DynamicBindingSID subBuilder = new global::ServiceLayer.SLSrSrv6DynamicBindingSID(); if (typeCase_ == TypeOneofCase.Dynamic) { @@ -4186,6 +4433,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// SR-MPLS Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.1). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrMPLSBindingSID : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4234,6 +4482,8 @@ public SLSrMPLSBindingSID Clone() { /// Field number for the "mpls_bsid" field. public const int MplsBsidFieldNumber = 1; + private readonly static uint MplsBsidDefaultValue = 0; + private uint mplsBsid_; /// /// If not set, dynamic MPLS BSID will be allocated @@ -4241,7 +4491,7 @@ public SLSrMPLSBindingSID Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint MplsBsid { - get { if ((_hasBits0 & 1) != 0) { return mplsBsid_; } else { return 0; } } + get { if ((_hasBits0 & 1) != 0) { return mplsBsid_; } else { return MplsBsidDefaultValue; } } set { _hasBits0 |= 1; mplsBsid_ = value; @@ -4359,7 +4609,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4378,7 +4632,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4397,6 +4655,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// SRv6 Dynamic Binding SID attributes /// (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2). /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class SLSrSrv6DynamicBindingSID : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -4555,7 +4814,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -4574,7 +4837,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -4589,6 +4856,212 @@ public void MergeFrom(pb::CodedInputStream input) { } + /// + /// SRv6 policy attributes + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SLSrSrv6PolicyAttributes : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SLSrSrv6PolicyAttributes()); + 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.SlSrtePolicyReflection.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 SLSrSrv6PolicyAttributes() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLSrSrv6PolicyAttributes(SLSrSrv6PolicyAttributes other) : this() { + installFinalNodeSid_ = other.installFinalNodeSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SLSrSrv6PolicyAttributes Clone() { + return new SLSrSrv6PolicyAttributes(this); + } + + /// Field number for the "install_final_node_sid" field. + public const int InstallFinalNodeSidFieldNumber = 1; + private bool installFinalNodeSid_; + /// + /// When the final segment in a segment list is a node SID, it is suppressed + /// by default unless this behavior is changed using global configuration. + /// Set this to true to force installation of the final node SID. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool InstallFinalNodeSid { + get { return installFinalNodeSid_; } + set { + installFinalNodeSid_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SLSrSrv6PolicyAttributes); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SLSrSrv6PolicyAttributes other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (InstallFinalNodeSid != other.InstallFinalNodeSid) 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 (InstallFinalNodeSid != false) hash ^= InstallFinalNodeSid.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 (InstallFinalNodeSid != false) { + output.WriteRawTag(8); + output.WriteBool(InstallFinalNodeSid); + } + 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 (InstallFinalNodeSid != false) { + output.WriteRawTag(8); + output.WriteBool(InstallFinalNodeSid); + } + 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 (InstallFinalNodeSid != false) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SLSrSrv6PolicyAttributes other) { + if (other == null) { + return; + } + if (other.InstallFinalNodeSid != false) { + InstallFinalNodeSid = other.InstallFinalNodeSid; + } + _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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + InstallFinalNodeSid = input.ReadBool(); + 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) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + InstallFinalNodeSid = input.ReadBool(); + break; + } + } + } + } + #endif + + } + #endregion } diff --git a/grpc/dotnet/src/gencs/SlVersion.cs b/grpc/dotnet/src/gencs/SlVersion.cs index 7914481d..4d5401e8 100644 --- a/grpc/dotnet/src/gencs/SlVersion.cs +++ b/grpc/dotnet/src/gencs/SlVersion.cs @@ -2,7 +2,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: sl_version.proto // -#pragma warning disable 1591, 0612, 3021 +#pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code using pb = global::Google.Protobuf; @@ -26,7 +26,7 @@ static SlVersionReflection() { string.Concat( "ChBzbF92ZXJzaW9uLnByb3RvEg1zZXJ2aWNlX2xheWVyKmYKCVNMVmVyc2lv", "bhIVChFTTF9WRVJTSU9OX1VOVVNFRBAAEhQKEFNMX01BSk9SX1ZFUlNJT04Q", - "ABIUChBTTF9NSU5PUl9WRVJTSU9OEAsSEgoOU0xfU1VCX1ZFUlNJT04QABoC", + "ABIUChBTTF9NSU5PUl9WRVJTSU9OEAwSEgoOU0xfU1VCX1ZFUlNJT04QABoC", "EAFCUVpPZ2l0aHViLmNvbS9DaXNjby1zZXJ2aWNlLWxheWVyL3NlcnZpY2Ut", "bGF5ZXItb2JqbW9kZWwvZ3JwYy9wcm90b3M7c2VydmljZV9sYXllcmIGcHJv", "dG8z")); @@ -46,7 +46,7 @@ static SlVersionReflection() { public enum SLVersion { [pbr::OriginalName("SL_VERSION_UNUSED")] Unused = 0, [pbr::OriginalName("SL_MAJOR_VERSION", PreferredAlias = false)] SlMajorVersion = 0, - [pbr::OriginalName("SL_MINOR_VERSION")] SlMinorVersion = 11, + [pbr::OriginalName("SL_MINOR_VERSION")] SlMinorVersion = 12, [pbr::OriginalName("SL_SUB_VERSION", PreferredAlias = false)] SlSubVersion = 0, } diff --git a/grpc/go/gen-bindings.sh b/grpc/go/gen-bindings.sh index 0335f81f..d6c4b809 100755 --- a/grpc/go/gen-bindings.sh +++ b/grpc/go/gen-bindings.sh @@ -15,4 +15,8 @@ protoc -I ./ *.proto --go-grpc_out=../go/src/gengo/ --go_out=../go/src/gengo cd ../go/src/gengo cp github.com/Cisco-service-layer/service-layer-objmodel/grpc/protos/* . rm -rf github.com + +# Keep Go module metadata aligned with the regenerated bindings. +go mod tidy + echo "Done" diff --git a/grpc/go/src/gengo/BUILD.bazel b/grpc/go/src/gengo/BUILD.bazel new file mode 100644 index 00000000..412b85ca --- /dev/null +++ b/grpc/go/src/gengo/BUILD.bazel @@ -0,0 +1,36 @@ +# Copyright (c) 2025 by Cisco Systems, Inc. +# All rights reserved. + +""" +Service Layer Go Protobuf Bindings + +Generated Go code from Service Layer proto files. +Exported as individual files - XR shell component wraps in xr_go_library. +""" + +# Export all generated Go source files individually +# This allows XR shell component to reference them in xr_go_library srcs +exports_files( + glob( + ["*.go"], + exclude = ["*_test.go"], + ), + visibility = ["//visibility:public"], +) + +# Also export as filegroup for convenience +filegroup( + name = "slpb_srcs", + srcs = glob( + ["*.go"], + exclude = ["*_test.go"], + ), + visibility = ["//visibility:public"], +) + +# Export go.mod for dependency information +exports_files( + ["go.mod", "go.sum"], + visibility = ["//visibility:public"], +) + diff --git a/grpc/go/src/gengo/go.mod b/grpc/go/src/gengo/go.mod index 8bf4fb32..711cc993 100644 --- a/grpc/go/src/gengo/go.mod +++ b/grpc/go/src/gengo/go.mod @@ -1,18 +1,15 @@ -module foo +module github.com/Cisco-Service-Layer/service-layer-objmodel/grpc/go/src/gengo -go 1.23.0 - -toolchain go1.23.8 +go 1.24.3 require ( - google.golang.org/grpc v1.56.3 - google.golang.org/protobuf v1.33.0 + google.golang.org/grpc v1.72.2 + google.golang.org/protobuf v1.36.6 ) require ( - github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/net v0.36.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/text v0.22.0 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + golang.org/x/net v0.44.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/text v0.29.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect ) diff --git a/grpc/go/src/gengo/go.sum b/grpc/go/src/gengo/go.sum index f44cd00c..c56b1db0 100644 --- a/grpc/go/src/gengo/go.sum +++ b/grpc/go/src/gengo/go.sum @@ -1,21 +1,34 @@ -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= diff --git a/grpc/go/src/gengo/sl_af.pb.go b/grpc/go/src/gengo/sl_af.pb.go index 839e7ed1..07776e3c 100644 --- a/grpc/go/src/gengo/sl_af.pb.go +++ b/grpc/go/src/gengo/sl_af.pb.go @@ -18,8 +18,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_af.proto package service_layer @@ -29,6 +29,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -40,23 +41,20 @@ const ( // AF VRF Registration message type SLAFVrfReg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 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 attributes - VrfReg *SLVrfReg `protobuf:"bytes,2,opt,name=VrfReg,proto3" json:"VrfReg,omitempty"` + VrfReg *SLVrfReg `protobuf:"bytes,2,opt,name=VrfReg,proto3" json:"VrfReg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFVrfReg) Reset() { *x = SLAFVrfReg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFVrfReg) String() string { @@ -67,7 +65,7 @@ func (*SLAFVrfReg) ProtoMessage() {} func (x *SLAFVrfReg) ProtoReflect() protoreflect.Message { mi := &file_sl_af_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -98,23 +96,20 @@ func (x *SLAFVrfReg) GetVrfReg() *SLVrfReg { // AF VRF Registration messages type SLAFVrfRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Registration Operation Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` // List of VRF registrations - VrfRegMsgs []*SLAFVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs,proto3" json:"VrfRegMsgs,omitempty"` + VrfRegMsgs []*SLAFVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs,proto3" json:"VrfRegMsgs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFVrfRegMsg) Reset() { *x = SLAFVrfRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFVrfRegMsg) String() string { @@ -125,7 +120,7 @@ func (*SLAFVrfRegMsg) ProtoMessage() {} func (x *SLAFVrfRegMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_af_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -156,25 +151,22 @@ func (x *SLAFVrfRegMsg) GetVrfRegMsgs() []*SLAFVrfReg { // AF VRF Registration message Result type SLAFVrfRegMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // VRF Name VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Table type - Table SLTableType `protobuf:"varint,3,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + Table SLTableType `protobuf:"varint,3,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFVrfRegMsgRes) Reset() { *x = SLAFVrfRegMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFVrfRegMsgRes) String() string { @@ -185,7 +177,7 @@ func (*SLAFVrfRegMsgRes) ProtoMessage() {} func (x *SLAFVrfRegMsgRes) ProtoReflect() protoreflect.Message { mi := &file_sl_af_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -223,10 +215,7 @@ func (x *SLAFVrfRegMsgRes) GetTable() SLTableType { // VRF Registration message Response type SLAFVrfRegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -239,16 +228,16 @@ type SLAFVrfRegMsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous - Results []*SLAFVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLAFVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFVrfRegMsgRsp) Reset() { *x = SLAFVrfRegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFVrfRegMsgRsp) String() string { @@ -259,7 +248,7 @@ func (*SLAFVrfRegMsgRsp) ProtoMessage() {} func (x *SLAFVrfRegMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_af_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -291,23 +280,20 @@ func (x *SLAFVrfRegMsgRsp) GetResults() []*SLAFVrfRegMsgRes { // VRF Reg Get Request Message. // Returns the VRF registrations done for all table types. type SLAFVrfRegGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // If true, returns VRF registrations for all clients. // 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"` + GetAll bool `protobuf:"varint,1,opt,name=GetAll,proto3" json:"GetAll,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFVrfRegGetMsg) Reset() { *x = SLAFVrfRegGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFVrfRegGetMsg) String() string { @@ -318,7 +304,7 @@ func (*SLAFVrfRegGetMsg) ProtoMessage() {} func (x *SLAFVrfRegGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_af_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -342,29 +328,29 @@ func (x *SLAFVrfRegGetMsg) GetGetAll() bool { // VRF Reg Get Message Response type SLAFVrfRegGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Status of the Get operation ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Client that performed this registration + // Note: If the client id is 0, it is considered to be default value + // as per gRPC proto3 encoding and will not appear in the serialized + // response message ClientID uint64 `protobuf:"varint,2,opt,name=ClientID,proto3" json:"ClientID,omitempty"` // If ErrStatus is SL_SUCCESS, Table and Entries // contain the table in which the VRF registration // operation was previously applied Table SLTableType `protobuf:"varint,3,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` // VRF registration operation - Entries []*SLVrfReg `protobuf:"bytes,4,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLVrfReg `protobuf:"bytes,4,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFVrfRegGetMsgRsp) Reset() { *x = SLAFVrfRegGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFVrfRegGetMsgRsp) String() string { @@ -375,7 +361,7 @@ func (*SLAFVrfRegGetMsgRsp) ProtoMessage() {} func (x *SLAFVrfRegGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_af_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -418,161 +404,20 @@ func (x *SLAFVrfRegGetMsgRsp) GetEntries() []*SLVrfReg { return nil } -// Path Group definition. -type SLPathGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Path Group ID - PathGroupId *SLObjectId `protobuf:"bytes,1,opt,name=PathGroupId,proto3" json:"PathGroupId,omitempty"` - // Administrative distance of the Path Group. [0-255]. - // RIB uses this field to break the tie when multiple - // sources install the same Path Group. - // Lower distance is preferred over higher distance. - // The per path group object admin distance overrides the default admin - // distance set at VRF registration. see SLVrfReg. - AdminDistance uint32 `protobuf:"varint,2,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` - // Description of paths in the PathGroup. - // Oneof is used here for future extensibility. - // - // Types that are assignable to Entry: - // - // *SLPathGroup_PathList - Entry isSLPathGroup_Entry `protobuf_oneof:"entry"` - // Flags to control programming of the PathGroup to Routing - // Information Base. See SLRouteFlags for flag enumerations. - // Supported values are: - // - // 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 - // load balance group when path viability changes and - // expects the client to take corrective action. - // - // - If the flag is set, the network element only installs viable - // paths from the PathList in the PathGroup's load balance group. - // The Network element also automatically updates the PathGroup's - // load balance group when path viability changes. - // - // SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH. - // - If this flag is not set, routes and MPLS entries referencing - // this PathGroup are considered active if they are preferred - // 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 - // PathGroup changes. - // - // - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also - // be set. The routes and MPLS entries referencing this PathGroup are - // considered active if they are preferred based - // 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. - // - // Others - Reserved. - PgFlags []SLRouteFlags `protobuf:"varint,4,rep,packed,name=PgFlags,proto3,enum=service_layer.SLRouteFlags" json:"PgFlags,omitempty"` -} - -func (x *SLPathGroup) Reset() { - *x = SLPathGroup{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLPathGroup) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLPathGroup) ProtoMessage() {} - -func (x *SLPathGroup) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[6] - 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 SLPathGroup.ProtoReflect.Descriptor instead. -func (*SLPathGroup) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{6} -} - -func (x *SLPathGroup) GetPathGroupId() *SLObjectId { - if x != nil { - return x.PathGroupId - } - return nil -} - -func (x *SLPathGroup) GetAdminDistance() uint32 { - if x != nil { - return x.AdminDistance - } - return 0 -} - -func (m *SLPathGroup) GetEntry() isSLPathGroup_Entry { - if m != nil { - return m.Entry - } - return nil -} - -func (x *SLPathGroup) GetPathList() *SLPathGroup_SLPathList { - if x, ok := x.GetEntry().(*SLPathGroup_PathList); ok { - return x.PathList - } - return nil -} - -func (x *SLPathGroup) GetPgFlags() []SLRouteFlags { - if x != nil { - return x.PgFlags - } - return nil -} - -type isSLPathGroup_Entry interface { - isSLPathGroup_Entry() -} - -type SLPathGroup_PathList struct { - // Path List - PathList *SLPathGroup_SLPathList `protobuf:"bytes,3,opt,name=PathList,proto3,oneof"` -} - -func (*SLPathGroup_PathList) isSLPathGroup_Entry() {} - // Key for a MPLS label entry type SLMplsEntryKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Local Label - Label uint32 `protobuf:"varint,1,opt,name=Label,proto3" json:"Label,omitempty"` + Label uint32 `protobuf:"varint,1,opt,name=Label,proto3" json:"Label,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } 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) - } + mi := &file_sl_af_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsEntryKey) String() string { @@ -582,8 +427,8 @@ func (x *SLMplsEntryKey) String() string { func (*SLMplsEntryKey) ProtoMessage() {} func (x *SLMplsEntryKey) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[6] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -595,7 +440,7 @@ func (x *SLMplsEntryKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SLMplsEntryKey.ProtoReflect.Descriptor instead. func (*SLMplsEntryKey) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{7} + return file_sl_af_proto_rawDescGZIP(), []int{6} } func (x *SLMplsEntryKey) GetLabel() uint32 { @@ -608,10 +453,7 @@ func (x *SLMplsEntryKey) GetLabel() uint32 { // MPLS entry. // This message defines an entry in the MPLS forwarding table. type SLMplsEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MPLS Key MplsKey *SLMplsEntryKey `protobuf:"bytes,1,opt,name=MplsKey,proto3" json:"MplsKey,omitempty"` // Administrative distance of the MPLS label. Possible values @@ -622,7 +464,7 @@ type SLMplsEntry struct { // 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. + // Specifying more than one path is allowed for ECMP/UCMP/FRR cases. PathList []*SLRoutePath `protobuf:"bytes,3,rep,name=PathList,proto3" json:"PathList,omitempty"` // Flags to control programming of the MPLS Entry to Routing // Information Base. See SLRouteFlags for flag enumerations. @@ -672,16 +514,16 @@ type SLMplsEntry struct { MplsFlags []SLRouteFlags `protobuf:"varint,4,rep,packed,name=MplsFlags,proto3,enum=service_layer.SLRouteFlags" json:"MplsFlags,omitempty"` // Each entry can have priority value, this priority value may be used // in internal queuing of routes while programming the data-plane - Priority SLUpdatePriority `protobuf:"varint,5,opt,name=Priority,proto3,enum=service_layer.SLUpdatePriority" json:"Priority,omitempty"` + Priority SLUpdatePriority `protobuf:"varint,5,opt,name=Priority,proto3,enum=service_layer.SLUpdatePriority" json:"Priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsEntry) Reset() { *x = SLMplsEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsEntry) String() string { @@ -691,8 +533,8 @@ func (x *SLMplsEntry) String() string { func (*SLMplsEntry) ProtoMessage() {} func (x *SLMplsEntry) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[7] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -704,7 +546,7 @@ func (x *SLMplsEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use SLMplsEntry.ProtoReflect.Descriptor instead. func (*SLMplsEntry) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{8} + return file_sl_af_proto_rawDescGZIP(), []int{7} } func (x *SLMplsEntry) GetMplsKey() *SLMplsEntryKey { @@ -744,26 +586,23 @@ func (x *SLMplsEntry) GetPriority() SLUpdatePriority { // SL IPv4 or IPv6 Unicast Route Object type SLAFIPRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 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"` + // Specifying more than one path is allowed for ECMP/UCMP/FRR cases. + PathList []*SLRoutePath `protobuf:"bytes,3,rep,name=PathList,proto3" json:"PathList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } 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) - } + mi := &file_sl_af_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFIPRoute) String() string { @@ -773,8 +612,8 @@ func (x *SLAFIPRoute) String() string { func (*SLAFIPRoute) ProtoMessage() {} func (x *SLAFIPRoute) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[8] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -786,7 +625,7 @@ func (x *SLAFIPRoute) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFIPRoute.ProtoReflect.Descriptor instead. func (*SLAFIPRoute) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{9} + return file_sl_af_proto_rawDescGZIP(), []int{8} } func (x *SLAFIPRoute) GetIPRoutePrefix() *SLRoutePrefix { @@ -812,25 +651,22 @@ func (x *SLAFIPRoute) GetPathList() []*SLRoutePath { // One of AF objects type SLAFObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Entry: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Entry: // // *SLAFObject_IPRoute // *SLAFObject_MplsLabel // *SLAFObject_PathGroup - Entry isSLAFObject_Entry `protobuf_oneof:"entry"` + Entry isSLAFObject_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFObject) Reset() { *x = SLAFObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFObject) String() string { @@ -840,8 +676,8 @@ func (x *SLAFObject) String() string { func (*SLAFObject) ProtoMessage() {} func (x *SLAFObject) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[9] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -853,33 +689,39 @@ func (x *SLAFObject) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFObject.ProtoReflect.Descriptor instead. func (*SLAFObject) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{10} + return file_sl_af_proto_rawDescGZIP(), []int{9} } -func (m *SLAFObject) GetEntry() isSLAFObject_Entry { - if m != nil { - return m.Entry +func (x *SLAFObject) GetEntry() isSLAFObject_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLAFObject) GetIPRoute() *SLAFIPRoute { - if x, ok := x.GetEntry().(*SLAFObject_IPRoute); ok { - return x.IPRoute + if x != nil { + if x, ok := x.Entry.(*SLAFObject_IPRoute); ok { + return x.IPRoute + } } return nil } func (x *SLAFObject) GetMplsLabel() *SLMplsEntry { - if x, ok := x.GetEntry().(*SLAFObject_MplsLabel); ok { - return x.MplsLabel + if x != nil { + if x, ok := x.Entry.(*SLAFObject_MplsLabel); ok { + return x.MplsLabel + } } return nil } func (x *SLAFObject) GetPathGroup() *SLPathGroup { - if x, ok := x.GetEntry().(*SLAFObject_PathGroup); ok { - return x.PathGroup + if x != nil { + if x, ok := x.Entry.(*SLAFObject_PathGroup); ok { + return x.PathGroup + } } return nil } @@ -911,10 +753,7 @@ func (*SLAFObject_PathGroup) isSLAFObject_Entry() {} // Operation on a forwarding table object type SLAFOpMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Object AFObject *SLAFObject `protobuf:"bytes,1,opt,name=AFObject,proto3" json:"AFObject,omitempty"` // Unique operationID sent by the client to corelate the responses. @@ -935,16 +774,16 @@ type SLAFOpMsg struct { // AckCadence controls the cadence of hardware programming responses. // Defining AckPermit to a value other than SL_PERMIT_ALL is a pre-requisite // for setting AckCadence. - AckCadence SLRspAckCadence `protobuf:"varint,5,opt,name=AckCadence,proto3,enum=service_layer.SLRspAckCadence" json:"AckCadence,omitempty"` + AckCadence SLRspAckCadence `protobuf:"varint,5,opt,name=AckCadence,proto3,enum=service_layer.SLRspAckCadence" json:"AckCadence,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFOpMsg) Reset() { *x = SLAFOpMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFOpMsg) String() string { @@ -954,8 +793,8 @@ func (x *SLAFOpMsg) String() string { func (*SLAFOpMsg) ProtoMessage() {} func (x *SLAFOpMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -967,7 +806,7 @@ func (x *SLAFOpMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFOpMsg.ProtoReflect.Descriptor instead. func (*SLAFOpMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{11} + return file_sl_af_proto_rawDescGZIP(), []int{10} } func (x *SLAFOpMsg) GetAFObject() *SLAFObject { @@ -1007,21 +846,18 @@ func (x *SLAFOpMsg) GetAckCadence() SLRspAckCadence { // List of Client IDs for which entries will be returned type SLAFClientIDList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of Client IDs - ClientIDList []uint64 `protobuf:"varint,1,rep,packed,name=ClientIDList,proto3" json:"ClientIDList,omitempty"` + ClientIDList []uint64 `protobuf:"varint,1,rep,packed,name=ClientIDList,proto3" json:"ClientIDList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFClientIDList) Reset() { *x = SLAFClientIDList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFClientIDList) String() string { @@ -1031,8 +867,8 @@ func (x *SLAFClientIDList) String() string { func (*SLAFClientIDList) ProtoMessage() {} func (x *SLAFClientIDList) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[11] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1044,7 +880,7 @@ func (x *SLAFClientIDList) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFClientIDList.ProtoReflect.Descriptor instead. func (*SLAFClientIDList) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{12} + return file_sl_af_proto_rawDescGZIP(), []int{11} } func (x *SLAFClientIDList) GetClientIDList() []uint64 { @@ -1057,20 +893,17 @@ func (x *SLAFClientIDList) GetClientIDList() []uint64 { // 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 + state protoimpl.MessageState `protogen:"open.v1"` + Table []SLTableType `protobuf:"varint,1,rep,packed,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` unknownFields protoimpl.UnknownFields - - Table []SLTableType `protobuf:"varint,1,rep,packed,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + sizeCache protoimpl.SizeCache } 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) - } + mi := &file_sl_af_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLTableTypeList) String() string { @@ -1080,8 +913,8 @@ func (x *SLTableTypeList) String() string { func (*SLTableTypeList) ProtoMessage() {} func (x *SLTableTypeList) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[12] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1093,7 +926,7 @@ func (x *SLTableTypeList) ProtoReflect() protoreflect.Message { // Deprecated: Use SLTableTypeList.ProtoReflect.Descriptor instead. func (*SLTableTypeList) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{13} + return file_sl_af_proto_rawDescGZIP(), []int{12} } func (x *SLTableTypeList) GetTable() []SLTableType { @@ -1105,25 +938,22 @@ func (x *SLTableTypeList) GetTable() []SLTableType { // Key for a AF object type SLAFObjectKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Key: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Key: // // *SLAFObjectKey_IPRoutePrefix // *SLAFObjectKey_MplsLabel // *SLAFObjectKey_PathGroupId - Key isSLAFObjectKey_Key `protobuf_oneof:"key"` + Key isSLAFObjectKey_Key `protobuf_oneof:"key"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFObjectKey) Reset() { *x = SLAFObjectKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFObjectKey) String() string { @@ -1133,8 +963,8 @@ func (x *SLAFObjectKey) String() string { func (*SLAFObjectKey) ProtoMessage() {} func (x *SLAFObjectKey) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[13] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1146,33 +976,39 @@ func (x *SLAFObjectKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFObjectKey.ProtoReflect.Descriptor instead. func (*SLAFObjectKey) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{14} + return file_sl_af_proto_rawDescGZIP(), []int{13} } -func (m *SLAFObjectKey) GetKey() isSLAFObjectKey_Key { - if m != nil { - return m.Key +func (x *SLAFObjectKey) GetKey() isSLAFObjectKey_Key { + if x != nil { + return x.Key } return nil } func (x *SLAFObjectKey) GetIPRoutePrefix() *SLRoutePrefix { - if x, ok := x.GetKey().(*SLAFObjectKey_IPRoutePrefix); ok { - return x.IPRoutePrefix + if x != nil { + if x, ok := x.Key.(*SLAFObjectKey_IPRoutePrefix); ok { + return x.IPRoutePrefix + } } return nil } func (x *SLAFObjectKey) GetMplsLabel() *SLMplsEntryKey { - if x, ok := x.GetKey().(*SLAFObjectKey_MplsLabel); ok { - return x.MplsLabel + if x != nil { + if x, ok := x.Key.(*SLAFObjectKey_MplsLabel); ok { + return x.MplsLabel + } } return nil } func (x *SLAFObjectKey) GetPathGroupId() *SLObjectId { - if x, ok := x.GetKey().(*SLAFObjectKey_PathGroupId); ok { - return x.PathGroupId + if x != nil { + if x, ok := x.Key.(*SLAFObjectKey_PathGroupId); ok { + return x.PathGroupId + } } return nil } @@ -1207,25 +1043,22 @@ func (*SLAFObjectKey_PathGroupId) isSLAFObjectKey_Key() {} // 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: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Entry: // // *SLAFGetMatch_Key // *SLAFGetMatch_PathGroupRegex // *SLAFGetMatch_VxlanVniId - Entry isSLAFGetMatch_Entry `protobuf_oneof:"entry"` + Entry isSLAFGetMatch_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } 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) - } + mi := &file_sl_af_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFGetMatch) String() string { @@ -1235,8 +1068,8 @@ func (x *SLAFGetMatch) String() string { func (*SLAFGetMatch) ProtoMessage() {} func (x *SLAFGetMatch) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[14] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1248,33 +1081,39 @@ func (x *SLAFGetMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFGetMatch.ProtoReflect.Descriptor instead. func (*SLAFGetMatch) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{15} + return file_sl_af_proto_rawDescGZIP(), []int{14} } -func (m *SLAFGetMatch) GetEntry() isSLAFGetMatch_Entry { - if m != nil { - return m.Entry +func (x *SLAFGetMatch) GetEntry() isSLAFGetMatch_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLAFGetMatch) GetKey() *SLAFObjectKey { - if x, ok := x.GetEntry().(*SLAFGetMatch_Key); ok { - return x.Key + if x != nil { + if x, ok := x.Entry.(*SLAFGetMatch_Key); ok { + return x.Key + } } return nil } func (x *SLAFGetMatch) GetPathGroupRegex() string { - if x, ok := x.GetEntry().(*SLAFGetMatch_PathGroupRegex); ok { - return x.PathGroupRegex + if x != nil { + if x, ok := x.Entry.(*SLAFGetMatch_PathGroupRegex); ok { + return x.PathGroupRegex + } } return "" } func (x *SLAFGetMatch) GetVxlanVniId() uint32 { - if x, ok := x.GetEntry().(*SLAFGetMatch_VxlanVniId); ok { - return x.VxlanVniId + if x != nil { + if x, ok := x.Entry.(*SLAFGetMatch_VxlanVniId); ok { + return x.VxlanVniId + } } return 0 } @@ -1307,21 +1146,18 @@ 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 - + state protoimpl.MessageState `protogen:"open.v1"` // Match criteria to check objects to return - Match []*SLAFGetMatch `protobuf:"bytes,1,rep,name=Match,proto3" json:"Match,omitempty"` + Match []*SLAFGetMatch `protobuf:"bytes,1,rep,name=Match,proto3" json:"Match,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFGetMatchList) Reset() { *x = SLAFGetMatchList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFGetMatchList) String() string { @@ -1331,8 +1167,8 @@ func (x *SLAFGetMatchList) String() string { func (*SLAFGetMatchList) ProtoMessage() {} func (x *SLAFGetMatchList) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[15] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1344,7 +1180,7 @@ func (x *SLAFGetMatchList) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFGetMatchList.ProtoReflect.Descriptor instead. func (*SLAFGetMatchList) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{16} + return file_sl_af_proto_rawDescGZIP(), []int{15} } func (x *SLAFGetMatchList) GetMatch() []*SLAFGetMatch { @@ -1357,10 +1193,7 @@ func (x *SLAFGetMatchList) GetMatch() []*SLAFGetMatch { // 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 - + state protoimpl.MessageState `protogen:"open.v1"` // 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, @@ -1370,7 +1203,7 @@ type SLAFGetMsg struct { // specified in the ClientIDList. If not specified, // objects of the current client are searched. // - // Types that are assignable to Client: + // Types that are valid to be assigned to Client: // // *SLAFGetMsg_ClientIDList // *SLAFGetMsg_AllClients @@ -1378,20 +1211,20 @@ type SLAFGetMsg struct { // If match is not specified, all objects of the searched // VRFs and Client IDs are returned. // - // Types that are assignable to Match: + // Types that are valid to be assigned to Match: // // *SLAFGetMsg_TableList // *SLAFGetMsg_RouteMatchList - Match isSLAFGetMsg_Match `protobuf_oneof:"match"` + Match isSLAFGetMsg_Match `protobuf_oneof:"match"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } 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) - } + mi := &file_sl_af_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFGetMsg) String() string { @@ -1401,8 +1234,8 @@ func (x *SLAFGetMsg) String() string { func (*SLAFGetMsg) ProtoMessage() {} func (x *SLAFGetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[16] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1414,7 +1247,7 @@ func (x *SLAFGetMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFGetMsg.ProtoReflect.Descriptor instead. func (*SLAFGetMsg) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{17} + return file_sl_af_proto_rawDescGZIP(), []int{16} } func (x *SLAFGetMsg) GetVrfName() string { @@ -1424,44 +1257,52 @@ func (x *SLAFGetMsg) GetVrfName() string { return "" } -func (m *SLAFGetMsg) GetClient() isSLAFGetMsg_Client { - if m != nil { - return m.Client +func (x *SLAFGetMsg) GetClient() isSLAFGetMsg_Client { + if x != nil { + return x.Client } return nil } func (x *SLAFGetMsg) GetClientIDList() *SLAFClientIDList { - if x, ok := x.GetClient().(*SLAFGetMsg_ClientIDList); ok { - return x.ClientIDList + if x != nil { + if x, ok := x.Client.(*SLAFGetMsg_ClientIDList); ok { + return x.ClientIDList + } } return nil } func (x *SLAFGetMsg) GetAllClients() bool { - if x, ok := x.GetClient().(*SLAFGetMsg_AllClients); ok { - return x.AllClients + if x != nil { + if x, ok := x.Client.(*SLAFGetMsg_AllClients); ok { + return x.AllClients + } } return false } -func (m *SLAFGetMsg) GetMatch() isSLAFGetMsg_Match { - if m != nil { - return m.Match +func (x *SLAFGetMsg) GetMatch() isSLAFGetMsg_Match { + if x != nil { + return x.Match } return nil } func (x *SLAFGetMsg) GetTableList() *SLTableTypeList { - if x, ok := x.GetMatch().(*SLAFGetMsg_TableList); ok { - return x.TableList + if x != nil { + if x, ok := x.Match.(*SLAFGetMsg_TableList); ok { + return x.TableList + } } return nil } func (x *SLAFGetMsg) GetRouteMatchList() *SLAFGetMatchList { - if x, ok := x.GetMatch().(*SLAFGetMsg_RouteMatchList); ok { - return x.RouteMatchList + if x != nil { + if x, ok := x.Match.(*SLAFGetMsg_RouteMatchList); ok { + return x.RouteMatchList + } } return nil } @@ -1506,25 +1347,22 @@ func (*SLAFGetMsg_RouteMatchList) isSLAFGetMsg_Match() {} // Object and its programming status returned on Get type SLAFGetMsgRspEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Object 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 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"` + FIBStatus SLAFFibStatus `protobuf:"varint,2,opt,name=FIBStatus,proto3,enum=service_layer.SLAFFibStatus" json:"FIBStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFGetMsgRspEntry) Reset() { *x = SLAFGetMsgRspEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFGetMsgRspEntry) String() string { @@ -1534,8 +1372,8 @@ func (x *SLAFGetMsgRspEntry) String() string { func (*SLAFGetMsgRspEntry) ProtoMessage() {} func (x *SLAFGetMsgRspEntry) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[17] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1547,7 +1385,7 @@ func (x *SLAFGetMsgRspEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFGetMsgRspEntry.ProtoReflect.Descriptor instead. func (*SLAFGetMsgRspEntry) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{18} + return file_sl_af_proto_rawDescGZIP(), []int{17} } func (x *SLAFGetMsgRspEntry) GetAFOpMsg() *SLAFOpMsg { @@ -1567,10 +1405,7 @@ func (x *SLAFGetMsgRspEntry) GetFIBStatus() SLAFFibStatus { // Get AF message response. The objects can be returned in // any order. type SLAFGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Status of the Get Stats operation ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // VRF name @@ -1579,20 +1414,23 @@ type SLAFGetMsgRsp struct { // the Client ID field can be used by the client to determine // if the object was previously programmed by this client or some // other client. + // Note: If the client id is 0, it is considered to be default value + // as per gRPC proto3 encoding and will not appear in the serialized + // response message ClientID uint64 `protobuf:"varint,3,opt,name=ClientID,proto3" json:"ClientID,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, entry contains the list // of objects from the specified Table. - AFList []*SLAFGetMsgRspEntry `protobuf:"bytes,4,rep,name=AFList,proto3" json:"AFList,omitempty"` + AFList []*SLAFGetMsgRspEntry `protobuf:"bytes,4,rep,name=AFList,proto3" json:"AFList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFGetMsgRsp) Reset() { *x = SLAFGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFGetMsgRsp) String() string { @@ -1602,8 +1440,8 @@ func (x *SLAFGetMsgRsp) String() string { func (*SLAFGetMsgRsp) ProtoMessage() {} func (x *SLAFGetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[18] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1615,7 +1453,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{19} + return file_sl_af_proto_rawDescGZIP(), []int{18} } func (x *SLAFGetMsgRsp) GetErrStatus() *SLErrorStatus { @@ -1656,25 +1494,22 @@ func (x *SLAFGetMsgRsp) GetAFList() []*SLAFGetMsgRspEntry { // and sent to client. // For stream, RPC will then wait for next message on stream. type SLAFMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Route Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // 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 []*SLAFOpMsg `protobuf:"bytes,3,rep,name=OpList,proto3" json:"OpList,omitempty"` + OpList []*SLAFOpMsg `protobuf:"bytes,3,rep,name=OpList,proto3" json:"OpList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFMsg) Reset() { *x = SLAFMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFMsg) String() string { @@ -1684,8 +1519,8 @@ func (x *SLAFMsg) String() string { func (*SLAFMsg) ProtoMessage() {} func (x *SLAFMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[19] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1697,7 +1532,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{20} + return file_sl_af_proto_rawDescGZIP(), []int{19} } func (x *SLAFMsg) GetOper() SLObjectOp { @@ -1723,10 +1558,7 @@ func (x *SLAFMsg) GetOpList() []*SLAFOpMsg { // Result of an operation on the object type SLAFRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Status of Operation. // Status == SL_SUCCESS implies that the object is programmed in RIB. // Any other value implies some failure. @@ -1746,16 +1578,16 @@ type SLAFRes struct { 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"` + ErrorString string `protobuf:"bytes,5,opt,name=ErrorString,proto3" json:"ErrorString,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFRes) Reset() { *x = SLAFRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFRes) String() string { @@ -1765,8 +1597,8 @@ func (x *SLAFRes) String() string { func (*SLAFRes) ProtoMessage() {} func (x *SLAFRes) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1778,7 +1610,7 @@ func (x *SLAFRes) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFRes.ProtoReflect.Descriptor instead. func (*SLAFRes) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{21} + return file_sl_af_proto_rawDescGZIP(), []int{20} } func (x *SLAFRes) GetStatus() *SLErrorStatus { @@ -1818,24 +1650,21 @@ func (x *SLAFRes) GetErrorString() string { // Route operations result status type SLAFMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous - Results []*SLAFRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLAFRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFMsgRsp) Reset() { *x = SLAFMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFMsgRsp) String() string { @@ -1845,8 +1674,8 @@ func (x *SLAFMsgRsp) String() string { func (*SLAFMsgRsp) ProtoMessage() {} func (x *SLAFMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[21] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1858,7 +1687,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{22} + return file_sl_af_proto_rawDescGZIP(), []int{21} } func (x *SLAFMsgRsp) GetVrfName() string { @@ -1877,10 +1706,7 @@ func (x *SLAFMsgRsp) GetResults() []*SLAFRes { // Request message for route redistribution registration type SLAFRedistRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Source Protocol. // Only routes with specified source protocol and protocol tag will be // notified. @@ -1893,16 +1719,16 @@ type SLAFRedistRegMsg struct { SrcProtoTag string `protobuf:"bytes,2,opt,name=SrcProtoTag,proto3" json:"SrcProtoTag,omitempty"` // Table type the client is interested in. // This field is mandatory. - Table SLTableType `protobuf:"varint,3,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + Table SLTableType `protobuf:"varint,3,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFRedistRegMsg) Reset() { *x = SLAFRedistRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFRedistRegMsg) String() string { @@ -1912,8 +1738,8 @@ func (x *SLAFRedistRegMsg) String() string { func (*SLAFRedistRegMsg) ProtoMessage() {} func (x *SLAFRedistRegMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[22] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1925,7 +1751,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{23} + return file_sl_af_proto_rawDescGZIP(), []int{22} } func (x *SLAFRedistRegMsg) GetSrcProto() string { @@ -1951,25 +1777,22 @@ func (x *SLAFRedistRegMsg) GetTable() SLTableType { // Next hop registration request key type SLAFNextHopRegKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Notification request key // - // Types that are assignable to Nexthopkey: + // Types that are valid to be assigned to Nexthopkey: // // *SLAFNextHopRegKey_NextHop - Nexthopkey isSLAFNextHopRegKey_Nexthopkey `protobuf_oneof:"nexthopkey"` + Nexthopkey isSLAFNextHopRegKey_Nexthopkey `protobuf_oneof:"nexthopkey"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNextHopRegKey) Reset() { *x = SLAFNextHopRegKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNextHopRegKey) String() string { @@ -1979,8 +1802,8 @@ func (x *SLAFNextHopRegKey) String() string { func (*SLAFNextHopRegKey) ProtoMessage() {} func (x *SLAFNextHopRegKey) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[23] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1992,19 +1815,21 @@ func (x *SLAFNextHopRegKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNextHopRegKey.ProtoReflect.Descriptor instead. func (*SLAFNextHopRegKey) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{24} + return file_sl_af_proto_rawDescGZIP(), []int{23} } -func (m *SLAFNextHopRegKey) GetNexthopkey() isSLAFNextHopRegKey_Nexthopkey { - if m != nil { - return m.Nexthopkey +func (x *SLAFNextHopRegKey) GetNexthopkey() isSLAFNextHopRegKey_Nexthopkey { + if x != nil { + return x.Nexthopkey } return nil } func (x *SLAFNextHopRegKey) GetNextHop() *SLAFNextHopRegKey_SLNextHopKey { - if x, ok := x.GetNexthopkey().(*SLAFNextHopRegKey_NextHop); ok { - return x.NextHop + if x != nil { + if x, ok := x.Nexthopkey.(*SLAFNextHopRegKey_NextHop); ok { + return x.NextHop + } } return nil } @@ -2022,21 +1847,18 @@ func (*SLAFNextHopRegKey_NextHop) isSLAFNextHopRegKey_Nexthopkey() {} // Next hop registration message type SLAFNextHopRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Next hop registration key - NextHopKey *SLAFNextHopRegKey `protobuf:"bytes,1,opt,name=NextHopKey,proto3" json:"NextHopKey,omitempty"` + NextHopKey *SLAFNextHopRegKey `protobuf:"bytes,1,opt,name=NextHopKey,proto3" json:"NextHopKey,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNextHopRegMsg) Reset() { *x = SLAFNextHopRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNextHopRegMsg) String() string { @@ -2046,8 +1868,8 @@ func (x *SLAFNextHopRegMsg) String() string { func (*SLAFNextHopRegMsg) ProtoMessage() {} func (x *SLAFNextHopRegMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[24] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2059,7 +1881,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{25} + return file_sl_af_proto_rawDescGZIP(), []int{24} } func (x *SLAFNextHopRegMsg) GetNextHopKey() *SLAFNextHopRegKey { @@ -2071,11 +1893,8 @@ func (x *SLAFNextHopRegMsg) GetNextHopKey() *SLAFNextHopRegKey { // Notification request message for a single item type SLAFNotifRegReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Request: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Request: // // *SLAFNotifRegReq_RedistReq // *SLAFNotifRegReq_NextHopReq @@ -2088,16 +1907,16 @@ type SLAFNotifRegReq struct { // responses with the requests. Note, server reflects the OperationID // only in registration responses, and not in the corresponding // notifications. - OperationID uint64 `protobuf:"varint,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + OperationID uint64 `protobuf:"varint,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNotifRegReq) Reset() { *x = SLAFNotifRegReq{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNotifRegReq) String() string { @@ -2107,8 +1926,8 @@ func (x *SLAFNotifRegReq) String() string { func (*SLAFNotifRegReq) ProtoMessage() {} func (x *SLAFNotifRegReq) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[25] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2120,26 +1939,30 @@ func (x *SLAFNotifRegReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotifRegReq.ProtoReflect.Descriptor instead. func (*SLAFNotifRegReq) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{26} + return file_sl_af_proto_rawDescGZIP(), []int{25} } -func (m *SLAFNotifRegReq) GetRequest() isSLAFNotifRegReq_Request { - if m != nil { - return m.Request +func (x *SLAFNotifRegReq) GetRequest() isSLAFNotifRegReq_Request { + if x != nil { + return x.Request } return nil } func (x *SLAFNotifRegReq) GetRedistReq() *SLAFRedistRegMsg { - if x, ok := x.GetRequest().(*SLAFNotifRegReq_RedistReq); ok { - return x.RedistReq + if x != nil { + if x, ok := x.Request.(*SLAFNotifRegReq_RedistReq); ok { + return x.RedistReq + } } return nil } func (x *SLAFNotifRegReq) GetNextHopReq() *SLAFNextHopRegMsg { - if x, ok := x.GetRequest().(*SLAFNotifRegReq_NextHopReq); ok { - return x.NextHopReq + if x != nil { + if x, ok := x.Request.(*SLAFNotifRegReq_NextHopReq); ok { + return x.NextHopReq + } } return nil } @@ -2183,10 +2006,7 @@ func (*SLAFNotifRegReq_NextHopReq) isSLAFNotifRegReq_Request() {} // to client with only VRF populated. // RPC will then wait for next message on stream. type SLAFNotifReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Oper = SL_NOTIFOP_ENABLE // // This is to enable route notifications in a VRF or @@ -2200,16 +2020,16 @@ type SLAFNotifReq struct { // Vrf that the client is interested in VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Notification request - NotifReq []*SLAFNotifRegReq `protobuf:"bytes,3,rep,name=NotifReq,proto3" json:"NotifReq,omitempty"` + NotifReq []*SLAFNotifRegReq `protobuf:"bytes,3,rep,name=NotifReq,proto3" json:"NotifReq,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNotifReq) Reset() { *x = SLAFNotifReq{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNotifReq) String() string { @@ -2219,8 +2039,8 @@ func (x *SLAFNotifReq) String() string { func (*SLAFNotifReq) ProtoMessage() {} func (x *SLAFNotifReq) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[26] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2232,7 +2052,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{27} + return file_sl_af_proto_rawDescGZIP(), []int{26} } func (x *SLAFNotifReq) GetOper() SLNotifOp { @@ -2258,25 +2078,22 @@ func (x *SLAFNotifReq) GetNotifReq() []*SLAFNotifRegReq { // Notification response message for a single item type SLAFNotifRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding request NotifReq *SLAFNotifRegReq `protobuf:"bytes,1,opt,name=NotifReq,proto3" json:"NotifReq,omitempty"` // The NotifStatus implies one of 2 things: // SL_SUCCESS: signifies that the notification request was successful. // SL_XXX: signifies an error in setting up a notification for the Vrf. - NotifStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=NotifStatus,proto3" json:"NotifStatus,omitempty"` + NotifStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=NotifStatus,proto3" json:"NotifStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNotifRsp) Reset() { *x = SLAFNotifRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNotifRsp) String() string { @@ -2286,8 +2103,8 @@ func (x *SLAFNotifRsp) String() string { func (*SLAFNotifRsp) ProtoMessage() {} func (x *SLAFNotifRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[27] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2299,7 +2116,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{28} + return file_sl_af_proto_rawDescGZIP(), []int{27} } func (x *SLAFNotifRsp) GetNotifReq() *SLAFNotifRegReq { @@ -2321,10 +2138,7 @@ func (x *SLAFNotifRsp) GetNotifStatus() *SLErrorStatus { // 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 - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Next hop registration key NextHopKey *SLAFNextHopRegKey `protobuf:"bytes,1,opt,name=NextHopKey,proto3" json:"NextHopKey,omitempty"` // Prefix of the route resolving the nexthop @@ -2349,16 +2163,16 @@ type SLNextHop struct { // // If this field is not present, // then no viable path to the next hop exist. - Paths []*SLRoutePath `protobuf:"bytes,7,rep,name=Paths,proto3" json:"Paths,omitempty"` + Paths []*SLRoutePath `protobuf:"bytes,7,rep,name=Paths,proto3" json:"Paths,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLNextHop) Reset() { *x = SLNextHop{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLNextHop) String() string { @@ -2368,8 +2182,8 @@ func (x *SLNextHop) String() string { func (*SLNextHop) ProtoMessage() {} func (x *SLNextHop) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[28] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2381,7 +2195,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{29} + return file_sl_af_proto_rawDescGZIP(), []int{28} } func (x *SLNextHop) GetNextHopKey() *SLAFNextHopRegKey { @@ -2435,27 +2249,24 @@ func (x *SLNextHop) GetPaths() []*SLRoutePath { // AF Notification message type SLAFNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *SLAFNotif_NotifStatus // *SLAFNotif_StartMarker // *SLAFNotif_EndMarker // *SLAFNotif_RedistObject // *SLAFNotif_NextHop - Event isSLAFNotif_Event `protobuf_oneof:"Event"` + Event isSLAFNotif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNotif) Reset() { *x = SLAFNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNotif) String() string { @@ -2465,8 +2276,8 @@ func (x *SLAFNotif) String() string { func (*SLAFNotif) ProtoMessage() {} func (x *SLAFNotif) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[29] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2478,47 +2289,57 @@ func (x *SLAFNotif) ProtoReflect() protoreflect.Message { // Deprecated: Use SLAFNotif.ProtoReflect.Descriptor instead. func (*SLAFNotif) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{30} + return file_sl_af_proto_rawDescGZIP(), []int{29} } -func (m *SLAFNotif) GetEvent() isSLAFNotif_Event { - if m != nil { - return m.Event +func (x *SLAFNotif) GetEvent() isSLAFNotif_Event { + if x != nil { + return x.Event } return nil } func (x *SLAFNotif) GetNotifStatus() *SLAFNotifRsp { - if x, ok := x.GetEvent().(*SLAFNotif_NotifStatus); ok { - return x.NotifStatus + if x != nil { + if x, ok := x.Event.(*SLAFNotif_NotifStatus); ok { + return x.NotifStatus + } } return nil } func (x *SLAFNotif) GetStartMarker() *SLAFNotif_SLRedistMarker { - if x, ok := x.GetEvent().(*SLAFNotif_StartMarker); ok { - return x.StartMarker + if x != nil { + if x, ok := x.Event.(*SLAFNotif_StartMarker); ok { + return x.StartMarker + } } return nil } func (x *SLAFNotif) GetEndMarker() *SLAFNotif_SLRedistMarker { - if x, ok := x.GetEvent().(*SLAFNotif_EndMarker); ok { - return x.EndMarker + if x != nil { + if x, ok := x.Event.(*SLAFNotif_EndMarker); ok { + return x.EndMarker + } } return nil } func (x *SLAFNotif) GetRedistObject() *SLAFObject { - if x, ok := x.GetEvent().(*SLAFNotif_RedistObject); ok { - return x.RedistObject + if x != nil { + if x, ok := x.Event.(*SLAFNotif_RedistObject); ok { + return x.RedistObject + } } return nil } func (x *SLAFNotif) GetNextHop() *SLNextHop { - if x, ok := x.GetEvent().(*SLAFNotif_NextHop); ok { - return x.NextHop + if x != nil { + if x, ok := x.Event.(*SLAFNotif_NextHop); ok { + return x.NextHop + } } return nil } @@ -2593,23 +2414,20 @@ func (*SLAFNotif_NextHop) isSLAFNotif_Event() {} // RPC Notification message type SLAFNotifMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Notifications - AFNotifs []*SLAFNotif `protobuf:"bytes,3,rep,name=AFNotifs,proto3" json:"AFNotifs,omitempty"` + AFNotifs []*SLAFNotif `protobuf:"bytes,3,rep,name=AFNotifs,proto3" json:"AFNotifs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNotifMsg) Reset() { *x = SLAFNotifMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNotifMsg) String() string { @@ -2619,8 +2437,8 @@ func (x *SLAFNotifMsg) String() string { func (*SLAFNotifMsg) ProtoMessage() {} func (x *SLAFNotifMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[30] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2632,7 +2450,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{31} + return file_sl_af_proto_rawDescGZIP(), []int{30} } func (x *SLAFNotifMsg) GetVrfName() string { @@ -2649,107 +2467,8 @@ func (x *SLAFNotifMsg) GetAFNotifs() []*SLAFNotif { return nil } -type SLPathGroup_SLPath struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Primary path - Path *SLRoutePath `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` -} - -func (x *SLPathGroup_SLPath) Reset() { - *x = SLPathGroup_SLPath{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLPathGroup_SLPath) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLPathGroup_SLPath) ProtoMessage() {} - -func (x *SLPathGroup_SLPath) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[32] - 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 SLPathGroup_SLPath.ProtoReflect.Descriptor instead. -func (*SLPathGroup_SLPath) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{6, 0} -} - -func (x *SLPathGroup_SLPath) GetPath() *SLRoutePath { - if x != nil { - return x.Path - } - return nil -} - -// A list of SLPathList -type SLPathGroup_SLPathList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Paths []*SLPathGroup_SLPath `protobuf:"bytes,1,rep,name=Paths,proto3" json:"Paths,omitempty"` -} - -func (x *SLPathGroup_SLPathList) Reset() { - *x = SLPathGroup_SLPathList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLPathGroup_SLPathList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLPathGroup_SLPathList) ProtoMessage() {} - -func (x *SLPathGroup_SLPathList) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[33] - 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 SLPathGroup_SLPathList.ProtoReflect.Descriptor instead. -func (*SLPathGroup_SLPathList) Descriptor() ([]byte, []int) { - return file_sl_af_proto_rawDescGZIP(), []int{6, 1} -} - -func (x *SLPathGroup_SLPathList) GetPaths() []*SLPathGroup_SLPath { - if x != nil { - return x.Paths - } - return nil -} - type SLAFNextHopRegKey_SLNextHopKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Next Hop IP to resolve NextHopIP *SLRoutePrefix `protobuf:"bytes,1,opt,name=NextHopIP,proto3" json:"NextHopIP,omitempty"` // Chose exact vs. best match @@ -2761,16 +2480,16 @@ type SLAFNextHopRegKey_SLNextHopKey struct { // 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,4,opt,name=Recurse,proto3" json:"Recurse,omitempty"` + Recurse bool `protobuf:"varint,4,opt,name=Recurse,proto3" json:"Recurse,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNextHopRegKey_SLNextHopKey) Reset() { *x = SLAFNextHopRegKey_SLNextHopKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNextHopRegKey_SLNextHopKey) String() string { @@ -2780,8 +2499,8 @@ func (x *SLAFNextHopRegKey_SLNextHopKey) String() string { func (*SLAFNextHopRegKey_SLNextHopKey) ProtoMessage() {} func (x *SLAFNextHopRegKey_SLNextHopKey) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[31] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2793,7 +2512,7 @@ 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{24, 0} + return file_sl_af_proto_rawDescGZIP(), []int{23, 0} } func (x *SLAFNextHopRegKey_SLNextHopKey) GetNextHopIP() *SLRoutePrefix { @@ -2826,21 +2545,18 @@ func (x *SLAFNextHopRegKey_SLNextHopKey) GetRecurse() bool { // Route redistribution marker type SLAFNotif_SLRedistMarker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Table type for the Marker. - Table SLTableType `protobuf:"varint,1,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + Table SLTableType `protobuf:"varint,1,opt,name=Table,proto3,enum=service_layer.SLTableType" json:"Table,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAFNotif_SLRedistMarker) Reset() { *x = SLAFNotif_SLRedistMarker{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_af_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_af_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAFNotif_SLRedistMarker) String() string { @@ -2850,8 +2566,8 @@ func (x *SLAFNotif_SLRedistMarker) String() string { func (*SLAFNotif_SLRedistMarker) ProtoMessage() {} func (x *SLAFNotif_SLRedistMarker) ProtoReflect() protoreflect.Message { - mi := &file_sl_af_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_af_proto_msgTypes[32] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2863,7 +2579,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{30, 0} + return file_sl_af_proto_rawDescGZIP(), []int{29, 0} } func (x *SLAFNotif_SLRedistMarker) GetTable() SLTableType { @@ -2875,558 +2591,321 @@ func (x *SLAFNotif_SLRedistMarker) GetTable() SLTableType { var File_sl_af_proto protoreflect.FileDescriptor -var file_sl_af_proto_rawDesc = []byte{ - 0x0a, 0x0b, 0x73, 0x6c, 0x5f, 0x61, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, - 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, 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, 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, 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, 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, 0x9c, 0x02, 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, 0x12, 0x3b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, - 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, 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, 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, -} +const file_sl_af_proto_rawDesc = "" + + "\n" + + "\vsl_af.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"o\n" + + "\n" + + "SLAFVrfReg\x120\n" + + "\x05Table\x18\x01 \x01(\x0e2\x1a.service_layer.SLTableTypeR\x05Table\x12/\n" + + "\x06VrfReg\x18\x02 \x01(\v2\x17.service_layer.SLVrfRegR\x06VrfReg\"v\n" + + "\rSLAFVrfRegMsg\x12*\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x16.service_layer.SLRegOpR\x04Oper\x129\n" + + "\n" + + "VrfRegMsgs\x18\x02 \x03(\v2\x19.service_layer.SLAFVrfRegR\n" + + "VrfRegMsgs\"\x9a\x01\n" + + "\x10SLAFVrfRegMsgRes\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x120\n" + + "\x05Table\x18\x03 \x01(\x0e2\x1a.service_layer.SLTableTypeR\x05Table\"\x91\x01\n" + + "\x10SLAFVrfRegMsgRsp\x12B\n" + + "\rStatusSummary\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x129\n" + + "\aResults\x18\x02 \x03(\v2\x1f.service_layer.SLAFVrfRegMsgResR\aResults\"*\n" + + "\x10SLAFVrfRegGetMsg\x12\x16\n" + + "\x06GetAll\x18\x01 \x01(\bR\x06GetAll\"\xd2\x01\n" + + "\x13SLAFVrfRegGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x1a\n" + + "\bClientID\x18\x02 \x01(\x04R\bClientID\x120\n" + + "\x05Table\x18\x03 \x01(\x0e2\x1a.service_layer.SLTableTypeR\x05Table\x121\n" + + "\aEntries\x18\x04 \x03(\v2\x17.service_layer.SLVrfRegR\aEntries\"&\n" + + "\x0eSLMplsEntryKey\x12\x14\n" + + "\x05Label\x18\x01 \x01(\rR\x05Label\"\x9c\x02\n" + + "\vSLMplsEntry\x127\n" + + "\aMplsKey\x18\x01 \x01(\v2\x1d.service_layer.SLMplsEntryKeyR\aMplsKey\x12$\n" + + "\rAdminDistance\x18\x02 \x01(\rR\rAdminDistance\x126\n" + + "\bPathList\x18\x03 \x03(\v2\x1a.service_layer.SLRoutePathR\bPathList\x129\n" + + "\tMplsFlags\x18\x04 \x03(\x0e2\x1b.service_layer.SLRouteFlagsR\tMplsFlags\x12;\n" + + "\bPriority\x18\x05 \x01(\x0e2\x1f.service_layer.SLUpdatePriorityR\bPriority\"\xc9\x01\n" + + "\vSLAFIPRoute\x12B\n" + + "\rIPRoutePrefix\x18\x01 \x01(\v2\x1c.service_layer.SLRoutePrefixR\rIPRoutePrefix\x12>\n" + + "\vRouteCommon\x18\x02 \x01(\v2\x1c.service_layer.SLRouteCommonR\vRouteCommon\x126\n" + + "\bPathList\x18\x03 \x03(\v2\x1a.service_layer.SLRoutePathR\bPathList\"\xc5\x01\n" + + "\n" + + "SLAFObject\x126\n" + + "\aIPRoute\x18\x01 \x01(\v2\x1a.service_layer.SLAFIPRouteH\x00R\aIPRoute\x12:\n" + + "\tMplsLabel\x18\x02 \x01(\v2\x1a.service_layer.SLMplsEntryH\x00R\tMplsLabel\x12:\n" + + "\tPathGroup\x18\x03 \x01(\v2\x1a.service_layer.SLPathGroupH\x00R\tPathGroupB\a\n" + + "\x05entry\"\x9a\x02\n" + + "\tSLAFOpMsg\x125\n" + + "\bAFObject\x18\x01 \x01(\v2\x19.service_layer.SLAFObjectR\bAFObject\x12 \n" + + "\vOperationID\x18\x02 \x01(\x04R\vOperationID\x125\n" + + "\aAckType\x18\x03 \x01(\x0e2\x1b.service_layer.SLRspACKTypeR\aAckType\x12=\n" + + "\n" + + "AckPermits\x18\x04 \x03(\x0e2\x1d.service_layer.SLRspACKPermitR\n" + + "AckPermits\x12>\n" + + "\n" + + "AckCadence\x18\x05 \x01(\x0e2\x1e.service_layer.SLRspAckCadenceR\n" + + "AckCadence\"6\n" + + "\x10SLAFClientIDList\x12\"\n" + + "\fClientIDList\x18\x01 \x03(\x04R\fClientIDList\"C\n" + + "\x0fSLTableTypeList\x120\n" + + "\x05Table\x18\x01 \x03(\x0e2\x1a.service_layer.SLTableTypeR\x05Table\"\xda\x01\n" + + "\rSLAFObjectKey\x12D\n" + + "\rIPRoutePrefix\x18\x01 \x01(\v2\x1c.service_layer.SLRoutePrefixH\x00R\rIPRoutePrefix\x12=\n" + + "\tMplsLabel\x18\x02 \x01(\v2\x1d.service_layer.SLMplsEntryKeyH\x00R\tMplsLabel\x12=\n" + + "\vPathGroupId\x18\x03 \x01(\v2\x19.service_layer.SLObjectIdH\x00R\vPathGroupIdB\x05\n" + + "\x03key\"\x95\x01\n" + + "\fSLAFGetMatch\x120\n" + + "\x03Key\x18\x01 \x01(\v2\x1c.service_layer.SLAFObjectKeyH\x00R\x03Key\x12(\n" + + "\x0ePathGroupRegex\x18\x02 \x01(\tH\x00R\x0ePathGroupRegex\x12 \n" + + "\n" + + "VxlanVniId\x18\x03 \x01(\rH\x00R\n" + + "VxlanVniIdB\a\n" + + "\x05entry\"E\n" + + "\x10SLAFGetMatchList\x121\n" + + "\x05Match\x18\x01 \x03(\v2\x1b.service_layer.SLAFGetMatchR\x05Match\"\xad\x02\n" + + "\n" + + "SLAFGetMsg\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x12E\n" + + "\fClientIDList\x18\x02 \x01(\v2\x1f.service_layer.SLAFClientIDListH\x00R\fClientIDList\x12 \n" + + "\n" + + "AllClients\x18\x03 \x01(\bH\x00R\n" + + "AllClients\x12>\n" + + "\tTableList\x18\x04 \x01(\v2\x1e.service_layer.SLTableTypeListH\x01R\tTableList\x12I\n" + + "\x0eRouteMatchList\x18\x05 \x01(\v2\x1f.service_layer.SLAFGetMatchListH\x01R\x0eRouteMatchListB\b\n" + + "\x06clientB\a\n" + + "\x05match\"\x84\x01\n" + + "\x12SLAFGetMsgRspEntry\x122\n" + + "\aAFOpMsg\x18\x01 \x01(\v2\x18.service_layer.SLAFOpMsgR\aAFOpMsg\x12:\n" + + "\tFIBStatus\x18\x02 \x01(\x0e2\x1c.service_layer.SLAFFibStatusR\tFIBStatus\"\xbc\x01\n" + + "\rSLAFGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12\x1a\n" + + "\bClientID\x18\x03 \x01(\x04R\bClientID\x129\n" + + "\x06AFList\x18\x04 \x03(\v2!.service_layer.SLAFGetMsgRspEntryR\x06AFList\"\x84\x01\n" + + "\aSLAFMsg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x120\n" + + "\x06OpList\x18\x03 \x03(\v2\x18.service_layer.SLAFOpMsgR\x06OpList\"\xef\x01\n" + + "\aSLAFRes\x124\n" + + "\x06Status\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\x06Status\x12.\n" + + "\x03Key\x18\x02 \x01(\v2\x1c.service_layer.SLAFObjectKeyR\x03Key\x12 \n" + + "\vOperationID\x18\x03 \x01(\x04R\vOperationID\x12:\n" + + "\tFIBStatus\x18\x04 \x01(\x0e2\x1c.service_layer.SLAFFibStatusR\tFIBStatus\x12 \n" + + "\vErrorString\x18\x05 \x01(\tR\vErrorString\"X\n" + + "\n" + + "SLAFMsgRsp\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x120\n" + + "\aResults\x18\x02 \x03(\v2\x16.service_layer.SLAFResR\aResults\"\x82\x01\n" + + "\x10SLAFRedistRegMsg\x12\x1a\n" + + "\bSrcProto\x18\x01 \x01(\tR\bSrcProto\x12 \n" + + "\vSrcProtoTag\x18\x02 \x01(\tR\vSrcProtoTag\x120\n" + + "\x05Table\x18\x03 \x01(\x0e2\x1a.service_layer.SLTableTypeR\x05Table\"\x97\x02\n" + + "\x11SLAFNextHopRegKey\x12I\n" + + "\aNextHop\x18\x01 \x01(\v2-.service_layer.SLAFNextHopRegKey.SLNextHopKeyH\x00R\aNextHop\x1a\xa8\x01\n" + + "\fSLNextHopKey\x12:\n" + + "\tNextHopIP\x18\x01 \x01(\v2\x1c.service_layer.SLRoutePrefixR\tNextHopIP\x12\x1e\n" + + "\n" + + "ExactMatch\x18\x02 \x01(\bR\n" + + "ExactMatch\x12\"\n" + + "\fAllowDefault\x18\x03 \x01(\bR\fAllowDefault\x12\x18\n" + + "\aRecurse\x18\x04 \x01(\bR\aRecurseB\f\n" + + "\n" + + "nexthopkey\"U\n" + + "\x11SLAFNextHopRegMsg\x12@\n" + + "\n" + + "NextHopKey\x18\x01 \x01(\v2 .service_layer.SLAFNextHopRegKeyR\n" + + "NextHopKey\"\xc3\x01\n" + + "\x0fSLAFNotifRegReq\x12?\n" + + "\tRedistReq\x18\x01 \x01(\v2\x1f.service_layer.SLAFRedistRegMsgH\x00R\tRedistReq\x12B\n" + + "\n" + + "NextHopReq\x18\x02 \x01(\v2 .service_layer.SLAFNextHopRegMsgH\x00R\n" + + "NextHopReq\x12 \n" + + "\vOperationID\x18\x03 \x01(\x04R\vOperationIDB\t\n" + + "\arequest\"\x92\x01\n" + + "\fSLAFNotifReq\x12,\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x18.service_layer.SLNotifOpR\x04Oper\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12:\n" + + "\bNotifReq\x18\x03 \x03(\v2\x1e.service_layer.SLAFNotifRegReqR\bNotifReq\"\x8a\x01\n" + + "\fSLAFNotifRsp\x12:\n" + + "\bNotifReq\x18\x01 \x01(\v2\x1e.service_layer.SLAFNotifRegReqR\bNotifReq\x12>\n" + + "\vNotifStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\vNotifStatus\"\xc3\x02\n" + + "\tSLNextHop\x12@\n" + + "\n" + + "NextHopKey\x18\x01 \x01(\v2 .service_layer.SLAFNextHopRegKeyR\n" + + "NextHopKey\x12F\n" + + "\x0fResolvingPrefix\x18\x02 \x01(\v2\x1c.service_layer.SLRoutePrefixR\x0fResolvingPrefix\x12\x1a\n" + + "\bSrcProto\x18\x03 \x01(\tR\bSrcProto\x12 \n" + + "\vSrcProtoTag\x18\x04 \x01(\tR\vSrcProtoTag\x12$\n" + + "\rAdminDistance\x18\x05 \x01(\rR\rAdminDistance\x12\x16\n" + + "\x06Metric\x18\x06 \x01(\rR\x06Metric\x120\n" + + "\x05Paths\x18\a \x03(\v2\x1a.service_layer.SLRoutePathR\x05Paths\"\xa6\x03\n" + + "\tSLAFNotif\x12?\n" + + "\vNotifStatus\x18\x01 \x01(\v2\x1b.service_layer.SLAFNotifRspH\x00R\vNotifStatus\x12K\n" + + "\vStartMarker\x18\x02 \x01(\v2'.service_layer.SLAFNotif.SLRedistMarkerH\x00R\vStartMarker\x12G\n" + + "\tEndMarker\x18\x03 \x01(\v2'.service_layer.SLAFNotif.SLRedistMarkerH\x00R\tEndMarker\x12?\n" + + "\fRedistObject\x18\x04 \x01(\v2\x19.service_layer.SLAFObjectH\x00R\fRedistObject\x124\n" + + "\aNextHop\x18\x05 \x01(\v2\x18.service_layer.SLNextHopH\x00R\aNextHop\x1aB\n" + + "\x0eSLRedistMarker\x120\n" + + "\x05Table\x18\x01 \x01(\x0e2\x1a.service_layer.SLTableTypeR\x05TableB\a\n" + + "\x05Event\"^\n" + + "\fSLAFNotifMsg\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x124\n" + + "\bAFNotifs\x18\x03 \x03(\v2\x18.service_layer.SLAFNotifR\bAFNotifs2\xc8\x03\n" + + "\x04SLAF\x12M\n" + + "\fSLAFVrfRegOp\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\x12E\n" + + "\fSLAFOpStream\x12\x16.service_layer.SLAFMsg\x1a\x19.service_layer.SLAFMsgRsp(\x010\x01\x12D\n" + + "\aSLAFGet\x12\x19.service_layer.SLAFGetMsg\x1a\x1c.service_layer.SLAFGetMsgRsp0\x01\x12O\n" + + "\x0fSLAFNotifStream\x12\x1b.service_layer.SLAFNotifReq\x1a\x1b.service_layer.SLAFNotifMsg(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_af_proto_rawDescOnce sync.Once - file_sl_af_proto_rawDescData = file_sl_af_proto_rawDesc + file_sl_af_proto_rawDescData []byte ) func file_sl_af_proto_rawDescGZIP() []byte { file_sl_af_proto_rawDescOnce.Do(func() { - file_sl_af_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_af_proto_rawDescData) + file_sl_af_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_af_proto_rawDesc), len(file_sl_af_proto_rawDesc))) }) return file_sl_af_proto_rawDescData } -var file_sl_af_proto_msgTypes = make([]protoimpl.MessageInfo, 36) -var file_sl_af_proto_goTypes = []interface{}{ +var file_sl_af_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_sl_af_proto_goTypes = []any{ (*SLAFVrfReg)(nil), // 0: service_layer.SLAFVrfReg (*SLAFVrfRegMsg)(nil), // 1: service_layer.SLAFVrfRegMsg (*SLAFVrfRegMsgRes)(nil), // 2: service_layer.SLAFVrfRegMsgRes (*SLAFVrfRegMsgRsp)(nil), // 3: service_layer.SLAFVrfRegMsgRsp (*SLAFVrfRegGetMsg)(nil), // 4: service_layer.SLAFVrfRegGetMsg (*SLAFVrfRegGetMsgRsp)(nil), // 5: service_layer.SLAFVrfRegGetMsgRsp - (*SLPathGroup)(nil), // 6: service_layer.SLPathGroup - (*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 - (SLUpdatePriority)(0), // 43: service_layer.SLUpdatePriority - (*SLRoutePrefix)(nil), // 44: service_layer.SLRoutePrefix - (*SLRouteCommon)(nil), // 45: service_layer.SLRouteCommon - (SLRspACKType)(0), // 46: service_layer.SLRspACKType - (SLRspACKPermit)(0), // 47: service_layer.SLRspACKPermit - (SLRspAckCadence)(0), // 48: service_layer.SLRspAckCadence - (SLAFFibStatus)(0), // 49: service_layer.SLAFFibStatus - (SLObjectOp)(0), // 50: service_layer.SLObjectOp - (SLNotifOp)(0), // 51: service_layer.SLNotifOp + (*SLMplsEntryKey)(nil), // 6: service_layer.SLMplsEntryKey + (*SLMplsEntry)(nil), // 7: service_layer.SLMplsEntry + (*SLAFIPRoute)(nil), // 8: service_layer.SLAFIPRoute + (*SLAFObject)(nil), // 9: service_layer.SLAFObject + (*SLAFOpMsg)(nil), // 10: service_layer.SLAFOpMsg + (*SLAFClientIDList)(nil), // 11: service_layer.SLAFClientIDList + (*SLTableTypeList)(nil), // 12: service_layer.SLTableTypeList + (*SLAFObjectKey)(nil), // 13: service_layer.SLAFObjectKey + (*SLAFGetMatch)(nil), // 14: service_layer.SLAFGetMatch + (*SLAFGetMatchList)(nil), // 15: service_layer.SLAFGetMatchList + (*SLAFGetMsg)(nil), // 16: service_layer.SLAFGetMsg + (*SLAFGetMsgRspEntry)(nil), // 17: service_layer.SLAFGetMsgRspEntry + (*SLAFGetMsgRsp)(nil), // 18: service_layer.SLAFGetMsgRsp + (*SLAFMsg)(nil), // 19: service_layer.SLAFMsg + (*SLAFRes)(nil), // 20: service_layer.SLAFRes + (*SLAFMsgRsp)(nil), // 21: service_layer.SLAFMsgRsp + (*SLAFRedistRegMsg)(nil), // 22: service_layer.SLAFRedistRegMsg + (*SLAFNextHopRegKey)(nil), // 23: service_layer.SLAFNextHopRegKey + (*SLAFNextHopRegMsg)(nil), // 24: service_layer.SLAFNextHopRegMsg + (*SLAFNotifRegReq)(nil), // 25: service_layer.SLAFNotifRegReq + (*SLAFNotifReq)(nil), // 26: service_layer.SLAFNotifReq + (*SLAFNotifRsp)(nil), // 27: service_layer.SLAFNotifRsp + (*SLNextHop)(nil), // 28: service_layer.SLNextHop + (*SLAFNotif)(nil), // 29: service_layer.SLAFNotif + (*SLAFNotifMsg)(nil), // 30: service_layer.SLAFNotifMsg + (*SLAFNextHopRegKey_SLNextHopKey)(nil), // 31: service_layer.SLAFNextHopRegKey.SLNextHopKey + (*SLAFNotif_SLRedistMarker)(nil), // 32: service_layer.SLAFNotif.SLRedistMarker + (SLTableType)(0), // 33: service_layer.SLTableType + (*SLVrfReg)(nil), // 34: service_layer.SLVrfReg + (SLRegOp)(0), // 35: service_layer.SLRegOp + (*SLErrorStatus)(nil), // 36: service_layer.SLErrorStatus + (*SLRoutePath)(nil), // 37: service_layer.SLRoutePath + (SLRouteFlags)(0), // 38: service_layer.SLRouteFlags + (SLUpdatePriority)(0), // 39: service_layer.SLUpdatePriority + (*SLRoutePrefix)(nil), // 40: service_layer.SLRoutePrefix + (*SLRouteCommon)(nil), // 41: service_layer.SLRouteCommon + (*SLPathGroup)(nil), // 42: service_layer.SLPathGroup + (SLRspACKType)(0), // 43: service_layer.SLRspACKType + (SLRspACKPermit)(0), // 44: service_layer.SLRspACKPermit + (SLRspAckCadence)(0), // 45: service_layer.SLRspAckCadence + (*SLObjectId)(nil), // 46: service_layer.SLObjectId + (SLAFFibStatus)(0), // 47: service_layer.SLAFFibStatus + (SLObjectOp)(0), // 48: service_layer.SLObjectOp + (SLNotifOp)(0), // 49: service_layer.SLNotifOp } var file_sl_af_proto_depIdxs = []int32{ - 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 + 33, // 0: service_layer.SLAFVrfReg.Table:type_name -> service_layer.SLTableType + 34, // 1: service_layer.SLAFVrfReg.VrfReg:type_name -> service_layer.SLVrfReg + 35, // 2: service_layer.SLAFVrfRegMsg.Oper:type_name -> service_layer.SLRegOp 0, // 3: service_layer.SLAFVrfRegMsg.VrfRegMsgs:type_name -> service_layer.SLAFVrfReg - 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 + 36, // 4: service_layer.SLAFVrfRegMsgRes.ErrStatus:type_name -> service_layer.SLErrorStatus + 33, // 5: service_layer.SLAFVrfRegMsgRes.Table:type_name -> service_layer.SLTableType + 36, // 6: service_layer.SLAFVrfRegMsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus 2, // 7: service_layer.SLAFVrfRegMsgRsp.Results:type_name -> service_layer.SLAFVrfRegMsgRes - 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.SLMplsEntry.Priority:type_name -> service_layer.SLUpdatePriority - 44, // 18: service_layer.SLAFIPRoute.IPRoutePrefix:type_name -> service_layer.SLRoutePrefix - 45, // 19: service_layer.SLAFIPRoute.RouteCommon:type_name -> service_layer.SLRouteCommon - 42, // 20: service_layer.SLAFIPRoute.PathList:type_name -> service_layer.SLRoutePath - 9, // 21: service_layer.SLAFObject.IPRoute:type_name -> service_layer.SLAFIPRoute - 8, // 22: service_layer.SLAFObject.MplsLabel:type_name -> service_layer.SLMplsEntry - 6, // 23: service_layer.SLAFObject.PathGroup:type_name -> service_layer.SLPathGroup - 10, // 24: service_layer.SLAFOpMsg.AFObject:type_name -> service_layer.SLAFObject - 46, // 25: service_layer.SLAFOpMsg.AckType:type_name -> service_layer.SLRspACKType - 47, // 26: service_layer.SLAFOpMsg.AckPermits:type_name -> service_layer.SLRspACKPermit - 48, // 27: service_layer.SLAFOpMsg.AckCadence:type_name -> service_layer.SLRspAckCadence - 36, // 28: service_layer.SLTableTypeList.Table:type_name -> service_layer.SLTableType - 44, // 29: service_layer.SLAFObjectKey.IPRoutePrefix:type_name -> service_layer.SLRoutePrefix - 7, // 30: service_layer.SLAFObjectKey.MplsLabel:type_name -> service_layer.SLMplsEntryKey - 40, // 31: service_layer.SLAFObjectKey.PathGroupId:type_name -> service_layer.SLObjectId - 14, // 32: service_layer.SLAFGetMatch.Key:type_name -> service_layer.SLAFObjectKey - 15, // 33: service_layer.SLAFGetMatchList.Match:type_name -> service_layer.SLAFGetMatch - 12, // 34: service_layer.SLAFGetMsg.ClientIDList:type_name -> service_layer.SLAFClientIDList - 13, // 35: service_layer.SLAFGetMsg.TableList:type_name -> service_layer.SLTableTypeList - 16, // 36: service_layer.SLAFGetMsg.RouteMatchList:type_name -> service_layer.SLAFGetMatchList - 11, // 37: service_layer.SLAFGetMsgRspEntry.AFOpMsg:type_name -> service_layer.SLAFOpMsg - 49, // 38: service_layer.SLAFGetMsgRspEntry.FIBStatus:type_name -> service_layer.SLAFFibStatus - 39, // 39: service_layer.SLAFGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 18, // 40: service_layer.SLAFGetMsgRsp.AFList:type_name -> service_layer.SLAFGetMsgRspEntry - 50, // 41: service_layer.SLAFMsg.Oper:type_name -> service_layer.SLObjectOp - 11, // 42: service_layer.SLAFMsg.OpList:type_name -> service_layer.SLAFOpMsg - 39, // 43: service_layer.SLAFRes.Status:type_name -> service_layer.SLErrorStatus - 14, // 44: service_layer.SLAFRes.Key:type_name -> service_layer.SLAFObjectKey - 49, // 45: service_layer.SLAFRes.FIBStatus:type_name -> service_layer.SLAFFibStatus - 21, // 46: service_layer.SLAFMsgRsp.Results:type_name -> service_layer.SLAFRes - 36, // 47: service_layer.SLAFRedistRegMsg.Table:type_name -> service_layer.SLTableType - 34, // 48: service_layer.SLAFNextHopRegKey.NextHop:type_name -> service_layer.SLAFNextHopRegKey.SLNextHopKey - 24, // 49: service_layer.SLAFNextHopRegMsg.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey - 23, // 50: service_layer.SLAFNotifRegReq.RedistReq:type_name -> service_layer.SLAFRedistRegMsg - 25, // 51: service_layer.SLAFNotifRegReq.NextHopReq:type_name -> service_layer.SLAFNextHopRegMsg - 51, // 52: service_layer.SLAFNotifReq.Oper:type_name -> service_layer.SLNotifOp - 26, // 53: service_layer.SLAFNotifReq.NotifReq:type_name -> service_layer.SLAFNotifRegReq - 26, // 54: service_layer.SLAFNotifRsp.NotifReq:type_name -> service_layer.SLAFNotifRegReq - 39, // 55: service_layer.SLAFNotifRsp.NotifStatus:type_name -> service_layer.SLErrorStatus - 24, // 56: service_layer.SLNextHop.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey - 44, // 57: service_layer.SLNextHop.ResolvingPrefix:type_name -> service_layer.SLRoutePrefix - 42, // 58: service_layer.SLNextHop.Paths:type_name -> service_layer.SLRoutePath - 28, // 59: service_layer.SLAFNotif.NotifStatus:type_name -> service_layer.SLAFNotifRsp - 35, // 60: service_layer.SLAFNotif.StartMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker - 35, // 61: service_layer.SLAFNotif.EndMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker - 10, // 62: service_layer.SLAFNotif.RedistObject:type_name -> service_layer.SLAFObject - 29, // 63: service_layer.SLAFNotif.NextHop:type_name -> service_layer.SLNextHop - 30, // 64: service_layer.SLAFNotifMsg.AFNotifs:type_name -> service_layer.SLAFNotif - 42, // 65: service_layer.SLPathGroup.SLPath.Path:type_name -> service_layer.SLRoutePath - 32, // 66: service_layer.SLPathGroup.SLPathList.Paths:type_name -> service_layer.SLPathGroup.SLPath - 44, // 67: service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP:type_name -> service_layer.SLRoutePrefix - 36, // 68: service_layer.SLAFNotif.SLRedistMarker.Table:type_name -> service_layer.SLTableType - 1, // 69: service_layer.SLAF.SLAFVrfRegOp:input_type -> service_layer.SLAFVrfRegMsg - 4, // 70: service_layer.SLAF.SLAFVrfRegGet:input_type -> service_layer.SLAFVrfRegGetMsg - 20, // 71: service_layer.SLAF.SLAFOp:input_type -> service_layer.SLAFMsg - 20, // 72: service_layer.SLAF.SLAFOpStream:input_type -> service_layer.SLAFMsg - 17, // 73: service_layer.SLAF.SLAFGet:input_type -> service_layer.SLAFGetMsg - 27, // 74: service_layer.SLAF.SLAFNotifStream:input_type -> service_layer.SLAFNotifReq - 3, // 75: service_layer.SLAF.SLAFVrfRegOp:output_type -> service_layer.SLAFVrfRegMsgRsp - 5, // 76: service_layer.SLAF.SLAFVrfRegGet:output_type -> service_layer.SLAFVrfRegGetMsgRsp - 22, // 77: service_layer.SLAF.SLAFOp:output_type -> service_layer.SLAFMsgRsp - 22, // 78: service_layer.SLAF.SLAFOpStream:output_type -> service_layer.SLAFMsgRsp - 19, // 79: service_layer.SLAF.SLAFGet:output_type -> service_layer.SLAFGetMsgRsp - 31, // 80: service_layer.SLAF.SLAFNotifStream:output_type -> service_layer.SLAFNotifMsg - 75, // [75:81] is the sub-list for method output_type - 69, // [69:75] is the sub-list for method input_type - 69, // [69:69] is the sub-list for extension type_name - 69, // [69:69] is the sub-list for extension extendee - 0, // [0:69] is the sub-list for field type_name + 36, // 8: service_layer.SLAFVrfRegGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 33, // 9: service_layer.SLAFVrfRegGetMsgRsp.Table:type_name -> service_layer.SLTableType + 34, // 10: service_layer.SLAFVrfRegGetMsgRsp.Entries:type_name -> service_layer.SLVrfReg + 6, // 11: service_layer.SLMplsEntry.MplsKey:type_name -> service_layer.SLMplsEntryKey + 37, // 12: service_layer.SLMplsEntry.PathList:type_name -> service_layer.SLRoutePath + 38, // 13: service_layer.SLMplsEntry.MplsFlags:type_name -> service_layer.SLRouteFlags + 39, // 14: service_layer.SLMplsEntry.Priority:type_name -> service_layer.SLUpdatePriority + 40, // 15: service_layer.SLAFIPRoute.IPRoutePrefix:type_name -> service_layer.SLRoutePrefix + 41, // 16: service_layer.SLAFIPRoute.RouteCommon:type_name -> service_layer.SLRouteCommon + 37, // 17: service_layer.SLAFIPRoute.PathList:type_name -> service_layer.SLRoutePath + 8, // 18: service_layer.SLAFObject.IPRoute:type_name -> service_layer.SLAFIPRoute + 7, // 19: service_layer.SLAFObject.MplsLabel:type_name -> service_layer.SLMplsEntry + 42, // 20: service_layer.SLAFObject.PathGroup:type_name -> service_layer.SLPathGroup + 9, // 21: service_layer.SLAFOpMsg.AFObject:type_name -> service_layer.SLAFObject + 43, // 22: service_layer.SLAFOpMsg.AckType:type_name -> service_layer.SLRspACKType + 44, // 23: service_layer.SLAFOpMsg.AckPermits:type_name -> service_layer.SLRspACKPermit + 45, // 24: service_layer.SLAFOpMsg.AckCadence:type_name -> service_layer.SLRspAckCadence + 33, // 25: service_layer.SLTableTypeList.Table:type_name -> service_layer.SLTableType + 40, // 26: service_layer.SLAFObjectKey.IPRoutePrefix:type_name -> service_layer.SLRoutePrefix + 6, // 27: service_layer.SLAFObjectKey.MplsLabel:type_name -> service_layer.SLMplsEntryKey + 46, // 28: service_layer.SLAFObjectKey.PathGroupId:type_name -> service_layer.SLObjectId + 13, // 29: service_layer.SLAFGetMatch.Key:type_name -> service_layer.SLAFObjectKey + 14, // 30: service_layer.SLAFGetMatchList.Match:type_name -> service_layer.SLAFGetMatch + 11, // 31: service_layer.SLAFGetMsg.ClientIDList:type_name -> service_layer.SLAFClientIDList + 12, // 32: service_layer.SLAFGetMsg.TableList:type_name -> service_layer.SLTableTypeList + 15, // 33: service_layer.SLAFGetMsg.RouteMatchList:type_name -> service_layer.SLAFGetMatchList + 10, // 34: service_layer.SLAFGetMsgRspEntry.AFOpMsg:type_name -> service_layer.SLAFOpMsg + 47, // 35: service_layer.SLAFGetMsgRspEntry.FIBStatus:type_name -> service_layer.SLAFFibStatus + 36, // 36: service_layer.SLAFGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 17, // 37: service_layer.SLAFGetMsgRsp.AFList:type_name -> service_layer.SLAFGetMsgRspEntry + 48, // 38: service_layer.SLAFMsg.Oper:type_name -> service_layer.SLObjectOp + 10, // 39: service_layer.SLAFMsg.OpList:type_name -> service_layer.SLAFOpMsg + 36, // 40: service_layer.SLAFRes.Status:type_name -> service_layer.SLErrorStatus + 13, // 41: service_layer.SLAFRes.Key:type_name -> service_layer.SLAFObjectKey + 47, // 42: service_layer.SLAFRes.FIBStatus:type_name -> service_layer.SLAFFibStatus + 20, // 43: service_layer.SLAFMsgRsp.Results:type_name -> service_layer.SLAFRes + 33, // 44: service_layer.SLAFRedistRegMsg.Table:type_name -> service_layer.SLTableType + 31, // 45: service_layer.SLAFNextHopRegKey.NextHop:type_name -> service_layer.SLAFNextHopRegKey.SLNextHopKey + 23, // 46: service_layer.SLAFNextHopRegMsg.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey + 22, // 47: service_layer.SLAFNotifRegReq.RedistReq:type_name -> service_layer.SLAFRedistRegMsg + 24, // 48: service_layer.SLAFNotifRegReq.NextHopReq:type_name -> service_layer.SLAFNextHopRegMsg + 49, // 49: service_layer.SLAFNotifReq.Oper:type_name -> service_layer.SLNotifOp + 25, // 50: service_layer.SLAFNotifReq.NotifReq:type_name -> service_layer.SLAFNotifRegReq + 25, // 51: service_layer.SLAFNotifRsp.NotifReq:type_name -> service_layer.SLAFNotifRegReq + 36, // 52: service_layer.SLAFNotifRsp.NotifStatus:type_name -> service_layer.SLErrorStatus + 23, // 53: service_layer.SLNextHop.NextHopKey:type_name -> service_layer.SLAFNextHopRegKey + 40, // 54: service_layer.SLNextHop.ResolvingPrefix:type_name -> service_layer.SLRoutePrefix + 37, // 55: service_layer.SLNextHop.Paths:type_name -> service_layer.SLRoutePath + 27, // 56: service_layer.SLAFNotif.NotifStatus:type_name -> service_layer.SLAFNotifRsp + 32, // 57: service_layer.SLAFNotif.StartMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker + 32, // 58: service_layer.SLAFNotif.EndMarker:type_name -> service_layer.SLAFNotif.SLRedistMarker + 9, // 59: service_layer.SLAFNotif.RedistObject:type_name -> service_layer.SLAFObject + 28, // 60: service_layer.SLAFNotif.NextHop:type_name -> service_layer.SLNextHop + 29, // 61: service_layer.SLAFNotifMsg.AFNotifs:type_name -> service_layer.SLAFNotif + 40, // 62: service_layer.SLAFNextHopRegKey.SLNextHopKey.NextHopIP:type_name -> service_layer.SLRoutePrefix + 33, // 63: service_layer.SLAFNotif.SLRedistMarker.Table:type_name -> service_layer.SLTableType + 1, // 64: service_layer.SLAF.SLAFVrfRegOp:input_type -> service_layer.SLAFVrfRegMsg + 4, // 65: service_layer.SLAF.SLAFVrfRegGet:input_type -> service_layer.SLAFVrfRegGetMsg + 19, // 66: service_layer.SLAF.SLAFOp:input_type -> service_layer.SLAFMsg + 19, // 67: service_layer.SLAF.SLAFOpStream:input_type -> service_layer.SLAFMsg + 16, // 68: service_layer.SLAF.SLAFGet:input_type -> service_layer.SLAFGetMsg + 26, // 69: service_layer.SLAF.SLAFNotifStream:input_type -> service_layer.SLAFNotifReq + 3, // 70: service_layer.SLAF.SLAFVrfRegOp:output_type -> service_layer.SLAFVrfRegMsgRsp + 5, // 71: service_layer.SLAF.SLAFVrfRegGet:output_type -> service_layer.SLAFVrfRegGetMsgRsp + 21, // 72: service_layer.SLAF.SLAFOp:output_type -> service_layer.SLAFMsgRsp + 21, // 73: service_layer.SLAF.SLAFOpStream:output_type -> service_layer.SLAFMsgRsp + 18, // 74: service_layer.SLAF.SLAFGet:output_type -> service_layer.SLAFGetMsgRsp + 30, // 75: service_layer.SLAF.SLAFNotifStream:output_type -> service_layer.SLAFNotifMsg + 70, // [70:76] is the sub-list for method output_type + 64, // [64:70] is the sub-list for method input_type + 64, // [64:64] is the sub-list for extension type_name + 64, // [64:64] is the sub-list for extension extendee + 0, // [0:64] is the sub-list for field type_name } func init() { file_sl_af_proto_init() } @@ -3436,472 +2915,35 @@ func file_sl_af_proto_init() { } file_sl_common_types_proto_init() file_sl_route_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_af_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFVrfReg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFVrfRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFVrfRegMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFVrfRegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFVrfRegGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFVrfRegGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPathGroup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsEntryKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFIPRoute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFOpMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFClientIDList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLTableTypeList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFObjectKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMatchList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMsgRspEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFRedistRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNextHopRegKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNextHopRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifRegReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAFNotifRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_af_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLNextHop); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - 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 - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_af_proto_msgTypes[6].OneofWrappers = []interface{}{ - (*SLPathGroup_PathList)(nil), - } - file_sl_af_proto_msgTypes[10].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[9].OneofWrappers = []any{ (*SLAFObject_IPRoute)(nil), (*SLAFObject_MplsLabel)(nil), (*SLAFObject_PathGroup)(nil), } - file_sl_af_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[13].OneofWrappers = []any{ (*SLAFObjectKey_IPRoutePrefix)(nil), (*SLAFObjectKey_MplsLabel)(nil), (*SLAFObjectKey_PathGroupId)(nil), } - file_sl_af_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[14].OneofWrappers = []any{ (*SLAFGetMatch_Key)(nil), (*SLAFGetMatch_PathGroupRegex)(nil), (*SLAFGetMatch_VxlanVniId)(nil), } - file_sl_af_proto_msgTypes[17].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[16].OneofWrappers = []any{ (*SLAFGetMsg_ClientIDList)(nil), (*SLAFGetMsg_AllClients)(nil), (*SLAFGetMsg_TableList)(nil), (*SLAFGetMsg_RouteMatchList)(nil), } - file_sl_af_proto_msgTypes[24].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[23].OneofWrappers = []any{ (*SLAFNextHopRegKey_NextHop)(nil), } - file_sl_af_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[25].OneofWrappers = []any{ (*SLAFNotifRegReq_RedistReq)(nil), (*SLAFNotifRegReq_NextHopReq)(nil), } - file_sl_af_proto_msgTypes[30].OneofWrappers = []interface{}{ + file_sl_af_proto_msgTypes[29].OneofWrappers = []any{ (*SLAFNotif_NotifStatus)(nil), (*SLAFNotif_StartMarker)(nil), (*SLAFNotif_EndMarker)(nil), @@ -3912,9 +2954,9 @@ func file_sl_af_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_af_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_af_proto_rawDesc), len(file_sl_af_proto_rawDesc)), NumEnums: 0, - NumMessages: 36, + NumMessages: 33, NumExtensions: 0, NumServices: 1, }, @@ -3923,7 +2965,6 @@ func file_sl_af_proto_init() { MessageInfos: file_sl_af_proto_msgTypes, }.Build() File_sl_af_proto = out.File - file_sl_af_proto_rawDesc = nil file_sl_af_proto_goTypes = nil file_sl_af_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_af_grpc.pb.go b/grpc/go/src/gengo/sl_af_grpc.pb.go index afe83b45..b3d80356 100644 --- a/grpc/go/src/gengo/sl_af_grpc.pb.go +++ b/grpc/go/src/gengo/sl_af_grpc.pb.go @@ -1,7 +1,25 @@ +// @file +// @brief Client RPC proto file for operations on objects in a address family. +// This file defines SL-API service and messages for operations +// on IP routes, MPLS objects and Path Groups objects. +// +// The RPCs and messages defined here are experimental and subject to +// change without notice and such changes can break backwards compatibility. +// +// ---------------------------------------------------------------- +// Copyright (c) 2023-2025 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +// @defgroup AF +// @brief Service definitions for programming and notifications of AF objects. + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_af.proto package service_layer @@ -15,8 +33,17 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLAF_SLAFVrfRegOp_FullMethodName = "/service_layer.SLAF/SLAFVrfRegOp" + SLAF_SLAFVrfRegGet_FullMethodName = "/service_layer.SLAF/SLAFVrfRegGet" + SLAF_SLAFOp_FullMethodName = "/service_layer.SLAF/SLAFOp" + SLAF_SLAFOpStream_FullMethodName = "/service_layer.SLAF/SLAFOpStream" + SLAF_SLAFGet_FullMethodName = "/service_layer.SLAF/SLAFGet" + SLAF_SLAFNotifStream_FullMethodName = "/service_layer.SLAF/SLAFNotifStream" +) // SLAFClient is the client API for SLAF service. // @@ -67,7 +94,7 @@ type SLAFClient interface { // with the state on the device by replaying the difference. SLAFVrfRegOp(ctx context.Context, in *SLAFVrfRegMsg, opts ...grpc.CallOption) (*SLAFVrfRegMsgRsp, error) // VRF get. Used to retrieve VRF attributes from the server. - SLAFVrfRegGet(ctx context.Context, in *SLAFVrfRegGetMsg, opts ...grpc.CallOption) (SLAF_SLAFVrfRegGetClient, error) + SLAFVrfRegGet(ctx context.Context, in *SLAFVrfRegGetMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLAFVrfRegGetMsgRsp], error) // Route, MPLS label and Path operations. // // SLAFMsg.Oper = SL_OBJOP_ADD: @@ -88,7 +115,10 @@ type SLAFClient interface { // Other attributes if present are ignored. // Delete of a non-existant object is returned as success. SLAFOp(ctx context.Context, in *SLAFMsg, opts ...grpc.CallOption) (*SLAFMsgRsp, error) - // Stream object operations + // Stream object operations. + // + // The client MUST keep it's receive and send side of the stream up as long as there is + // interest in the responses. // // SLAFMsg.Oper = SL_OBJOP_ADD: // @@ -104,18 +134,18 @@ type SLAFClient interface { // // Object delete. The object's key is enough to delete the object. // Delete of a non-existant object is returned as success. - SLAFOpStream(ctx context.Context, opts ...grpc.CallOption) (SLAF_SLAFOpStreamClient, error) + SLAFOpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLAFMsg, SLAFMsgRsp], 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) + SLAFGet(ctx context.Context, in *SLAFGetMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLAFGetMsgRsp], error) // The route redistribution and next hop tracking RPC. // // The notification request registrations and corresponding // notifications are scoped to the RPC. On a RPC disconnection, // the client should re-establish the RPC and re-program // the notification requests. - // The caller MUST keep the RPC up as long as there is + // The client MUST keep it's receive and send side of the stream up as long as there is // interest in the notifications. // // For route redistribution, this call is used to get a stream @@ -131,7 +161,7 @@ type SLAFClient interface { // 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) + SLAFNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLAFNotifReq, SLAFNotifMsg], error) } type sLAFClient struct { @@ -143,20 +173,22 @@ func NewSLAFClient(cc grpc.ClientConnInterface) SLAFClient { } func (c *sLAFClient) SLAFVrfRegOp(ctx context.Context, in *SLAFVrfRegMsg, opts ...grpc.CallOption) (*SLAFVrfRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLAFVrfRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLAF/SLAFVrfRegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLAF_SLAFVrfRegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLAFClient) SLAFVrfRegGet(ctx context.Context, in *SLAFVrfRegGetMsg, opts ...grpc.CallOption) (SLAF_SLAFVrfRegGetClient, error) { - stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[0], "/service_layer.SLAF/SLAFVrfRegGet", opts...) +func (c *sLAFClient) SLAFVrfRegGet(ctx context.Context, in *SLAFVrfRegGetMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLAFVrfRegGetMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[0], SLAF_SLAFVrfRegGet_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLAFSLAFVrfRegGetClient{stream} + x := &grpc.GenericClientStream[SLAFVrfRegGetMsg, SLAFVrfRegGetMsgRsp]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -166,69 +198,39 @@ func (c *sLAFClient) SLAFVrfRegGet(ctx context.Context, in *SLAFVrfRegGetMsg, op return x, nil } -type SLAF_SLAFVrfRegGetClient interface { - Recv() (*SLAFVrfRegGetMsgRsp, error) - grpc.ClientStream -} - -type sLAFSLAFVrfRegGetClient struct { - grpc.ClientStream -} - -func (x *sLAFSLAFVrfRegGetClient) Recv() (*SLAFVrfRegGetMsgRsp, error) { - m := new(SLAFVrfRegGetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFVrfRegGetClient = grpc.ServerStreamingClient[SLAFVrfRegGetMsgRsp] func (c *sLAFClient) SLAFOp(ctx context.Context, in *SLAFMsg, opts ...grpc.CallOption) (*SLAFMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLAFMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLAF/SLAFOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLAF_SLAFOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLAFClient) SLAFOpStream(ctx context.Context, opts ...grpc.CallOption) (SLAF_SLAFOpStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[1], "/service_layer.SLAF/SLAFOpStream", opts...) +func (c *sLAFClient) SLAFOpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLAFMsg, SLAFMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[1], SLAF_SLAFOpStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLAFSLAFOpStreamClient{stream} + x := &grpc.GenericClientStream[SLAFMsg, SLAFMsgRsp]{ClientStream: stream} return x, nil } -type SLAF_SLAFOpStreamClient interface { - Send(*SLAFMsg) error - Recv() (*SLAFMsgRsp, error) - grpc.ClientStream -} - -type sLAFSLAFOpStreamClient struct { - grpc.ClientStream -} - -func (x *sLAFSLAFOpStreamClient) Send(m *SLAFMsg) error { - return x.ClientStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFOpStreamClient = grpc.BidiStreamingClient[SLAFMsg, SLAFMsgRsp] -func (x *sLAFSLAFOpStreamClient) Recv() (*SLAFMsgRsp, error) { - m := new(SLAFMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *sLAFClient) SLAFGet(ctx context.Context, in *SLAFGetMsg, opts ...grpc.CallOption) (SLAF_SLAFGetClient, error) { - stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[2], "/service_layer.SLAF/SLAFGet", opts...) +func (c *sLAFClient) SLAFGet(ctx context.Context, in *SLAFGetMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLAFGetMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[2], SLAF_SLAFGet_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLAFSLAFGetClient{stream} + x := &grpc.GenericClientStream[SLAFGetMsg, SLAFGetMsgRsp]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -238,57 +240,25 @@ func (c *sLAFClient) SLAFGet(ctx context.Context, in *SLAFGetMsg, opts ...grpc.C return x, nil } -type SLAF_SLAFGetClient interface { - Recv() (*SLAFGetMsgRsp, error) - grpc.ClientStream -} - -type sLAFSLAFGetClient struct { - grpc.ClientStream -} - -func (x *sLAFSLAFGetClient) Recv() (*SLAFGetMsgRsp, error) { - m := new(SLAFGetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFGetClient = grpc.ServerStreamingClient[SLAFGetMsgRsp] -func (c *sLAFClient) SLAFNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLAF_SLAFNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[3], "/service_layer.SLAF/SLAFNotifStream", opts...) +func (c *sLAFClient) SLAFNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLAFNotifReq, SLAFNotifMsg], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLAF_ServiceDesc.Streams[3], SLAF_SLAFNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLAFSLAFNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLAFNotifReq, SLAFNotifMsg]{ClientStream: stream} return x, nil } -type SLAF_SLAFNotifStreamClient interface { - Send(*SLAFNotifReq) error - Recv() (*SLAFNotifMsg, error) - grpc.ClientStream -} - -type sLAFSLAFNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLAFSLAFNotifStreamClient) Send(m *SLAFNotifReq) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLAFSLAFNotifStreamClient) Recv() (*SLAFNotifMsg, error) { - m := new(SLAFNotifMsg) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFNotifStreamClient = grpc.BidiStreamingClient[SLAFNotifReq, SLAFNotifMsg] // SLAFServer is the server API for SLAF service. // All implementations must embed UnimplementedSLAFServer -// for forward compatibility +// for forward compatibility. type SLAFServer interface { // VRF registration operations. By default, The client must register with // the corresponding VRF table before programming objects in that table. @@ -335,7 +305,7 @@ type SLAFServer interface { // with the state on the device by replaying the difference. SLAFVrfRegOp(context.Context, *SLAFVrfRegMsg) (*SLAFVrfRegMsgRsp, error) // VRF get. Used to retrieve VRF attributes from the server. - SLAFVrfRegGet(*SLAFVrfRegGetMsg, SLAF_SLAFVrfRegGetServer) error + SLAFVrfRegGet(*SLAFVrfRegGetMsg, grpc.ServerStreamingServer[SLAFVrfRegGetMsgRsp]) error // Route, MPLS label and Path operations. // // SLAFMsg.Oper = SL_OBJOP_ADD: @@ -356,7 +326,10 @@ type SLAFServer interface { // Other attributes if present are ignored. // Delete of a non-existant object is returned as success. SLAFOp(context.Context, *SLAFMsg) (*SLAFMsgRsp, error) - // Stream object operations + // Stream object operations. + // + // The client MUST keep it's receive and send side of the stream up as long as there is + // interest in the responses. // // SLAFMsg.Oper = SL_OBJOP_ADD: // @@ -372,18 +345,18 @@ type SLAFServer interface { // // Object delete. The object's key is enough to delete the object. // Delete of a non-existant object is returned as success. - SLAFOpStream(SLAF_SLAFOpStreamServer) error + SLAFOpStream(grpc.BidiStreamingServer[SLAFMsg, SLAFMsgRsp]) 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 + SLAFGet(*SLAFGetMsg, grpc.ServerStreamingServer[SLAFGetMsgRsp]) error // The route redistribution and next hop tracking RPC. // // The notification request registrations and corresponding // notifications are scoped to the RPC. On a RPC disconnection, // the client should re-establish the RPC and re-program // the notification requests. - // The caller MUST keep the RPC up as long as there is + // The client MUST keep it's receive and send side of the stream up as long as there is // interest in the notifications. // // For route redistribution, this call is used to get a stream @@ -399,33 +372,37 @@ type SLAFServer interface { // 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 + SLAFNotifStream(grpc.BidiStreamingServer[SLAFNotifReq, SLAFNotifMsg]) error mustEmbedUnimplementedSLAFServer() } -// UnimplementedSLAFServer must be embedded to have forward compatible implementations. -type UnimplementedSLAFServer struct { -} +// UnimplementedSLAFServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLAFServer struct{} func (UnimplementedSLAFServer) SLAFVrfRegOp(context.Context, *SLAFVrfRegMsg) (*SLAFVrfRegMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLAFVrfRegOp not implemented") } -func (UnimplementedSLAFServer) SLAFVrfRegGet(*SLAFVrfRegGetMsg, SLAF_SLAFVrfRegGetServer) error { +func (UnimplementedSLAFServer) SLAFVrfRegGet(*SLAFVrfRegGetMsg, grpc.ServerStreamingServer[SLAFVrfRegGetMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLAFVrfRegGet not implemented") } func (UnimplementedSLAFServer) SLAFOp(context.Context, *SLAFMsg) (*SLAFMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLAFOp not implemented") } -func (UnimplementedSLAFServer) SLAFOpStream(SLAF_SLAFOpStreamServer) error { +func (UnimplementedSLAFServer) SLAFOpStream(grpc.BidiStreamingServer[SLAFMsg, SLAFMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLAFOpStream not implemented") } -func (UnimplementedSLAFServer) SLAFGet(*SLAFGetMsg, SLAF_SLAFGetServer) error { +func (UnimplementedSLAFServer) SLAFGet(*SLAFGetMsg, grpc.ServerStreamingServer[SLAFGetMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLAFGet not implemented") } -func (UnimplementedSLAFServer) SLAFNotifStream(SLAF_SLAFNotifStreamServer) error { +func (UnimplementedSLAFServer) SLAFNotifStream(grpc.BidiStreamingServer[SLAFNotifReq, SLAFNotifMsg]) error { return status.Errorf(codes.Unimplemented, "method SLAFNotifStream not implemented") } func (UnimplementedSLAFServer) mustEmbedUnimplementedSLAFServer() {} +func (UnimplementedSLAFServer) testEmbeddedByValue() {} // UnsafeSLAFServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLAFServer will @@ -435,6 +412,13 @@ type UnsafeSLAFServer interface { } func RegisterSLAFServer(s grpc.ServiceRegistrar, srv SLAFServer) { + // If the following call pancis, it indicates UnimplementedSLAFServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLAF_ServiceDesc, srv) } @@ -448,7 +432,7 @@ func _SLAF_SLAFVrfRegOp_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLAF/SLAFVrfRegOp", + FullMethod: SLAF_SLAFVrfRegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLAFServer).SLAFVrfRegOp(ctx, req.(*SLAFVrfRegMsg)) @@ -461,21 +445,11 @@ func _SLAF_SLAFVrfRegGet_Handler(srv interface{}, stream grpc.ServerStream) erro if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLAFServer).SLAFVrfRegGet(m, &sLAFSLAFVrfRegGetServer{stream}) -} - -type SLAF_SLAFVrfRegGetServer interface { - Send(*SLAFVrfRegGetMsgRsp) error - grpc.ServerStream + return srv.(SLAFServer).SLAFVrfRegGet(m, &grpc.GenericServerStream[SLAFVrfRegGetMsg, SLAFVrfRegGetMsgRsp]{ServerStream: stream}) } -type sLAFSLAFVrfRegGetServer struct { - grpc.ServerStream -} - -func (x *sLAFSLAFVrfRegGetServer) Send(m *SLAFVrfRegGetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFVrfRegGetServer = grpc.ServerStreamingServer[SLAFVrfRegGetMsgRsp] func _SLAF_SLAFOp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SLAFMsg) @@ -487,7 +461,7 @@ func _SLAF_SLAFOp_Handler(srv interface{}, ctx context.Context, dec func(interfa } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLAF/SLAFOp", + FullMethod: SLAF_SLAFOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLAFServer).SLAFOp(ctx, req.(*SLAFMsg)) @@ -496,77 +470,29 @@ func _SLAF_SLAFOp_Handler(srv interface{}, ctx context.Context, dec func(interfa } func _SLAF_SLAFOpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLAFServer).SLAFOpStream(&sLAFSLAFOpStreamServer{stream}) -} - -type SLAF_SLAFOpStreamServer interface { - Send(*SLAFMsgRsp) error - Recv() (*SLAFMsg, error) - grpc.ServerStream -} - -type sLAFSLAFOpStreamServer struct { - grpc.ServerStream -} - -func (x *sLAFSLAFOpStreamServer) Send(m *SLAFMsgRsp) error { - return x.ServerStream.SendMsg(m) + return srv.(SLAFServer).SLAFOpStream(&grpc.GenericServerStream[SLAFMsg, SLAFMsgRsp]{ServerStream: stream}) } -func (x *sLAFSLAFOpStreamServer) Recv() (*SLAFMsg, error) { - m := new(SLAFMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFOpStreamServer = grpc.BidiStreamingServer[SLAFMsg, SLAFMsgRsp] func _SLAF_SLAFGet_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(SLAFGetMsg) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLAFServer).SLAFGet(m, &sLAFSLAFGetServer{stream}) + return srv.(SLAFServer).SLAFGet(m, &grpc.GenericServerStream[SLAFGetMsg, SLAFGetMsgRsp]{ServerStream: stream}) } -type SLAF_SLAFGetServer interface { - Send(*SLAFGetMsgRsp) error - grpc.ServerStream -} - -type sLAFSLAFGetServer struct { - grpc.ServerStream -} - -func (x *sLAFSLAFGetServer) Send(m *SLAFGetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFGetServer = grpc.ServerStreamingServer[SLAFGetMsgRsp] func _SLAF_SLAFNotifStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLAFServer).SLAFNotifStream(&sLAFSLAFNotifStreamServer{stream}) + return srv.(SLAFServer).SLAFNotifStream(&grpc.GenericServerStream[SLAFNotifReq, SLAFNotifMsg]{ServerStream: stream}) } -type SLAF_SLAFNotifStreamServer interface { - Send(*SLAFNotifMsg) error - Recv() (*SLAFNotifReq, error) - grpc.ServerStream -} - -type sLAFSLAFNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLAFSLAFNotifStreamServer) Send(m *SLAFNotifMsg) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLAFSLAFNotifStreamServer) Recv() (*SLAFNotifReq, error) { - m := new(SLAFNotifReq) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLAF_SLAFNotifStreamServer = grpc.BidiStreamingServer[SLAFNotifReq, SLAFNotifMsg] // SLAF_ServiceDesc is the grpc.ServiceDesc for SLAF service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_bfd_common.pb.go b/grpc/go/src/gengo/sl_bfd_common.pb.go index 9b62e50a..3e780b3d 100644 --- a/grpc/go/src/gengo/sl_bfd_common.pb.go +++ b/grpc/go/src/gengo/sl_bfd_common.pb.go @@ -16,8 +16,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_bfd_common.proto package service_layer @@ -27,6 +27,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -279,21 +280,18 @@ func (SLBfdCommonState_SLBfdDiagStateEnum) EnumDescriptor() ([]byte, []int) { // BFD Registration message. type SLBfdRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Registration Operation - Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` + Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdRegMsg) Reset() { *x = SLBfdRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdRegMsg) String() string { @@ -304,7 +302,7 @@ func (*SLBfdRegMsg) ProtoMessage() {} func (x *SLBfdRegMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -328,21 +326,18 @@ func (x *SLBfdRegMsg) GetOper() SLRegOp { // BFD Registration response message. type SLBfdRegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdRegMsgRsp) Reset() { *x = SLBfdRegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdRegMsgRsp) String() string { @@ -353,7 +348,7 @@ func (*SLBfdRegMsgRsp) ProtoMessage() {} func (x *SLBfdRegMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -377,18 +372,16 @@ func (x *SLBfdRegMsgRsp) GetErrStatus() *SLErrorStatus { // BFD Globals Get message. type SLBfdGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdGetMsg) Reset() { *x = SLBfdGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdGetMsg) String() string { @@ -399,7 +392,7 @@ func (*SLBfdGetMsg) ProtoMessage() {} func (x *SLBfdGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -416,10 +409,7 @@ func (*SLBfdGetMsg) Descriptor() ([]byte, []int) { // BFD Get Global info response message. type SLBfdGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Max BFD objects within a single BfdMsg message. @@ -432,15 +422,15 @@ type SLBfdGetMsgRsp struct { MinBfdDetectMultiplierSingleHop uint32 `protobuf:"varint,5,opt,name=MinBfdDetectMultiplierSingleHop,proto3" json:"MinBfdDetectMultiplierSingleHop,omitempty"` // Min BFD detection multiplier for multi hop sessions. MinBfdDetectMultiplierMultiHop uint32 `protobuf:"varint,6,opt,name=MinBfdDetectMultiplierMultiHop,proto3" json:"MinBfdDetectMultiplierMultiHop,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdGetMsgRsp) Reset() { *x = SLBfdGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdGetMsgRsp) String() string { @@ -451,7 +441,7 @@ func (*SLBfdGetMsgRsp) ProtoMessage() {} func (x *SLBfdGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -510,10 +500,7 @@ func (x *SLBfdGetMsgRsp) GetMinBfdDetectMultiplierMultiHop() uint32 { // BFD Get Global Stats response message. type SLBfdGetStatsMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Global BFD event sequence number. This is used to order various events @@ -521,16 +508,16 @@ type SLBfdGetStatsMsgRsp struct { // This field contains the latest global BFD event sequence number SeqNum uint64 `protobuf:"varint,2,opt,name=SeqNum,proto3" json:"SeqNum,omitempty"` // Num BFD sessions added through the service layer. - BfdCount uint32 `protobuf:"varint,3,opt,name=BfdCount,proto3" json:"BfdCount,omitempty"` + BfdCount uint32 `protobuf:"varint,3,opt,name=BfdCount,proto3" json:"BfdCount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdGetStatsMsgRsp) Reset() { *x = SLBfdGetStatsMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdGetStatsMsgRsp) String() string { @@ -541,7 +528,7 @@ func (*SLBfdGetStatsMsgRsp) ProtoMessage() {} func (x *SLBfdGetStatsMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -579,18 +566,16 @@ func (x *SLBfdGetStatsMsgRsp) GetBfdCount() uint32 { // BFD Get Notifications message. type SLBfdGetNotifMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdGetNotifMsg) Reset() { *x = SLBfdGetNotifMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdGetNotifMsg) String() string { @@ -601,7 +586,7 @@ func (*SLBfdGetNotifMsg) ProtoMessage() {} func (x *SLBfdGetNotifMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -618,10 +603,7 @@ func (*SLBfdGetNotifMsg) Descriptor() ([]byte, []int) { // Common bidirectional forwarding detection attributes. type SLBfdConfigCommon struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Desired Tx interval in micro seconds. // This is the minimum interval that the local system would like to // use when transmitting BFD control packets. @@ -636,15 +618,15 @@ type SLBfdConfigCommon struct { // packets after which the session is determined to have failed. // Note: there may be a different detection time in each direction. DetectMultiplier uint32 `protobuf:"varint,2,opt,name=DetectMultiplier,proto3" json:"DetectMultiplier,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdConfigCommon) Reset() { *x = SLBfdConfigCommon{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdConfigCommon) String() string { @@ -655,7 +637,7 @@ func (*SLBfdConfigCommon) ProtoMessage() {} func (x *SLBfdConfigCommon) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -686,24 +668,21 @@ func (x *SLBfdConfigCommon) GetDetectMultiplier() uint32 { // BFD state information. type SLBfdCommonState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Global BFD event sequence number. This is used to order various events // The sequence number is equivalent to a timestamp - SeqNum uint64 `protobuf:"varint,1,opt,name=SeqNum,proto3" json:"SeqNum,omitempty"` - Status SLBfdCommonState_SLBfdStateEnum `protobuf:"varint,2,opt,name=Status,proto3,enum=service_layer.SLBfdCommonState_SLBfdStateEnum" json:"Status,omitempty"` - Diag SLBfdCommonState_SLBfdDiagStateEnum `protobuf:"varint,3,opt,name=Diag,proto3,enum=service_layer.SLBfdCommonState_SLBfdDiagStateEnum" json:"Diag,omitempty"` + SeqNum uint64 `protobuf:"varint,1,opt,name=SeqNum,proto3" json:"SeqNum,omitempty"` + Status SLBfdCommonState_SLBfdStateEnum `protobuf:"varint,2,opt,name=Status,proto3,enum=service_layer.SLBfdCommonState_SLBfdStateEnum" json:"Status,omitempty"` + Diag SLBfdCommonState_SLBfdDiagStateEnum `protobuf:"varint,3,opt,name=Diag,proto3,enum=service_layer.SLBfdCommonState_SLBfdDiagStateEnum" json:"Diag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdCommonState) Reset() { *x = SLBfdCommonState{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_common_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdCommonState) String() string { @@ -714,7 +693,7 @@ func (*SLBfdCommonState) ProtoMessage() {} func (x *SLBfdCommonState) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_common_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -752,137 +731,72 @@ func (x *SLBfdCommonState) GetDiag() SLBfdCommonState_SLBfdDiagStateEnum { var File_sl_bfd_common_proto protoreflect.FileDescriptor -var file_sl_bfd_common_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x73, 0x6c, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0x39, 0x0a, 0x0b, 0x53, - 0x4c, 0x42, 0x66, 0x64, 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, 0x22, 0x4c, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x52, - 0x65, 0x67, 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, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, - 0x4d, 0x73, 0x67, 0x22, 0x9a, 0x03, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x40, 0x0a, 0x1b, 0x4d, 0x61, 0x78, 0x42, 0x66, 0x64, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x50, 0x65, 0x72, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x4d, 0x61, 0x78, 0x42, 0x66, 0x64, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x50, 0x65, 0x72, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x4d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x19, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x54, 0x78, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x54, - 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, - 0x6f, 0x70, 0x12, 0x3a, 0x0a, 0x18, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x54, 0x78, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x6f, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x54, 0x78, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x6f, 0x70, 0x12, 0x48, - 0x0a, 0x1f, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x44, - 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x6f, 0x70, 0x12, 0x46, 0x0a, 0x1e, 0x4d, 0x69, 0x6e, 0x42, - 0x66, 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, - 0x65, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x1e, 0x4d, 0x69, 0x6e, 0x42, 0x66, 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x6f, 0x70, - 0x22, 0x85, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x73, 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, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x42, 0x66, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x42, 0x66, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x11, - 0x53, 0x4c, 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x78, 0x49, 0x6e, - 0x74, 0x55, 0x73, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x44, 0x65, 0x73, - 0x69, 0x72, 0x65, 0x64, 0x54, 0x78, 0x49, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x63, 0x12, 0x2a, 0x0a, - 0x10, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x22, 0xe9, 0x04, 0x0a, 0x10, 0x53, 0x4c, - 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x46, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x46, - 0x0a, 0x04, 0x44, 0x69, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x66, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x4c, - 0x42, 0x66, 0x64, 0x44, 0x69, 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x52, 0x04, 0x44, 0x69, 0x61, 0x67, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x66, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, - 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, - 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, - 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, - 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x55, - 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x22, 0xa9, 0x02, 0x0a, 0x12, 0x53, 0x4c, - 0x42, 0x66, 0x64, 0x44, 0x69, 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, - 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x58, 0x50, - 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, - 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, - 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, - 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x53, - 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, 0x46, 0x57, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x12, - 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, 0x41, - 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x53, - 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x5f, 0x43, - 0x4f, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x12, - 0x24, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x5f, 0x45, - 0x43, 0x48, 0x4f, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, - 0x44, 0x49, 0x41, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0x08, 0x2a, 0x4d, 0x0a, 0x09, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x52, 0x45, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x42, 0x46, - 0x44, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x48, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x14, - 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x48, - 0x4f, 0x50, 0x10, 0x02, 0x2a, 0x72, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, - 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x02, 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, -} +const file_sl_bfd_common_proto_rawDesc = "" + + "\n" + + "\x13sl_bfd_common.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"9\n" + + "\vSLBfdRegMsg\x12*\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x16.service_layer.SLRegOpR\x04Oper\"L\n" + + "\x0eSLBfdRegMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\"\r\n" + + "\vSLBfdGetMsg\"\x9a\x03\n" + + "\x0eSLBfdGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12@\n" + + "\x1bMaxBfdSessionCfgPerSLBfdMsg\x18\x02 \x01(\rR\x1bMaxBfdSessionCfgPerSLBfdMsg\x12<\n" + + "\x19MinBfdTxIntervalSingleHop\x18\x03 \x01(\rR\x19MinBfdTxIntervalSingleHop\x12:\n" + + "\x18MinBfdTxIntervalMultiHop\x18\x04 \x01(\rR\x18MinBfdTxIntervalMultiHop\x12H\n" + + "\x1fMinBfdDetectMultiplierSingleHop\x18\x05 \x01(\rR\x1fMinBfdDetectMultiplierSingleHop\x12F\n" + + "\x1eMinBfdDetectMultiplierMultiHop\x18\x06 \x01(\rR\x1eMinBfdDetectMultiplierMultiHop\"\x85\x01\n" + + "\x13SLBfdGetStatsMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x16\n" + + "\x06SeqNum\x18\x02 \x01(\x04R\x06SeqNum\x12\x1a\n" + + "\bBfdCount\x18\x03 \x01(\rR\bBfdCount\"\x12\n" + + "\x10SLBfdGetNotifMsg\"k\n" + + "\x11SLBfdConfigCommon\x12*\n" + + "\x10DesiredTxIntUsec\x18\x01 \x01(\rR\x10DesiredTxIntUsec\x12*\n" + + "\x10DetectMultiplier\x18\x02 \x01(\rR\x10DetectMultiplier\"\xe9\x04\n" + + "\x10SLBfdCommonState\x12\x16\n" + + "\x06SeqNum\x18\x01 \x01(\x04R\x06SeqNum\x12F\n" + + "\x06Status\x18\x02 \x01(\x0e2..service_layer.SLBfdCommonState.SLBfdStateEnumR\x06Status\x12F\n" + + "\x04Diag\x18\x03 \x01(\x0e22.service_layer.SLBfdCommonState.SLBfdDiagStateEnumR\x04Diag\"\x80\x01\n" + + "\x0eSLBfdStateEnum\x12 \n" + + "\x1cSL_BFD_SESSION_STATE_UNKNOWN\x10\x00\x12\x15\n" + + "\x11SL_BFD_SESSION_UP\x10\x01\x12\x17\n" + + "\x13SL_BFD_SESSION_DOWN\x10\x02\x12\x1c\n" + + "\x18SL_BFD_NEIGHBOR_UNCONFIG\x10\x03\"\xa9\x02\n" + + "\x12SLBfdDiagStateEnum\x12\x14\n" + + "\x10SL_BFD_DIAG_NONE\x10\x00\x12\x1e\n" + + "\x1aSL_BFD_DIAG_DETECT_EXPIRED\x10\x01\x12\x18\n" + + "\x14SL_BFD_DIAG_NBR_DOWN\x10\x02\x12\x19\n" + + "\x15SL_BFD_DIAG_PATH_DOWN\x10\x03\x12\"\n" + + "\x1eSL_BFD_DIAG_FWDING_PLANE_RESET\x10\x04\x12\x1a\n" + + "\x16SL_BFD_DIAG_ADMIN_DOWN\x10\x05\x12\"\n" + + "\x1eSL_BFD_DIAG_REV_CONC_PATH_DOWN\x10\x06\x12$\n" + + " SL_BFD_DIAG_ECHO_FUNCTION_FAILED\x10\a\x12\x1e\n" + + "\x1aSL_BFD_DIAG_CONC_PATH_DOWN\x10\b*M\n" + + "\tSLBfdType\x12\x13\n" + + "\x0fSL_BFD_RESERVED\x10\x00\x12\x15\n" + + "\x11SL_BFD_SINGLE_HOP\x10\x01\x12\x14\n" + + "\x10SL_BFD_MULTI_HOP\x10\x02*r\n" + + "\x0eSLBfdNotifType\x12\x1e\n" + + "\x1aSL_BFD_EVENT_TYPE_RESERVED\x10\x00\x12\x1b\n" + + "\x17SL_BFD_EVENT_TYPE_ERROR\x10\x01\x12#\n" + + "\x1fSL_BFD_EVENT_TYPE_SESSION_STATE\x10\x02BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_bfd_common_proto_rawDescOnce sync.Once - file_sl_bfd_common_proto_rawDescData = file_sl_bfd_common_proto_rawDesc + file_sl_bfd_common_proto_rawDescData []byte ) func file_sl_bfd_common_proto_rawDescGZIP() []byte { file_sl_bfd_common_proto_rawDescOnce.Do(func() { - file_sl_bfd_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_bfd_common_proto_rawDescData) + file_sl_bfd_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_bfd_common_proto_rawDesc), len(file_sl_bfd_common_proto_rawDesc))) }) return file_sl_bfd_common_proto_rawDescData } var file_sl_bfd_common_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_sl_bfd_common_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_sl_bfd_common_proto_goTypes = []interface{}{ +var file_sl_bfd_common_proto_goTypes = []any{ (SLBfdType)(0), // 0: service_layer.SLBfdType (SLBfdNotifType)(0), // 1: service_layer.SLBfdNotifType (SLBfdCommonState_SLBfdStateEnum)(0), // 2: service_layer.SLBfdCommonState.SLBfdStateEnum @@ -918,109 +832,11 @@ func file_sl_bfd_common_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_bfd_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdRegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdGetStatsMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdGetNotifMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdConfigCommon); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdCommonState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_bfd_common_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_bfd_common_proto_rawDesc), len(file_sl_bfd_common_proto_rawDesc)), NumEnums: 4, NumMessages: 8, NumExtensions: 0, @@ -1032,7 +848,6 @@ func file_sl_bfd_common_proto_init() { MessageInfos: file_sl_bfd_common_proto_msgTypes, }.Build() File_sl_bfd_common_proto = out.File - file_sl_bfd_common_proto_rawDesc = nil file_sl_bfd_common_proto_goTypes = nil file_sl_bfd_common_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_bfd_ipv4.pb.go b/grpc/go/src/gengo/sl_bfd_ipv4.pb.go index 4c269da8..4eaee554 100644 --- a/grpc/go/src/gengo/sl_bfd_ipv4.pb.go +++ b/grpc/go/src/gengo/sl_bfd_ipv4.pb.go @@ -12,8 +12,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_bfd_ipv4.proto package service_layer @@ -23,6 +23,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -34,10 +35,7 @@ const ( // BFD unique key identifier. type SLBfdv4Key struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD Session Type Type SLBfdType `protobuf:"varint,1,opt,name=Type,proto3,enum=service_layer.SLBfdType" json:"Type,omitempty"` // VRF name. @@ -47,16 +45,16 @@ type SLBfdv4Key struct { // Interface name and handle, needed for single-hop BFD Interface *SLInterface `protobuf:"bytes,4,opt,name=Interface,proto3" json:"Interface,omitempty"` // Source Ipv4 address, needed for multi-hop BFD - SourceAddr uint32 `protobuf:"varint,5,opt,name=SourceAddr,proto3" json:"SourceAddr,omitempty"` + SourceAddr uint32 `protobuf:"varint,5,opt,name=SourceAddr,proto3" json:"SourceAddr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4Key) Reset() { *x = SLBfdv4Key{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4Key) String() string { @@ -67,7 +65,7 @@ func (*SLBfdv4Key) ProtoMessage() {} func (x *SLBfdv4Key) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -119,23 +117,20 @@ func (x *SLBfdv4Key) GetSourceAddr() uint32 { // BFD session information. type SLBfdv4SessionCfg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD unique key identifier. Key *SLBfdv4Key `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // BFD common features. - Config *SLBfdConfigCommon `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"` + Config *SLBfdConfigCommon `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4SessionCfg) Reset() { *x = SLBfdv4SessionCfg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4SessionCfg) String() string { @@ -146,7 +141,7 @@ func (*SLBfdv4SessionCfg) ProtoMessage() {} func (x *SLBfdv4SessionCfg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -177,23 +172,20 @@ func (x *SLBfdv4SessionCfg) GetConfig() *SLBfdConfigCommon { // Contains a List of BFD session objects. type SLBfdv4Msg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // List of BFD session objects - Sessions []*SLBfdv4SessionCfg `protobuf:"bytes,2,rep,name=Sessions,proto3" json:"Sessions,omitempty"` + Sessions []*SLBfdv4SessionCfg `protobuf:"bytes,2,rep,name=Sessions,proto3" json:"Sessions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4Msg) Reset() { *x = SLBfdv4Msg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4Msg) String() string { @@ -204,7 +196,7 @@ func (*SLBfdv4Msg) ProtoMessage() {} func (x *SLBfdv4Msg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -235,23 +227,20 @@ func (x *SLBfdv4Msg) GetSessions() []*SLBfdv4SessionCfg { // BFD result type SLBfdv4Res struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // BFD unique key. - Key *SLBfdv4Key `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + Key *SLBfdv4Key `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4Res) Reset() { *x = SLBfdv4Res{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4Res) String() string { @@ -262,7 +251,7 @@ func (*SLBfdv4Res) ProtoMessage() {} func (x *SLBfdv4Res) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -293,10 +282,7 @@ func (x *SLBfdv4Res) GetKey() *SLBfdv4Key { // BFD bulk result type SLBfdv4MsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -309,16 +295,16 @@ type SLBfdv4MsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLBfdv4Res `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLBfdv4Res `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4MsgRsp) Reset() { *x = SLBfdv4MsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4MsgRsp) String() string { @@ -329,7 +315,7 @@ func (*SLBfdv4MsgRsp) ProtoMessage() {} func (x *SLBfdv4MsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -360,10 +346,7 @@ func (x *SLBfdv4MsgRsp) GetResults() []*SLBfdv4Res { // BFD Get Message type SLBfdv4GetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD key. // If the Key is not specified, then request up to the first // 'EntriesCount' entries. @@ -380,16 +363,16 @@ type SLBfdv4GetMsg struct { // If GetNext is TRUE, or if the key exact match is not found: // // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,4,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,4,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4GetMsg) Reset() { *x = SLBfdv4GetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4GetMsg) String() string { @@ -400,7 +383,7 @@ func (*SLBfdv4GetMsg) ProtoMessage() {} func (x *SLBfdv4GetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -445,25 +428,22 @@ func (x *SLBfdv4GetMsg) GetGetNext() bool { // BFD Session Config and State info type SLBfdv4SessionCfgState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD unique key identifier. Key *SLBfdv4Key `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // BFD common features. Config *SLBfdConfigCommon `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"` // BFD session State - State *SLBfdCommonState `protobuf:"bytes,3,opt,name=State,proto3" json:"State,omitempty"` + State *SLBfdCommonState `protobuf:"bytes,3,opt,name=State,proto3" json:"State,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4SessionCfgState) Reset() { *x = SLBfdv4SessionCfgState{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4SessionCfgState) String() string { @@ -474,7 +454,7 @@ func (*SLBfdv4SessionCfgState) ProtoMessage() {} func (x *SLBfdv4SessionCfgState) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -512,10 +492,7 @@ func (x *SLBfdv4SessionCfgState) GetState() *SLBfdCommonState { // BFD Get Message Response type SLBfdv4GetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. @@ -524,16 +501,16 @@ type SLBfdv4GetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if Error is SL_SUCCESS, Entries contains the info requested - Entries []*SLBfdv4SessionCfgState `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLBfdv4SessionCfgState `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4GetMsgRsp) Reset() { *x = SLBfdv4GetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4GetMsgRsp) String() string { @@ -544,7 +521,7 @@ func (*SLBfdv4GetMsgRsp) ProtoMessage() {} func (x *SLBfdv4GetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -582,23 +559,20 @@ func (x *SLBfdv4GetMsgRsp) GetEntries() []*SLBfdv4SessionCfgState { // BFD Session and State info type SLBfdv4SessionState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD unique key identifier. Key *SLBfdv4Key `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // BFD session State - State *SLBfdCommonState `protobuf:"bytes,2,opt,name=State,proto3" json:"State,omitempty"` + State *SLBfdCommonState `protobuf:"bytes,2,opt,name=State,proto3" json:"State,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4SessionState) Reset() { *x = SLBfdv4SessionState{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4SessionState) String() string { @@ -609,7 +583,7 @@ func (*SLBfdv4SessionState) ProtoMessage() {} func (x *SLBfdv4SessionState) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -640,28 +614,25 @@ func (x *SLBfdv4SessionState) GetState() *SLBfdCommonState { // BFD Session and State info Message type SLBfdv4Notif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Event Type EventType SLBfdNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=service_layer.SLBfdNotifType" json:"EventType,omitempty"` // Further info based on EventType // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLBfdv4Notif_ErrStatus // *SLBfdv4Notif_Session - Event isSLBfdv4Notif_Event `protobuf_oneof:"Event"` + Event isSLBfdv4Notif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv4Notif) Reset() { *x = SLBfdv4Notif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv4_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv4_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv4Notif) String() string { @@ -672,7 +643,7 @@ func (*SLBfdv4Notif) ProtoMessage() {} func (x *SLBfdv4Notif) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv4_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -694,23 +665,27 @@ func (x *SLBfdv4Notif) GetEventType() SLBfdNotifType { return SLBfdNotifType_SL_BFD_EVENT_TYPE_RESERVED } -func (m *SLBfdv4Notif) GetEvent() isSLBfdv4Notif_Event { - if m != nil { - return m.Event +func (x *SLBfdv4Notif) GetEvent() isSLBfdv4Notif_Event { + if x != nil { + return x.Event } return nil } func (x *SLBfdv4Notif) GetErrStatus() *SLErrorStatus { - if x, ok := x.GetEvent().(*SLBfdv4Notif_ErrStatus); ok { - return x.ErrStatus + if x != nil { + if x, ok := x.Event.(*SLBfdv4Notif_ErrStatus); ok { + return x.ErrStatus + } } return nil } func (x *SLBfdv4Notif) GetSession() *SLBfdv4SessionState { - if x, ok := x.GetEvent().(*SLBfdv4Notif_Session); ok { - return x.Session + if x != nil { + if x, ok := x.Event.(*SLBfdv4Notif_Session); ok { + return x.Session + } } return nil } @@ -740,161 +715,76 @@ func (*SLBfdv4Notif_Session) isSLBfdv4Notif_Event() {} var File_sl_bfd_ipv4_proto protoreflect.FileDescriptor -var file_sl_bfd_ipv4_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x73, 0x6c, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x13, 0x73, 0x6c, 0x5f, 0x62, 0x66, - 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, - 0x01, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 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, 0x42, 0x66, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 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, 0x18, 0x0a, 0x07, 0x4e, 0x62, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x4e, 0x62, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x38, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 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, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x7a, 0x0a, 0x11, 0x53, 0x4c, 0x42, - 0x66, 0x64, 0x76, 0x34, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x12, 0x2b, - 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x42, 0x66, - 0x64, 0x76, 0x34, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x06, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x42, 0x66, - 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x06, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x79, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x3c, 0x0a, 0x08, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x52, 0x08, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x75, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x2b, 0x0a, 0x03, 0x4b, 0x65, - 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4b, - 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x76, 0x34, 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, 0x33, 0x0a, - 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x42, 0x66, 0x64, 0x76, 0x34, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x76, 0x34, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, - 0x38, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x3a, 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, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x22, 0x79, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x4b, - 0x65, 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x34, - 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 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, 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, - 0xd2, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x12, 0x3b, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x3e, 0x0a, 0x07, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x66, 0x64, 0x76, 0x34, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x32, 0xee, 0x03, 0x0a, 0x0b, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, - 0x4f, 0x70, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x52, - 0x65, 0x67, 0x4f, 0x70, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x42, 0x66, 0x64, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, - 0x47, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x47, 0x65, 0x74, 0x12, 0x1a, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x47, - 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x76, 0x34, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, - 0x64, 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, 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x15, 0x53, - 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, - 0x4d, 0x73, 0x67, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x12, 0x52, 0x0a, 0x11, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x34, 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, -} +const file_sl_bfd_ipv4_proto_rawDesc = "" + + "\n" + + "\x11sl_bfd_ipv4.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x13sl_bfd_common.proto\"\xc8\x01\n" + + "\n" + + "SLBfdv4Key\x12,\n" + + "\x04Type\x18\x01 \x01(\x0e2\x18.service_layer.SLBfdTypeR\x04Type\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12\x18\n" + + "\aNbrAddr\x18\x03 \x01(\rR\aNbrAddr\x128\n" + + "\tInterface\x18\x04 \x01(\v2\x1a.service_layer.SLInterfaceR\tInterface\x12\x1e\n" + + "\n" + + "SourceAddr\x18\x05 \x01(\rR\n" + + "SourceAddr\"z\n" + + "\x11SLBfdv4SessionCfg\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv4KeyR\x03Key\x128\n" + + "\x06Config\x18\x02 \x01(\v2 .service_layer.SLBfdConfigCommonR\x06Config\"y\n" + + "\n" + + "SLBfdv4Msg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12<\n" + + "\bSessions\x18\x02 \x03(\v2 .service_layer.SLBfdv4SessionCfgR\bSessions\"u\n" + + "\n" + + "SLBfdv4Res\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12+\n" + + "\x03Key\x18\x02 \x01(\v2\x19.service_layer.SLBfdv4KeyR\x03Key\"\x88\x01\n" + + "\rSLBfdv4MsgRsp\x12B\n" + + "\rStatusSummary\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x123\n" + + "\aResults\x18\x02 \x03(\v2\x19.service_layer.SLBfdv4ResR\aResults\"\x92\x01\n" + + "\rSLBfdv4GetMsg\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv4KeyR\x03Key\x12\x16\n" + + "\x06SeqNum\x18\x02 \x01(\x04R\x06SeqNum\x12\"\n" + + "\fEntriesCount\x18\x03 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x04 \x01(\bR\aGetNext\"\xb6\x01\n" + + "\x16SLBfdv4SessionCfgState\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv4KeyR\x03Key\x128\n" + + "\x06Config\x18\x02 \x01(\v2 .service_layer.SLBfdConfigCommonR\x06Config\x125\n" + + "\x05State\x18\x03 \x01(\v2\x1f.service_layer.SLBfdCommonStateR\x05State\"\xa1\x01\n" + + "\x10SLBfdv4GetMsgRsp\x12\x10\n" + + "\x03Eof\x18\x01 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12?\n" + + "\aEntries\x18\x03 \x03(\v2%.service_layer.SLBfdv4SessionCfgStateR\aEntries\"y\n" + + "\x13SLBfdv4SessionState\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv4KeyR\x03Key\x125\n" + + "\x05State\x18\x02 \x01(\v2\x1f.service_layer.SLBfdCommonStateR\x05State\"\xd2\x01\n" + + "\fSLBfdv4Notif\x12;\n" + + "\tEventType\x18\x01 \x01(\x0e2\x1d.service_layer.SLBfdNotifTypeR\tEventType\x12<\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\tErrStatus\x12>\n" + + "\aSession\x18\x03 \x01(\v2\".service_layer.SLBfdv4SessionStateH\x00R\aSessionB\a\n" + + "\x05Event2\xee\x03\n" + + "\vSLBfdv4Oper\x12I\n" + + "\fSLBfdv4RegOp\x12\x1a.service_layer.SLBfdRegMsg\x1a\x1d.service_layer.SLBfdRegMsgRsp\x12G\n" + + "\n" + + "SLBfdv4Get\x12\x1a.service_layer.SLBfdGetMsg\x1a\x1d.service_layer.SLBfdGetMsgRsp\x12Q\n" + + "\x0fSLBfdv4GetStats\x12\x1a.service_layer.SLBfdGetMsg\x1a\".service_layer.SLBfdGetStatsMsgRsp\x12W\n" + + "\x15SLBfdv4GetNotifStream\x12\x1f.service_layer.SLBfdGetNotifMsg\x1a\x1b.service_layer.SLBfdv4Notif0\x01\x12K\n" + + "\x10SLBfdv4SessionOp\x12\x19.service_layer.SLBfdv4Msg\x1a\x1c.service_layer.SLBfdv4MsgRsp\x12R\n" + + "\x11SLBfdv4SessionGet\x12\x1c.service_layer.SLBfdv4GetMsg\x1a\x1f.service_layer.SLBfdv4GetMsgRspBQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_bfd_ipv4_proto_rawDescOnce sync.Once - file_sl_bfd_ipv4_proto_rawDescData = file_sl_bfd_ipv4_proto_rawDesc + file_sl_bfd_ipv4_proto_rawDescData []byte ) func file_sl_bfd_ipv4_proto_rawDescGZIP() []byte { file_sl_bfd_ipv4_proto_rawDescOnce.Do(func() { - file_sl_bfd_ipv4_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_bfd_ipv4_proto_rawDescData) + file_sl_bfd_ipv4_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_bfd_ipv4_proto_rawDesc), len(file_sl_bfd_ipv4_proto_rawDesc))) }) return file_sl_bfd_ipv4_proto_rawDescData } var file_sl_bfd_ipv4_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_sl_bfd_ipv4_proto_goTypes = []interface{}{ +var file_sl_bfd_ipv4_proto_goTypes = []any{ (*SLBfdv4Key)(nil), // 0: service_layer.SLBfdv4Key (*SLBfdv4SessionCfg)(nil), // 1: service_layer.SLBfdv4SessionCfg (*SLBfdv4Msg)(nil), // 2: service_layer.SLBfdv4Msg @@ -967,129 +857,7 @@ func file_sl_bfd_ipv4_proto_init() { } file_sl_common_types_proto_init() file_sl_bfd_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_bfd_ipv4_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4Key); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4SessionCfg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4Msg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4Res); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4MsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4GetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4SessionCfgState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4GetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4SessionState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv4_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv4Notif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_bfd_ipv4_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_sl_bfd_ipv4_proto_msgTypes[9].OneofWrappers = []any{ (*SLBfdv4Notif_ErrStatus)(nil), (*SLBfdv4Notif_Session)(nil), } @@ -1097,7 +865,7 @@ func file_sl_bfd_ipv4_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_bfd_ipv4_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_bfd_ipv4_proto_rawDesc), len(file_sl_bfd_ipv4_proto_rawDesc)), NumEnums: 0, NumMessages: 10, NumExtensions: 0, @@ -1108,7 +876,6 @@ func file_sl_bfd_ipv4_proto_init() { MessageInfos: file_sl_bfd_ipv4_proto_msgTypes, }.Build() File_sl_bfd_ipv4_proto = out.File - file_sl_bfd_ipv4_proto_rawDesc = nil file_sl_bfd_ipv4_proto_goTypes = nil file_sl_bfd_ipv4_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_bfd_ipv4_grpc.pb.go b/grpc/go/src/gengo/sl_bfd_ipv4_grpc.pb.go index 36c2bb00..f4127b62 100644 --- a/grpc/go/src/gengo/sl_bfd_ipv4_grpc.pb.go +++ b/grpc/go/src/gengo/sl_bfd_ipv4_grpc.pb.go @@ -1,7 +1,19 @@ +// @file +// @brief Client RPC proto file for BFD RPCs. +// Declares calls for adding, deleting, updating, and getting the BFD +// sessions. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_bfd_ipv4.proto package service_layer @@ -15,12 +27,27 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLBfdv4Oper_SLBfdv4RegOp_FullMethodName = "/service_layer.SLBfdv4Oper/SLBfdv4RegOp" + SLBfdv4Oper_SLBfdv4Get_FullMethodName = "/service_layer.SLBfdv4Oper/SLBfdv4Get" + SLBfdv4Oper_SLBfdv4GetStats_FullMethodName = "/service_layer.SLBfdv4Oper/SLBfdv4GetStats" + SLBfdv4Oper_SLBfdv4GetNotifStream_FullMethodName = "/service_layer.SLBfdv4Oper/SLBfdv4GetNotifStream" + SLBfdv4Oper_SLBfdv4SessionOp_FullMethodName = "/service_layer.SLBfdv4Oper/SLBfdv4SessionOp" + SLBfdv4Oper_SLBfdv4SessionGet_FullMethodName = "/service_layer.SLBfdv4Oper/SLBfdv4SessionGet" +) // SLBfdv4OperClient is the client API for SLBfdv4Oper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLBfdIPv4Oper +// @ingroup BFD +// Used for IPv4 BFD registrations, and BFD session operations and notifications. +// Defines the RPC for adding, deleting, updating, and retrieving BFD sessions. +// @{ type SLBfdv4OperClient interface { // SLBfdRegMsg.Oper = SL_REGOP_REGISTER: // @@ -63,7 +90,7 @@ type SLBfdv4OperClient interface { // This call can be used to get "push" notifications for session states. // It is advised that the caller register for notifications before any // sessions are created to avoid any loss of notifications. - SLBfdv4GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (SLBfdv4Oper_SLBfdv4GetNotifStreamClient, error) + SLBfdv4GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLBfdv4Notif], error) // SLBfdv4Msg.Oper = SL_OBJOP_ADD: // // Add one or multiple BFD sessions. @@ -90,8 +117,9 @@ func NewSLBfdv4OperClient(cc grpc.ClientConnInterface) SLBfdv4OperClient { } func (c *sLBfdv4OperClient) SLBfdv4RegOp(ctx context.Context, in *SLBfdRegMsg, opts ...grpc.CallOption) (*SLBfdRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv4Oper/SLBfdv4RegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv4Oper_SLBfdv4RegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -99,8 +127,9 @@ func (c *sLBfdv4OperClient) SLBfdv4RegOp(ctx context.Context, in *SLBfdRegMsg, o } func (c *sLBfdv4OperClient) SLBfdv4Get(ctx context.Context, in *SLBfdGetMsg, opts ...grpc.CallOption) (*SLBfdGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv4Oper/SLBfdv4Get", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv4Oper_SLBfdv4Get_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -108,20 +137,22 @@ func (c *sLBfdv4OperClient) SLBfdv4Get(ctx context.Context, in *SLBfdGetMsg, opt } func (c *sLBfdv4OperClient) SLBfdv4GetStats(ctx context.Context, in *SLBfdGetMsg, opts ...grpc.CallOption) (*SLBfdGetStatsMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdGetStatsMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv4Oper/SLBfdv4GetStats", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv4Oper_SLBfdv4GetStats_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLBfdv4OperClient) SLBfdv4GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (SLBfdv4Oper_SLBfdv4GetNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLBfdv4Oper_ServiceDesc.Streams[0], "/service_layer.SLBfdv4Oper/SLBfdv4GetNotifStream", opts...) +func (c *sLBfdv4OperClient) SLBfdv4GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLBfdv4Notif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLBfdv4Oper_ServiceDesc.Streams[0], SLBfdv4Oper_SLBfdv4GetNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLBfdv4OperSLBfdv4GetNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLBfdGetNotifMsg, SLBfdv4Notif]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -131,26 +162,13 @@ func (c *sLBfdv4OperClient) SLBfdv4GetNotifStream(ctx context.Context, in *SLBfd return x, nil } -type SLBfdv4Oper_SLBfdv4GetNotifStreamClient interface { - Recv() (*SLBfdv4Notif, error) - grpc.ClientStream -} - -type sLBfdv4OperSLBfdv4GetNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLBfdv4OperSLBfdv4GetNotifStreamClient) Recv() (*SLBfdv4Notif, error) { - m := new(SLBfdv4Notif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBfdv4Oper_SLBfdv4GetNotifStreamClient = grpc.ServerStreamingClient[SLBfdv4Notif] func (c *sLBfdv4OperClient) SLBfdv4SessionOp(ctx context.Context, in *SLBfdv4Msg, opts ...grpc.CallOption) (*SLBfdv4MsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdv4MsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv4Oper/SLBfdv4SessionOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv4Oper_SLBfdv4SessionOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -158,8 +176,9 @@ func (c *sLBfdv4OperClient) SLBfdv4SessionOp(ctx context.Context, in *SLBfdv4Msg } func (c *sLBfdv4OperClient) SLBfdv4SessionGet(ctx context.Context, in *SLBfdv4GetMsg, opts ...grpc.CallOption) (*SLBfdv4GetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdv4GetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv4Oper/SLBfdv4SessionGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv4Oper_SLBfdv4SessionGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -168,7 +187,13 @@ func (c *sLBfdv4OperClient) SLBfdv4SessionGet(ctx context.Context, in *SLBfdv4Ge // SLBfdv4OperServer is the server API for SLBfdv4Oper service. // All implementations must embed UnimplementedSLBfdv4OperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLBfdIPv4Oper +// @ingroup BFD +// Used for IPv4 BFD registrations, and BFD session operations and notifications. +// Defines the RPC for adding, deleting, updating, and retrieving BFD sessions. +// @{ type SLBfdv4OperServer interface { // SLBfdRegMsg.Oper = SL_REGOP_REGISTER: // @@ -211,7 +236,7 @@ type SLBfdv4OperServer interface { // This call can be used to get "push" notifications for session states. // It is advised that the caller register for notifications before any // sessions are created to avoid any loss of notifications. - SLBfdv4GetNotifStream(*SLBfdGetNotifMsg, SLBfdv4Oper_SLBfdv4GetNotifStreamServer) error + SLBfdv4GetNotifStream(*SLBfdGetNotifMsg, grpc.ServerStreamingServer[SLBfdv4Notif]) error // SLBfdv4Msg.Oper = SL_OBJOP_ADD: // // Add one or multiple BFD sessions. @@ -230,9 +255,12 @@ type SLBfdv4OperServer interface { mustEmbedUnimplementedSLBfdv4OperServer() } -// UnimplementedSLBfdv4OperServer must be embedded to have forward compatible implementations. -type UnimplementedSLBfdv4OperServer struct { -} +// UnimplementedSLBfdv4OperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLBfdv4OperServer struct{} func (UnimplementedSLBfdv4OperServer) SLBfdv4RegOp(context.Context, *SLBfdRegMsg) (*SLBfdRegMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLBfdv4RegOp not implemented") @@ -243,7 +271,7 @@ func (UnimplementedSLBfdv4OperServer) SLBfdv4Get(context.Context, *SLBfdGetMsg) func (UnimplementedSLBfdv4OperServer) SLBfdv4GetStats(context.Context, *SLBfdGetMsg) (*SLBfdGetStatsMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLBfdv4GetStats not implemented") } -func (UnimplementedSLBfdv4OperServer) SLBfdv4GetNotifStream(*SLBfdGetNotifMsg, SLBfdv4Oper_SLBfdv4GetNotifStreamServer) error { +func (UnimplementedSLBfdv4OperServer) SLBfdv4GetNotifStream(*SLBfdGetNotifMsg, grpc.ServerStreamingServer[SLBfdv4Notif]) error { return status.Errorf(codes.Unimplemented, "method SLBfdv4GetNotifStream not implemented") } func (UnimplementedSLBfdv4OperServer) SLBfdv4SessionOp(context.Context, *SLBfdv4Msg) (*SLBfdv4MsgRsp, error) { @@ -253,6 +281,7 @@ func (UnimplementedSLBfdv4OperServer) SLBfdv4SessionGet(context.Context, *SLBfdv return nil, status.Errorf(codes.Unimplemented, "method SLBfdv4SessionGet not implemented") } func (UnimplementedSLBfdv4OperServer) mustEmbedUnimplementedSLBfdv4OperServer() {} +func (UnimplementedSLBfdv4OperServer) testEmbeddedByValue() {} // UnsafeSLBfdv4OperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLBfdv4OperServer will @@ -262,6 +291,13 @@ type UnsafeSLBfdv4OperServer interface { } func RegisterSLBfdv4OperServer(s grpc.ServiceRegistrar, srv SLBfdv4OperServer) { + // If the following call pancis, it indicates UnimplementedSLBfdv4OperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLBfdv4Oper_ServiceDesc, srv) } @@ -275,7 +311,7 @@ func _SLBfdv4Oper_SLBfdv4RegOp_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv4Oper/SLBfdv4RegOp", + FullMethod: SLBfdv4Oper_SLBfdv4RegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv4OperServer).SLBfdv4RegOp(ctx, req.(*SLBfdRegMsg)) @@ -293,7 +329,7 @@ func _SLBfdv4Oper_SLBfdv4Get_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv4Oper/SLBfdv4Get", + FullMethod: SLBfdv4Oper_SLBfdv4Get_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv4OperServer).SLBfdv4Get(ctx, req.(*SLBfdGetMsg)) @@ -311,7 +347,7 @@ func _SLBfdv4Oper_SLBfdv4GetStats_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv4Oper/SLBfdv4GetStats", + FullMethod: SLBfdv4Oper_SLBfdv4GetStats_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv4OperServer).SLBfdv4GetStats(ctx, req.(*SLBfdGetMsg)) @@ -324,21 +360,11 @@ func _SLBfdv4Oper_SLBfdv4GetNotifStream_Handler(srv interface{}, stream grpc.Ser if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLBfdv4OperServer).SLBfdv4GetNotifStream(m, &sLBfdv4OperSLBfdv4GetNotifStreamServer{stream}) + return srv.(SLBfdv4OperServer).SLBfdv4GetNotifStream(m, &grpc.GenericServerStream[SLBfdGetNotifMsg, SLBfdv4Notif]{ServerStream: stream}) } -type SLBfdv4Oper_SLBfdv4GetNotifStreamServer interface { - Send(*SLBfdv4Notif) error - grpc.ServerStream -} - -type sLBfdv4OperSLBfdv4GetNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLBfdv4OperSLBfdv4GetNotifStreamServer) Send(m *SLBfdv4Notif) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBfdv4Oper_SLBfdv4GetNotifStreamServer = grpc.ServerStreamingServer[SLBfdv4Notif] func _SLBfdv4Oper_SLBfdv4SessionOp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SLBfdv4Msg) @@ -350,7 +376,7 @@ func _SLBfdv4Oper_SLBfdv4SessionOp_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv4Oper/SLBfdv4SessionOp", + FullMethod: SLBfdv4Oper_SLBfdv4SessionOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv4OperServer).SLBfdv4SessionOp(ctx, req.(*SLBfdv4Msg)) @@ -368,7 +394,7 @@ func _SLBfdv4Oper_SLBfdv4SessionGet_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv4Oper/SLBfdv4SessionGet", + FullMethod: SLBfdv4Oper_SLBfdv4SessionGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv4OperServer).SLBfdv4SessionGet(ctx, req.(*SLBfdv4GetMsg)) diff --git a/grpc/go/src/gengo/sl_bfd_ipv6.pb.go b/grpc/go/src/gengo/sl_bfd_ipv6.pb.go index 92a6052e..2ec84e3a 100644 --- a/grpc/go/src/gengo/sl_bfd_ipv6.pb.go +++ b/grpc/go/src/gengo/sl_bfd_ipv6.pb.go @@ -12,8 +12,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_bfd_ipv6.proto package service_layer @@ -23,6 +23,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -34,10 +35,7 @@ const ( // BFD unique key identifier. type SLBfdv6Key struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD Session Type Type SLBfdType `protobuf:"varint,1,opt,name=Type,proto3,enum=service_layer.SLBfdType" json:"Type,omitempty"` // VRF name. @@ -47,16 +45,16 @@ type SLBfdv6Key struct { // Interface name and handle, needed for single-hop BFD Interface *SLInterface `protobuf:"bytes,4,opt,name=Interface,proto3" json:"Interface,omitempty"` // Source Ipv6 address, needed for multi-hop BFD - SourceAddr []byte `protobuf:"bytes,5,opt,name=SourceAddr,proto3" json:"SourceAddr,omitempty"` + SourceAddr []byte `protobuf:"bytes,5,opt,name=SourceAddr,proto3" json:"SourceAddr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6Key) Reset() { *x = SLBfdv6Key{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6Key) String() string { @@ -67,7 +65,7 @@ func (*SLBfdv6Key) ProtoMessage() {} func (x *SLBfdv6Key) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -119,23 +117,20 @@ func (x *SLBfdv6Key) GetSourceAddr() []byte { // BFD session information. type SLBfdv6SessionCfg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD unique key identifier. Key *SLBfdv6Key `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // BFD common features. - Config *SLBfdConfigCommon `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"` + Config *SLBfdConfigCommon `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6SessionCfg) Reset() { *x = SLBfdv6SessionCfg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6SessionCfg) String() string { @@ -146,7 +141,7 @@ func (*SLBfdv6SessionCfg) ProtoMessage() {} func (x *SLBfdv6SessionCfg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -177,23 +172,20 @@ func (x *SLBfdv6SessionCfg) GetConfig() *SLBfdConfigCommon { // Contains a List of BFD session objects. type SLBfdv6Msg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // List of BFD session objects - Sessions []*SLBfdv6SessionCfg `protobuf:"bytes,2,rep,name=Sessions,proto3" json:"Sessions,omitempty"` + Sessions []*SLBfdv6SessionCfg `protobuf:"bytes,2,rep,name=Sessions,proto3" json:"Sessions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6Msg) Reset() { *x = SLBfdv6Msg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6Msg) String() string { @@ -204,7 +196,7 @@ func (*SLBfdv6Msg) ProtoMessage() {} func (x *SLBfdv6Msg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -235,23 +227,20 @@ func (x *SLBfdv6Msg) GetSessions() []*SLBfdv6SessionCfg { // BFD result type SLBfdv6Res struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // BFD unique key. - Key *SLBfdv6Key `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + Key *SLBfdv6Key `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6Res) Reset() { *x = SLBfdv6Res{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6Res) String() string { @@ -262,7 +251,7 @@ func (*SLBfdv6Res) ProtoMessage() {} func (x *SLBfdv6Res) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -293,10 +282,7 @@ func (x *SLBfdv6Res) GetKey() *SLBfdv6Key { // BFD bulk result type SLBfdv6MsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -309,16 +295,16 @@ type SLBfdv6MsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLBfdv6Res `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLBfdv6Res `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6MsgRsp) Reset() { *x = SLBfdv6MsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6MsgRsp) String() string { @@ -329,7 +315,7 @@ func (*SLBfdv6MsgRsp) ProtoMessage() {} func (x *SLBfdv6MsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -360,10 +346,7 @@ func (x *SLBfdv6MsgRsp) GetResults() []*SLBfdv6Res { // BFD Get Message type SLBfdv6GetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD key. // If the Key is not specified, then request up to the first // 'EntriesCount' entries. @@ -380,16 +363,16 @@ type SLBfdv6GetMsg struct { // If GetNext is TRUE, or if the key exact match is not found: // // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,4,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,4,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6GetMsg) Reset() { *x = SLBfdv6GetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6GetMsg) String() string { @@ -400,7 +383,7 @@ func (*SLBfdv6GetMsg) ProtoMessage() {} func (x *SLBfdv6GetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -445,25 +428,22 @@ func (x *SLBfdv6GetMsg) GetGetNext() bool { // BFD Session Config and State info type SLBfdv6SessionCfgState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD unique key identifier. Key *SLBfdv6Key `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // BFD common features. Config *SLBfdConfigCommon `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"` // BFD session State - State *SLBfdCommonState `protobuf:"bytes,3,opt,name=State,proto3" json:"State,omitempty"` + State *SLBfdCommonState `protobuf:"bytes,3,opt,name=State,proto3" json:"State,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6SessionCfgState) Reset() { *x = SLBfdv6SessionCfgState{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6SessionCfgState) String() string { @@ -474,7 +454,7 @@ func (*SLBfdv6SessionCfgState) ProtoMessage() {} func (x *SLBfdv6SessionCfgState) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -512,10 +492,7 @@ func (x *SLBfdv6SessionCfgState) GetState() *SLBfdCommonState { // BFD Get Message Response type SLBfdv6GetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. @@ -524,16 +501,16 @@ type SLBfdv6GetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if Error is SL_SUCCESS, Entries contains the info requested - Entries []*SLBfdv6SessionCfgState `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLBfdv6SessionCfgState `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6GetMsgRsp) Reset() { *x = SLBfdv6GetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6GetMsgRsp) String() string { @@ -544,7 +521,7 @@ func (*SLBfdv6GetMsgRsp) ProtoMessage() {} func (x *SLBfdv6GetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -582,23 +559,20 @@ func (x *SLBfdv6GetMsgRsp) GetEntries() []*SLBfdv6SessionCfgState { // BFD Session and State info type SLBfdv6SessionState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BFD unique key identifier. Key *SLBfdv6Key `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // BFD session State - State *SLBfdCommonState `protobuf:"bytes,2,opt,name=State,proto3" json:"State,omitempty"` + State *SLBfdCommonState `protobuf:"bytes,2,opt,name=State,proto3" json:"State,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6SessionState) Reset() { *x = SLBfdv6SessionState{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6SessionState) String() string { @@ -609,7 +583,7 @@ func (*SLBfdv6SessionState) ProtoMessage() {} func (x *SLBfdv6SessionState) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -640,28 +614,25 @@ func (x *SLBfdv6SessionState) GetState() *SLBfdCommonState { // BFD Session and State info Message type SLBfdv6Notif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Event Type EventType SLBfdNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=service_layer.SLBfdNotifType" json:"EventType,omitempty"` // Further info based on EventType // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLBfdv6Notif_ErrStatus // *SLBfdv6Notif_Session - Event isSLBfdv6Notif_Event `protobuf_oneof:"Event"` + Event isSLBfdv6Notif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBfdv6Notif) Reset() { *x = SLBfdv6Notif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bfd_ipv6_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bfd_ipv6_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBfdv6Notif) String() string { @@ -672,7 +643,7 @@ func (*SLBfdv6Notif) ProtoMessage() {} func (x *SLBfdv6Notif) ProtoReflect() protoreflect.Message { mi := &file_sl_bfd_ipv6_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -694,23 +665,27 @@ func (x *SLBfdv6Notif) GetEventType() SLBfdNotifType { return SLBfdNotifType_SL_BFD_EVENT_TYPE_RESERVED } -func (m *SLBfdv6Notif) GetEvent() isSLBfdv6Notif_Event { - if m != nil { - return m.Event +func (x *SLBfdv6Notif) GetEvent() isSLBfdv6Notif_Event { + if x != nil { + return x.Event } return nil } func (x *SLBfdv6Notif) GetErrStatus() *SLErrorStatus { - if x, ok := x.GetEvent().(*SLBfdv6Notif_ErrStatus); ok { - return x.ErrStatus + if x != nil { + if x, ok := x.Event.(*SLBfdv6Notif_ErrStatus); ok { + return x.ErrStatus + } } return nil } func (x *SLBfdv6Notif) GetSession() *SLBfdv6SessionState { - if x, ok := x.GetEvent().(*SLBfdv6Notif_Session); ok { - return x.Session + if x != nil { + if x, ok := x.Event.(*SLBfdv6Notif_Session); ok { + return x.Session + } } return nil } @@ -740,161 +715,76 @@ func (*SLBfdv6Notif_Session) isSLBfdv6Notif_Event() {} var File_sl_bfd_ipv6_proto protoreflect.FileDescriptor -var file_sl_bfd_ipv6_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x73, 0x6c, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x13, 0x73, 0x6c, 0x5f, 0x62, 0x66, - 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, - 0x01, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 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, 0x42, 0x66, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 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, 0x18, 0x0a, 0x07, 0x4e, 0x62, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x4e, 0x62, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x38, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 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, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0x7a, 0x0a, 0x11, 0x53, 0x4c, 0x42, - 0x66, 0x64, 0x76, 0x36, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x12, 0x2b, - 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x42, 0x66, - 0x64, 0x76, 0x36, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x06, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x42, 0x66, - 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x06, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x79, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x3c, 0x0a, 0x08, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x52, 0x08, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x75, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x2b, 0x0a, 0x03, 0x4b, 0x65, - 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4b, - 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x76, 0x36, 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, 0x33, 0x0a, - 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x42, 0x66, 0x64, 0x76, 0x36, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x76, 0x36, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, - 0x38, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x3a, 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, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x66, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x22, 0x79, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x4b, - 0x65, 0x79, 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, 0x42, 0x66, 0x64, 0x76, 0x36, - 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 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, 0x42, 0x66, 0x64, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, - 0xd2, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x12, 0x3b, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x3e, 0x0a, 0x07, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x66, 0x64, 0x76, 0x36, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x32, 0xee, 0x03, 0x0a, 0x0b, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, - 0x4f, 0x70, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x52, - 0x65, 0x67, 0x4f, 0x70, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 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, 0x42, 0x66, 0x64, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, - 0x47, 0x0a, 0x0a, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x47, 0x65, 0x74, 0x12, 0x1a, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x47, - 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x66, - 0x64, 0x76, 0x36, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, - 0x64, 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, 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x15, 0x53, - 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, - 0x4d, 0x73, 0x67, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x12, 0x52, 0x0a, 0x11, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x66, 0x64, 0x76, 0x36, 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, -} +const file_sl_bfd_ipv6_proto_rawDesc = "" + + "\n" + + "\x11sl_bfd_ipv6.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x13sl_bfd_common.proto\"\xc8\x01\n" + + "\n" + + "SLBfdv6Key\x12,\n" + + "\x04Type\x18\x01 \x01(\x0e2\x18.service_layer.SLBfdTypeR\x04Type\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12\x18\n" + + "\aNbrAddr\x18\x03 \x01(\fR\aNbrAddr\x128\n" + + "\tInterface\x18\x04 \x01(\v2\x1a.service_layer.SLInterfaceR\tInterface\x12\x1e\n" + + "\n" + + "SourceAddr\x18\x05 \x01(\fR\n" + + "SourceAddr\"z\n" + + "\x11SLBfdv6SessionCfg\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv6KeyR\x03Key\x128\n" + + "\x06Config\x18\x02 \x01(\v2 .service_layer.SLBfdConfigCommonR\x06Config\"y\n" + + "\n" + + "SLBfdv6Msg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12<\n" + + "\bSessions\x18\x02 \x03(\v2 .service_layer.SLBfdv6SessionCfgR\bSessions\"u\n" + + "\n" + + "SLBfdv6Res\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12+\n" + + "\x03Key\x18\x02 \x01(\v2\x19.service_layer.SLBfdv6KeyR\x03Key\"\x88\x01\n" + + "\rSLBfdv6MsgRsp\x12B\n" + + "\rStatusSummary\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x123\n" + + "\aResults\x18\x02 \x03(\v2\x19.service_layer.SLBfdv6ResR\aResults\"\x92\x01\n" + + "\rSLBfdv6GetMsg\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv6KeyR\x03Key\x12\x16\n" + + "\x06SeqNum\x18\x02 \x01(\x04R\x06SeqNum\x12\"\n" + + "\fEntriesCount\x18\x03 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x04 \x01(\bR\aGetNext\"\xb6\x01\n" + + "\x16SLBfdv6SessionCfgState\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv6KeyR\x03Key\x128\n" + + "\x06Config\x18\x02 \x01(\v2 .service_layer.SLBfdConfigCommonR\x06Config\x125\n" + + "\x05State\x18\x03 \x01(\v2\x1f.service_layer.SLBfdCommonStateR\x05State\"\xa1\x01\n" + + "\x10SLBfdv6GetMsgRsp\x12\x10\n" + + "\x03Eof\x18\x01 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12?\n" + + "\aEntries\x18\x03 \x03(\v2%.service_layer.SLBfdv6SessionCfgStateR\aEntries\"y\n" + + "\x13SLBfdv6SessionState\x12+\n" + + "\x03Key\x18\x01 \x01(\v2\x19.service_layer.SLBfdv6KeyR\x03Key\x125\n" + + "\x05State\x18\x02 \x01(\v2\x1f.service_layer.SLBfdCommonStateR\x05State\"\xd2\x01\n" + + "\fSLBfdv6Notif\x12;\n" + + "\tEventType\x18\x01 \x01(\x0e2\x1d.service_layer.SLBfdNotifTypeR\tEventType\x12<\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\tErrStatus\x12>\n" + + "\aSession\x18\x03 \x01(\v2\".service_layer.SLBfdv6SessionStateH\x00R\aSessionB\a\n" + + "\x05Event2\xee\x03\n" + + "\vSLBfdv6Oper\x12I\n" + + "\fSLBfdv6RegOp\x12\x1a.service_layer.SLBfdRegMsg\x1a\x1d.service_layer.SLBfdRegMsgRsp\x12G\n" + + "\n" + + "SLBfdv6Get\x12\x1a.service_layer.SLBfdGetMsg\x1a\x1d.service_layer.SLBfdGetMsgRsp\x12Q\n" + + "\x0fSLBfdv6GetStats\x12\x1a.service_layer.SLBfdGetMsg\x1a\".service_layer.SLBfdGetStatsMsgRsp\x12W\n" + + "\x15SLBfdv6GetNotifStream\x12\x1f.service_layer.SLBfdGetNotifMsg\x1a\x1b.service_layer.SLBfdv6Notif0\x01\x12K\n" + + "\x10SLBfdv6SessionOp\x12\x19.service_layer.SLBfdv6Msg\x1a\x1c.service_layer.SLBfdv6MsgRsp\x12R\n" + + "\x11SLBfdv6SessionGet\x12\x1c.service_layer.SLBfdv6GetMsg\x1a\x1f.service_layer.SLBfdv6GetMsgRspBQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_bfd_ipv6_proto_rawDescOnce sync.Once - file_sl_bfd_ipv6_proto_rawDescData = file_sl_bfd_ipv6_proto_rawDesc + file_sl_bfd_ipv6_proto_rawDescData []byte ) func file_sl_bfd_ipv6_proto_rawDescGZIP() []byte { file_sl_bfd_ipv6_proto_rawDescOnce.Do(func() { - file_sl_bfd_ipv6_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_bfd_ipv6_proto_rawDescData) + file_sl_bfd_ipv6_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_bfd_ipv6_proto_rawDesc), len(file_sl_bfd_ipv6_proto_rawDesc))) }) return file_sl_bfd_ipv6_proto_rawDescData } var file_sl_bfd_ipv6_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_sl_bfd_ipv6_proto_goTypes = []interface{}{ +var file_sl_bfd_ipv6_proto_goTypes = []any{ (*SLBfdv6Key)(nil), // 0: service_layer.SLBfdv6Key (*SLBfdv6SessionCfg)(nil), // 1: service_layer.SLBfdv6SessionCfg (*SLBfdv6Msg)(nil), // 2: service_layer.SLBfdv6Msg @@ -967,129 +857,7 @@ func file_sl_bfd_ipv6_proto_init() { } file_sl_common_types_proto_init() file_sl_bfd_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_bfd_ipv6_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6Key); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6SessionCfg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6Msg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6Res); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6MsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6GetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6SessionCfgState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6GetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6SessionState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bfd_ipv6_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBfdv6Notif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_bfd_ipv6_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_sl_bfd_ipv6_proto_msgTypes[9].OneofWrappers = []any{ (*SLBfdv6Notif_ErrStatus)(nil), (*SLBfdv6Notif_Session)(nil), } @@ -1097,7 +865,7 @@ func file_sl_bfd_ipv6_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_bfd_ipv6_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_bfd_ipv6_proto_rawDesc), len(file_sl_bfd_ipv6_proto_rawDesc)), NumEnums: 0, NumMessages: 10, NumExtensions: 0, @@ -1108,7 +876,6 @@ func file_sl_bfd_ipv6_proto_init() { MessageInfos: file_sl_bfd_ipv6_proto_msgTypes, }.Build() File_sl_bfd_ipv6_proto = out.File - file_sl_bfd_ipv6_proto_rawDesc = nil file_sl_bfd_ipv6_proto_goTypes = nil file_sl_bfd_ipv6_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_bfd_ipv6_grpc.pb.go b/grpc/go/src/gengo/sl_bfd_ipv6_grpc.pb.go index 851b8800..8b467fa3 100644 --- a/grpc/go/src/gengo/sl_bfd_ipv6_grpc.pb.go +++ b/grpc/go/src/gengo/sl_bfd_ipv6_grpc.pb.go @@ -1,7 +1,19 @@ +// @file +// @brief Client RPC proto file for BFD RPCs. +// Declares calls for adding, deleting, updating, and getting the BFD +// sessions. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_bfd_ipv6.proto package service_layer @@ -15,12 +27,27 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLBfdv6Oper_SLBfdv6RegOp_FullMethodName = "/service_layer.SLBfdv6Oper/SLBfdv6RegOp" + SLBfdv6Oper_SLBfdv6Get_FullMethodName = "/service_layer.SLBfdv6Oper/SLBfdv6Get" + SLBfdv6Oper_SLBfdv6GetStats_FullMethodName = "/service_layer.SLBfdv6Oper/SLBfdv6GetStats" + SLBfdv6Oper_SLBfdv6GetNotifStream_FullMethodName = "/service_layer.SLBfdv6Oper/SLBfdv6GetNotifStream" + SLBfdv6Oper_SLBfdv6SessionOp_FullMethodName = "/service_layer.SLBfdv6Oper/SLBfdv6SessionOp" + SLBfdv6Oper_SLBfdv6SessionGet_FullMethodName = "/service_layer.SLBfdv6Oper/SLBfdv6SessionGet" +) // SLBfdv6OperClient is the client API for SLBfdv6Oper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLBfdIPv6Oper +// @ingroup BFD +// Used for IPv6 BFD registrations, and BFD session operations and notifications. +// Defines the RPC for adding, deleting, updating, and retrieving BFD sessions. +// @{ type SLBfdv6OperClient interface { // SLBfdRegMsg.Oper = SL_REGOP_REGISTER: // @@ -63,7 +90,7 @@ type SLBfdv6OperClient interface { // This call can be used to get "push" notifications for session states. // It is advised that the caller register for notifications before any // sessions are created to avoid any loss of notifications. - SLBfdv6GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (SLBfdv6Oper_SLBfdv6GetNotifStreamClient, error) + SLBfdv6GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLBfdv6Notif], error) // SLBfdv6Msg.Oper = SL_OBJOP_ADD: // // Add one or multiple BFD sessions. @@ -90,8 +117,9 @@ func NewSLBfdv6OperClient(cc grpc.ClientConnInterface) SLBfdv6OperClient { } func (c *sLBfdv6OperClient) SLBfdv6RegOp(ctx context.Context, in *SLBfdRegMsg, opts ...grpc.CallOption) (*SLBfdRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv6Oper/SLBfdv6RegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv6Oper_SLBfdv6RegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -99,8 +127,9 @@ func (c *sLBfdv6OperClient) SLBfdv6RegOp(ctx context.Context, in *SLBfdRegMsg, o } func (c *sLBfdv6OperClient) SLBfdv6Get(ctx context.Context, in *SLBfdGetMsg, opts ...grpc.CallOption) (*SLBfdGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv6Oper/SLBfdv6Get", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv6Oper_SLBfdv6Get_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -108,20 +137,22 @@ func (c *sLBfdv6OperClient) SLBfdv6Get(ctx context.Context, in *SLBfdGetMsg, opt } func (c *sLBfdv6OperClient) SLBfdv6GetStats(ctx context.Context, in *SLBfdGetMsg, opts ...grpc.CallOption) (*SLBfdGetStatsMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdGetStatsMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv6Oper/SLBfdv6GetStats", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv6Oper_SLBfdv6GetStats_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLBfdv6OperClient) SLBfdv6GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (SLBfdv6Oper_SLBfdv6GetNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLBfdv6Oper_ServiceDesc.Streams[0], "/service_layer.SLBfdv6Oper/SLBfdv6GetNotifStream", opts...) +func (c *sLBfdv6OperClient) SLBfdv6GetNotifStream(ctx context.Context, in *SLBfdGetNotifMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLBfdv6Notif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLBfdv6Oper_ServiceDesc.Streams[0], SLBfdv6Oper_SLBfdv6GetNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLBfdv6OperSLBfdv6GetNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLBfdGetNotifMsg, SLBfdv6Notif]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -131,26 +162,13 @@ func (c *sLBfdv6OperClient) SLBfdv6GetNotifStream(ctx context.Context, in *SLBfd return x, nil } -type SLBfdv6Oper_SLBfdv6GetNotifStreamClient interface { - Recv() (*SLBfdv6Notif, error) - grpc.ClientStream -} - -type sLBfdv6OperSLBfdv6GetNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLBfdv6OperSLBfdv6GetNotifStreamClient) Recv() (*SLBfdv6Notif, error) { - m := new(SLBfdv6Notif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBfdv6Oper_SLBfdv6GetNotifStreamClient = grpc.ServerStreamingClient[SLBfdv6Notif] func (c *sLBfdv6OperClient) SLBfdv6SessionOp(ctx context.Context, in *SLBfdv6Msg, opts ...grpc.CallOption) (*SLBfdv6MsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdv6MsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv6Oper/SLBfdv6SessionOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv6Oper_SLBfdv6SessionOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -158,8 +176,9 @@ func (c *sLBfdv6OperClient) SLBfdv6SessionOp(ctx context.Context, in *SLBfdv6Msg } func (c *sLBfdv6OperClient) SLBfdv6SessionGet(ctx context.Context, in *SLBfdv6GetMsg, opts ...grpc.CallOption) (*SLBfdv6GetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLBfdv6GetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLBfdv6Oper/SLBfdv6SessionGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLBfdv6Oper_SLBfdv6SessionGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -168,7 +187,13 @@ func (c *sLBfdv6OperClient) SLBfdv6SessionGet(ctx context.Context, in *SLBfdv6Ge // SLBfdv6OperServer is the server API for SLBfdv6Oper service. // All implementations must embed UnimplementedSLBfdv6OperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLBfdIPv6Oper +// @ingroup BFD +// Used for IPv6 BFD registrations, and BFD session operations and notifications. +// Defines the RPC for adding, deleting, updating, and retrieving BFD sessions. +// @{ type SLBfdv6OperServer interface { // SLBfdRegMsg.Oper = SL_REGOP_REGISTER: // @@ -211,7 +236,7 @@ type SLBfdv6OperServer interface { // This call can be used to get "push" notifications for session states. // It is advised that the caller register for notifications before any // sessions are created to avoid any loss of notifications. - SLBfdv6GetNotifStream(*SLBfdGetNotifMsg, SLBfdv6Oper_SLBfdv6GetNotifStreamServer) error + SLBfdv6GetNotifStream(*SLBfdGetNotifMsg, grpc.ServerStreamingServer[SLBfdv6Notif]) error // SLBfdv6Msg.Oper = SL_OBJOP_ADD: // // Add one or multiple BFD sessions. @@ -230,9 +255,12 @@ type SLBfdv6OperServer interface { mustEmbedUnimplementedSLBfdv6OperServer() } -// UnimplementedSLBfdv6OperServer must be embedded to have forward compatible implementations. -type UnimplementedSLBfdv6OperServer struct { -} +// UnimplementedSLBfdv6OperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLBfdv6OperServer struct{} func (UnimplementedSLBfdv6OperServer) SLBfdv6RegOp(context.Context, *SLBfdRegMsg) (*SLBfdRegMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLBfdv6RegOp not implemented") @@ -243,7 +271,7 @@ func (UnimplementedSLBfdv6OperServer) SLBfdv6Get(context.Context, *SLBfdGetMsg) func (UnimplementedSLBfdv6OperServer) SLBfdv6GetStats(context.Context, *SLBfdGetMsg) (*SLBfdGetStatsMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLBfdv6GetStats not implemented") } -func (UnimplementedSLBfdv6OperServer) SLBfdv6GetNotifStream(*SLBfdGetNotifMsg, SLBfdv6Oper_SLBfdv6GetNotifStreamServer) error { +func (UnimplementedSLBfdv6OperServer) SLBfdv6GetNotifStream(*SLBfdGetNotifMsg, grpc.ServerStreamingServer[SLBfdv6Notif]) error { return status.Errorf(codes.Unimplemented, "method SLBfdv6GetNotifStream not implemented") } func (UnimplementedSLBfdv6OperServer) SLBfdv6SessionOp(context.Context, *SLBfdv6Msg) (*SLBfdv6MsgRsp, error) { @@ -253,6 +281,7 @@ func (UnimplementedSLBfdv6OperServer) SLBfdv6SessionGet(context.Context, *SLBfdv return nil, status.Errorf(codes.Unimplemented, "method SLBfdv6SessionGet not implemented") } func (UnimplementedSLBfdv6OperServer) mustEmbedUnimplementedSLBfdv6OperServer() {} +func (UnimplementedSLBfdv6OperServer) testEmbeddedByValue() {} // UnsafeSLBfdv6OperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLBfdv6OperServer will @@ -262,6 +291,13 @@ type UnsafeSLBfdv6OperServer interface { } func RegisterSLBfdv6OperServer(s grpc.ServiceRegistrar, srv SLBfdv6OperServer) { + // If the following call pancis, it indicates UnimplementedSLBfdv6OperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLBfdv6Oper_ServiceDesc, srv) } @@ -275,7 +311,7 @@ func _SLBfdv6Oper_SLBfdv6RegOp_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv6Oper/SLBfdv6RegOp", + FullMethod: SLBfdv6Oper_SLBfdv6RegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv6OperServer).SLBfdv6RegOp(ctx, req.(*SLBfdRegMsg)) @@ -293,7 +329,7 @@ func _SLBfdv6Oper_SLBfdv6Get_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv6Oper/SLBfdv6Get", + FullMethod: SLBfdv6Oper_SLBfdv6Get_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv6OperServer).SLBfdv6Get(ctx, req.(*SLBfdGetMsg)) @@ -311,7 +347,7 @@ func _SLBfdv6Oper_SLBfdv6GetStats_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv6Oper/SLBfdv6GetStats", + FullMethod: SLBfdv6Oper_SLBfdv6GetStats_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv6OperServer).SLBfdv6GetStats(ctx, req.(*SLBfdGetMsg)) @@ -324,21 +360,11 @@ func _SLBfdv6Oper_SLBfdv6GetNotifStream_Handler(srv interface{}, stream grpc.Ser if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLBfdv6OperServer).SLBfdv6GetNotifStream(m, &sLBfdv6OperSLBfdv6GetNotifStreamServer{stream}) + return srv.(SLBfdv6OperServer).SLBfdv6GetNotifStream(m, &grpc.GenericServerStream[SLBfdGetNotifMsg, SLBfdv6Notif]{ServerStream: stream}) } -type SLBfdv6Oper_SLBfdv6GetNotifStreamServer interface { - Send(*SLBfdv6Notif) error - grpc.ServerStream -} - -type sLBfdv6OperSLBfdv6GetNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLBfdv6OperSLBfdv6GetNotifStreamServer) Send(m *SLBfdv6Notif) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBfdv6Oper_SLBfdv6GetNotifStreamServer = grpc.ServerStreamingServer[SLBfdv6Notif] func _SLBfdv6Oper_SLBfdv6SessionOp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SLBfdv6Msg) @@ -350,7 +376,7 @@ func _SLBfdv6Oper_SLBfdv6SessionOp_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv6Oper/SLBfdv6SessionOp", + FullMethod: SLBfdv6Oper_SLBfdv6SessionOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv6OperServer).SLBfdv6SessionOp(ctx, req.(*SLBfdv6Msg)) @@ -368,7 +394,7 @@ func _SLBfdv6Oper_SLBfdv6SessionGet_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLBfdv6Oper/SLBfdv6SessionGet", + FullMethod: SLBfdv6Oper_SLBfdv6SessionGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLBfdv6OperServer).SLBfdv6SessionGet(ctx, req.(*SLBfdv6GetMsg)) diff --git a/grpc/go/src/gengo/sl_bgp.pb.go b/grpc/go/src/gengo/sl_bgp.pb.go index 7b70b09c..1248b561 100644 --- a/grpc/go/src/gengo/sl_bgp.pb.go +++ b/grpc/go/src/gengo/sl_bgp.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_bgp.proto package service_layer @@ -21,6 +21,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -343,10 +344,7 @@ func (SLBgpApiStateType) EnumDescriptor() ([]byte, []int) { // Message structures // This is filled in response. type SLBgpApiStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Oper Status in response message Status *SLErrorStatus `protobuf:"bytes,1,opt,name=Status,proto3" json:"Status,omitempty"` // SL BGP API Neighbor or object parameter state on the Server @@ -355,16 +353,16 @@ type SLBgpApiStatus struct { State SLBgpApiStateType `protobuf:"varint,2,opt,name=State,proto3,enum=service_layer.SLBgpApiStateType" json:"State,omitempty"` // Operation ID on SLBgpApiObjectReq message that performed // last UPDATE on the parameter. - OperationId uint64 `protobuf:"varint,3,opt,name=OperationId,proto3" json:"OperationId,omitempty"` + OperationId uint64 `protobuf:"varint,3,opt,name=OperationId,proto3" json:"OperationId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiStatus) Reset() { *x = SLBgpApiStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiStatus) String() string { @@ -375,7 +373,7 @@ func (*SLBgpApiStatus) ProtoMessage() {} func (x *SLBgpApiStatus) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -413,23 +411,20 @@ func (x *SLBgpApiStatus) GetOperationId() uint64 { // BGP AFI SAFI message type SLBgpAfiSafi struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP AFI Afi SLBgpAfi `protobuf:"varint,1,opt,name=Afi,proto3,enum=service_layer.SLBgpAfi" json:"Afi,omitempty"` // BGP SAFI - Safi SLBgpSafi `protobuf:"varint,2,opt,name=Safi,proto3,enum=service_layer.SLBgpSafi" json:"Safi,omitempty"` + Safi SLBgpSafi `protobuf:"varint,2,opt,name=Safi,proto3,enum=service_layer.SLBgpSafi" json:"Safi,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpAfiSafi) Reset() { *x = SLBgpAfiSafi{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpAfiSafi) String() string { @@ -440,7 +435,7 @@ func (*SLBgpAfiSafi) ProtoMessage() {} func (x *SLBgpAfiSafi) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -471,25 +466,22 @@ func (x *SLBgpAfiSafi) GetSafi() SLBgpSafi { // FRR IP address parameter along with status type SLBgpFrrInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Entry: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Entry: // // *SLBgpFrrInfo_Addr Entry isSLBgpFrrInfo_Entry `protobuf_oneof:"entry"` // Status in response or notification - ObjectStatus *SLBgpApiStatus `protobuf:"bytes,2,opt,name=ObjectStatus,proto3" json:"ObjectStatus,omitempty"` + ObjectStatus *SLBgpApiStatus `protobuf:"bytes,2,opt,name=ObjectStatus,proto3" json:"ObjectStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpFrrInfo) Reset() { *x = SLBgpFrrInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpFrrInfo) String() string { @@ -500,7 +492,7 @@ func (*SLBgpFrrInfo) ProtoMessage() {} func (x *SLBgpFrrInfo) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -515,16 +507,18 @@ func (*SLBgpFrrInfo) Descriptor() ([]byte, []int) { return file_sl_bgp_proto_rawDescGZIP(), []int{2} } -func (m *SLBgpFrrInfo) GetEntry() isSLBgpFrrInfo_Entry { - if m != nil { - return m.Entry +func (x *SLBgpFrrInfo) GetEntry() isSLBgpFrrInfo_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpFrrInfo) GetAddr() *SLIpAddress { - if x, ok := x.GetEntry().(*SLBgpFrrInfo_Addr); ok { - return x.Addr + if x != nil { + if x, ok := x.Entry.(*SLBgpFrrInfo_Addr); ok { + return x.Addr + } } return nil } @@ -549,10 +543,7 @@ func (*SLBgpFrrInfo_Addr) isSLBgpFrrInfo_Entry() {} // BGP bandwidth-id message for neighbor AfiSafi type SLBgpBwId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bandwidth-id number 1 to 8 BwId uint32 `protobuf:"varint,1,opt,name=BwId,proto3" json:"BwId,omitempty"` // If BwUnit is encoded @@ -565,16 +556,16 @@ type SLBgpBwId struct { // local ASN is used if not provided Asn uint32 `protobuf:"varint,4,opt,name=Asn,proto3" json:"Asn,omitempty"` // Status in response or notification - ObjectStatus *SLBgpApiStatus `protobuf:"bytes,5,opt,name=ObjectStatus,proto3" json:"ObjectStatus,omitempty"` + ObjectStatus *SLBgpApiStatus `protobuf:"bytes,5,opt,name=ObjectStatus,proto3" json:"ObjectStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpBwId) Reset() { *x = SLBgpBwId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpBwId) String() string { @@ -585,7 +576,7 @@ func (*SLBgpBwId) ProtoMessage() {} func (x *SLBgpBwId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -637,25 +628,22 @@ func (x *SLBgpBwId) GetObjectStatus() *SLBgpApiStatus { // BGP neighbor AfiSafi tunable parameters type SLBgpNeighborSafiParam struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of outbound bandwidth-ids OutBwIds []*SLBgpBwId `protobuf:"bytes,1,rep,name=OutBwIds,proto3" json:"OutBwIds,omitempty"` // List of inbound bandwidth-ids InBwIds []*SLBgpBwId `protobuf:"bytes,2,rep,name=InBwIds,proto3" json:"InBwIds,omitempty"` // FRR info of PER Link ECMP backup PerLinkMpathBkup *SLBgpFrrInfo `protobuf:"bytes,3,opt,name=PerLinkMpathBkup,proto3" json:"PerLinkMpathBkup,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpNeighborSafiParam) Reset() { *x = SLBgpNeighborSafiParam{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpNeighborSafiParam) String() string { @@ -666,7 +654,7 @@ func (*SLBgpNeighborSafiParam) ProtoMessage() {} func (x *SLBgpNeighborSafiParam) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -704,10 +692,7 @@ func (x *SLBgpNeighborSafiParam) GetPerLinkMpathBkup() *SLBgpFrrInfo { // BGP neighbor AfiSafi message type SLBgpNeighborSafiMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP AFI SAFI indetifier AfiSafi *SLBgpAfiSafi `protobuf:"bytes,1,opt,name=AfiSafi,proto3" json:"AfiSafi,omitempty"` // Set in the response and notification @@ -724,19 +709,19 @@ type SLBgpNeighborSafiMsg struct { // // ObjectStatus.OperationID is n/a ObjectStatus *SLBgpApiStatus `protobuf:"bytes,2,opt,name=ObjectStatus,proto3" json:"ObjectStatus,omitempty"` - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLBgpNeighborSafiMsg_SafiParam - Entry isSLBgpNeighborSafiMsg_Entry `protobuf_oneof:"entry"` + Entry isSLBgpNeighborSafiMsg_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpNeighborSafiMsg) Reset() { *x = SLBgpNeighborSafiMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpNeighborSafiMsg) String() string { @@ -747,7 +732,7 @@ func (*SLBgpNeighborSafiMsg) ProtoMessage() {} func (x *SLBgpNeighborSafiMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -776,16 +761,18 @@ func (x *SLBgpNeighborSafiMsg) GetObjectStatus() *SLBgpApiStatus { return nil } -func (m *SLBgpNeighborSafiMsg) GetEntry() isSLBgpNeighborSafiMsg_Entry { - if m != nil { - return m.Entry +func (x *SLBgpNeighborSafiMsg) GetEntry() isSLBgpNeighborSafiMsg_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpNeighborSafiMsg) GetSafiParam() *SLBgpNeighborSafiParam { - if x, ok := x.GetEntry().(*SLBgpNeighborSafiMsg_SafiParam); ok { - return x.SafiParam + if x != nil { + if x, ok := x.Entry.(*SLBgpNeighborSafiMsg_SafiParam); ok { + return x.SafiParam + } } return nil } @@ -803,21 +790,18 @@ func (*SLBgpNeighborSafiMsg_SafiParam) isSLBgpNeighborSafiMsg_Entry() {} // List of BGP neighbor AfiSafis under the neighbor type SLBgpNeighborSafiList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of neighbor AFI/SAFI in the message NeighborSafis []*SLBgpNeighborSafiMsg `protobuf:"bytes,1,rep,name=NeighborSafis,proto3" json:"NeighborSafis,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpNeighborSafiList) Reset() { *x = SLBgpNeighborSafiList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpNeighborSafiList) String() string { @@ -828,7 +812,7 @@ func (*SLBgpNeighborSafiList) ProtoMessage() {} func (x *SLBgpNeighborSafiList) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -852,23 +836,20 @@ func (x *SLBgpNeighborSafiList) GetNeighborSafis() []*SLBgpNeighborSafiMsg { // BGP neighbor key type SLBgpNeighborKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Neighbor IP Address - Address *SLIpAddress `protobuf:"bytes,2,opt,name=Address,proto3" json:"Address,omitempty"` + Address *SLIpAddress `protobuf:"bytes,2,opt,name=Address,proto3" json:"Address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpNeighborKey) Reset() { *x = SLBgpNeighborKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpNeighborKey) String() string { @@ -879,7 +860,7 @@ func (*SLBgpNeighborKey) ProtoMessage() {} func (x *SLBgpNeighborKey) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -910,10 +891,7 @@ func (x *SLBgpNeighborKey) GetAddress() *SLIpAddress { // BGP neighbor message type SLBgpNeighborMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP neighbor identifier NeighborKey *SLBgpNeighborKey `protobuf:"bytes,1,opt,name=NeighborKey,proto3" json:"NeighborKey,omitempty"` // Set in the response @@ -929,19 +907,19 @@ type SLBgpNeighborMsg struct { // // ObjectStatus.OperationID is n/a ObjectStatus *SLBgpApiStatus `protobuf:"bytes,2,opt,name=ObjectStatus,proto3" json:"ObjectStatus,omitempty"` - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLBgpNeighborMsg_NeighborSafiList - Entry isSLBgpNeighborMsg_Entry `protobuf_oneof:"entry"` + Entry isSLBgpNeighborMsg_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpNeighborMsg) Reset() { *x = SLBgpNeighborMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpNeighborMsg) String() string { @@ -952,7 +930,7 @@ func (*SLBgpNeighborMsg) ProtoMessage() {} func (x *SLBgpNeighborMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -981,16 +959,18 @@ func (x *SLBgpNeighborMsg) GetObjectStatus() *SLBgpApiStatus { return nil } -func (m *SLBgpNeighborMsg) GetEntry() isSLBgpNeighborMsg_Entry { - if m != nil { - return m.Entry +func (x *SLBgpNeighborMsg) GetEntry() isSLBgpNeighborMsg_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpNeighborMsg) GetNeighborSafiList() *SLBgpNeighborSafiList { - if x, ok := x.GetEntry().(*SLBgpNeighborMsg_NeighborSafiList); ok { - return x.NeighborSafiList + if x != nil { + if x, ok := x.Entry.(*SLBgpNeighborMsg_NeighborSafiList); ok { + return x.NeighborSafiList + } } return nil } @@ -1008,25 +988,22 @@ func (*SLBgpNeighborMsg_NeighborSafiList) isSLBgpNeighborMsg_Entry() {} // BGP object message type SLBgpApiObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SL BGP Object type on which operation is performed ObjectType SLBgpApiObjectType `protobuf:"varint,1,opt,name=ObjectType,proto3,enum=service_layer.SLBgpApiObjectType" json:"ObjectType,omitempty"` - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLBgpApiObject_Neighbor - Entry isSLBgpApiObject_Entry `protobuf_oneof:"entry"` + Entry isSLBgpApiObject_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiObject) Reset() { *x = SLBgpApiObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiObject) String() string { @@ -1037,7 +1014,7 @@ func (*SLBgpApiObject) ProtoMessage() {} func (x *SLBgpApiObject) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1059,16 +1036,18 @@ func (x *SLBgpApiObject) GetObjectType() SLBgpApiObjectType { return SLBgpApiObjectType_SL_BGP_API_RESERVED_OBJECT_TYPE } -func (m *SLBgpApiObject) GetEntry() isSLBgpApiObject_Entry { - if m != nil { - return m.Entry +func (x *SLBgpApiObject) GetEntry() isSLBgpApiObject_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpApiObject) GetNeighbor() *SLBgpNeighborMsg { - if x, ok := x.GetEntry().(*SLBgpApiObject_Neighbor); ok { - return x.Neighbor + if x != nil { + if x, ok := x.Entry.(*SLBgpApiObject_Neighbor); ok { + return x.Neighbor + } } return nil } @@ -1086,10 +1065,7 @@ func (*SLBgpApiObject_Neighbor) isSLBgpApiObject_Entry() {} // Response to BGP Object operation request type SLBgpApiObjectResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP Instance Name BgpInstanceName string `protobuf:"bytes,1,opt,name=BgpInstanceName,proto3" json:"BgpInstanceName,omitempty"` // Set in the response to indicate the summary of overall request: @@ -1111,15 +1087,15 @@ type SLBgpApiObjectResp struct { // SLBgpAPIobject on which operation is // performed with individual status BgpApiobjects []*SLBgpApiObject `protobuf:"bytes,3,rep,name=BgpApiobjects,proto3" json:"BgpApiobjects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiObjectResp) Reset() { *x = SLBgpApiObjectResp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiObjectResp) String() string { @@ -1130,7 +1106,7 @@ func (*SLBgpApiObjectResp) ProtoMessage() {} func (x *SLBgpApiObjectResp) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1168,10 +1144,7 @@ func (x *SLBgpApiObjectResp) GetBgpApiobjects() []*SLBgpApiObject { // Request to perform UPDATE and DELETE operation on BGP object parameters type SLBgpApiObjectReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Operation ID of the bulk transaction that performs modification of BGP objects. // This ID is generated by Client for each SLBgpApiObjectReq that can modify one or more BGP objects. // Each parameter is stored in the Server with Last operation ID that modified it. @@ -1200,15 +1173,15 @@ type SLBgpApiObjectReq struct { BgpInstanceName string `protobuf:"bytes,3,opt,name=BgpInstanceName,proto3" json:"BgpInstanceName,omitempty"` // Actual objects on which operation is performed BgpApiobjects []*SLBgpApiObject `protobuf:"bytes,4,rep,name=BgpApiobjects,proto3" json:"BgpApiobjects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiObjectReq) Reset() { *x = SLBgpApiObjectReq{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiObjectReq) String() string { @@ -1219,7 +1192,7 @@ func (*SLBgpApiObjectReq) ProtoMessage() {} func (x *SLBgpApiObjectReq) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1264,10 +1237,7 @@ func (x *SLBgpApiObjectReq) GetBgpApiobjects() []*SLBgpApiObject { // Get BGP Object response type SLBgpApiGetResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP Instance Name BgpInstanceName string `protobuf:"bytes,1,opt,name=BgpInstanceName,proto3" json:"BgpInstanceName,omitempty"` // End Of File. @@ -1281,15 +1251,15 @@ type SLBgpApiGetResp struct { // SLBgpAPIobjects with OperationId that last // performed operation on the object BgpApiobjects []*SLBgpApiObject `protobuf:"bytes,4,rep,name=BgpApiobjects,proto3" json:"BgpApiobjects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiGetResp) Reset() { *x = SLBgpApiGetResp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiGetResp) String() string { @@ -1300,7 +1270,7 @@ func (*SLBgpApiGetResp) ProtoMessage() {} func (x *SLBgpApiGetResp) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1361,30 +1331,27 @@ func (x *SLBgpApiGetResp) GetBgpApiobjects() []*SLBgpApiObject { // last responded object type and entry of the previous request. No ObjectType and key is required // in first GetNext for full DB retrieval. type SLBgpApiGetReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP Instance Name BgpInstanceName string `protobuf:"bytes,1,opt,name=BgpInstanceName,proto3" json:"BgpInstanceName,omitempty"` // BGP Object Type being queried (example Neighbors) ObjectType SLBgpApiObjectType `protobuf:"varint,2,opt,name=ObjectType,proto3,enum=service_layer.SLBgpApiObjectType" json:"ObjectType,omitempty"` - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLBgpApiGetReq_Neighbor Entry isSLBgpApiGetReq_Entry `protobuf_oneof:"entry"` // Number of entries requested - EntriesCount uint32 `protobuf:"varint,4,opt,name=EntriesCount,proto3" json:"EntriesCount,omitempty"` - GetNext bool `protobuf:"varint,5,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + EntriesCount uint32 `protobuf:"varint,4,opt,name=EntriesCount,proto3" json:"EntriesCount,omitempty"` + GetNext bool `protobuf:"varint,5,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiGetReq) Reset() { *x = SLBgpApiGetReq{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiGetReq) String() string { @@ -1395,7 +1362,7 @@ func (*SLBgpApiGetReq) ProtoMessage() {} func (x *SLBgpApiGetReq) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1424,16 +1391,18 @@ func (x *SLBgpApiGetReq) GetObjectType() SLBgpApiObjectType { return SLBgpApiObjectType_SL_BGP_API_RESERVED_OBJECT_TYPE } -func (m *SLBgpApiGetReq) GetEntry() isSLBgpApiGetReq_Entry { - if m != nil { - return m.Entry +func (x *SLBgpApiGetReq) GetEntry() isSLBgpApiGetReq_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpApiGetReq) GetNeighbor() *SLBgpNeighborKey { - if x, ok := x.GetEntry().(*SLBgpApiGetReq_Neighbor); ok { - return x.Neighbor + if x != nil { + if x, ok := x.Entry.(*SLBgpApiGetReq_Neighbor); ok { + return x.Neighbor + } } return nil } @@ -1465,18 +1434,16 @@ func (*SLBgpApiGetReq_Neighbor) isSLBgpApiGetReq_Entry() {} // Response message to SLBgpApiCap request type SLBgpApiCapResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiCapResp) Reset() { *x = SLBgpApiCapResp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiCapResp) String() string { @@ -1487,7 +1454,7 @@ func (*SLBgpApiCapResp) ProtoMessage() {} func (x *SLBgpApiCapResp) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1504,23 +1471,20 @@ func (*SLBgpApiCapResp) Descriptor() ([]byte, []int) { // Message to request SLBgpApi capability type SLBgpApiCapReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Entry: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Entry: // // *SLBgpApiCapReq_BgpInstanceName - Entry isSLBgpApiCapReq_Entry `protobuf_oneof:"entry"` + Entry isSLBgpApiCapReq_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiCapReq) Reset() { *x = SLBgpApiCapReq{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiCapReq) String() string { @@ -1531,7 +1495,7 @@ func (*SLBgpApiCapReq) ProtoMessage() {} func (x *SLBgpApiCapReq) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1546,16 +1510,18 @@ func (*SLBgpApiCapReq) Descriptor() ([]byte, []int) { return file_sl_bgp_proto_rawDescGZIP(), []int{15} } -func (m *SLBgpApiCapReq) GetEntry() isSLBgpApiCapReq_Entry { - if m != nil { - return m.Entry +func (x *SLBgpApiCapReq) GetEntry() isSLBgpApiCapReq_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpApiCapReq) GetBgpInstanceName() string { - if x, ok := x.GetEntry().(*SLBgpApiCapReq_BgpInstanceName); ok { - return x.BgpInstanceName + if x != nil { + if x, ok := x.Entry.(*SLBgpApiCapReq_BgpInstanceName); ok { + return x.BgpInstanceName + } } return "" } @@ -1573,10 +1539,7 @@ func (*SLBgpApiCapReq_BgpInstanceName) isSLBgpApiCapReq_Entry() {} // SL BGP API operations response type SLBgpApiMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -1584,21 +1547,21 @@ type SLBgpApiMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Response is corresponding to request message type // - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLBgpApiMsgRsp_BgpApiCapResp // *SLBgpApiMsgRsp_BgpApiGetResp // *SLBgpApiMsgRsp_BgpApiObjectResp - Entry isSLBgpApiMsgRsp_Entry `protobuf_oneof:"entry"` + Entry isSLBgpApiMsgRsp_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiMsgRsp) Reset() { *x = SLBgpApiMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiMsgRsp) String() string { @@ -1609,7 +1572,7 @@ func (*SLBgpApiMsgRsp) ProtoMessage() {} func (x *SLBgpApiMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1638,30 +1601,36 @@ func (x *SLBgpApiMsgRsp) GetErrStatus() *SLErrorStatus { return nil } -func (m *SLBgpApiMsgRsp) GetEntry() isSLBgpApiMsgRsp_Entry { - if m != nil { - return m.Entry +func (x *SLBgpApiMsgRsp) GetEntry() isSLBgpApiMsgRsp_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpApiMsgRsp) GetBgpApiCapResp() *SLBgpApiCapResp { - if x, ok := x.GetEntry().(*SLBgpApiMsgRsp_BgpApiCapResp); ok { - return x.BgpApiCapResp + if x != nil { + if x, ok := x.Entry.(*SLBgpApiMsgRsp_BgpApiCapResp); ok { + return x.BgpApiCapResp + } } return nil } func (x *SLBgpApiMsgRsp) GetBgpApiGetResp() *SLBgpApiGetResp { - if x, ok := x.GetEntry().(*SLBgpApiMsgRsp_BgpApiGetResp); ok { - return x.BgpApiGetResp + if x != nil { + if x, ok := x.Entry.(*SLBgpApiMsgRsp_BgpApiGetResp); ok { + return x.BgpApiGetResp + } } return nil } func (x *SLBgpApiMsgRsp) GetBgpApiObjectResp() *SLBgpApiObjectResp { - if x, ok := x.GetEntry().(*SLBgpApiMsgRsp_BgpApiObjectResp); ok { - return x.BgpApiObjectResp + if x != nil { + if x, ok := x.Entry.(*SLBgpApiMsgRsp_BgpApiObjectResp); ok { + return x.BgpApiObjectResp + } } return nil } @@ -1693,28 +1662,25 @@ func (*SLBgpApiMsgRsp_BgpApiObjectResp) isSLBgpApiMsgRsp_Entry() {} // Message requested by client type SLBgpApiMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLBgpApiMsg_BgpApiCapReq // *SLBgpApiMsg_BgpApiGetReq // *SLBgpApiMsg_BgpApiobjectReq - Entry isSLBgpApiMsg_Entry `protobuf_oneof:"entry"` + Entry isSLBgpApiMsg_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpApiMsg) Reset() { *x = SLBgpApiMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgp_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgp_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpApiMsg) String() string { @@ -1725,7 +1691,7 @@ func (*SLBgpApiMsg) ProtoMessage() {} func (x *SLBgpApiMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bgp_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1747,30 +1713,36 @@ func (x *SLBgpApiMsg) GetCorrelator() uint64 { return 0 } -func (m *SLBgpApiMsg) GetEntry() isSLBgpApiMsg_Entry { - if m != nil { - return m.Entry +func (x *SLBgpApiMsg) GetEntry() isSLBgpApiMsg_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLBgpApiMsg) GetBgpApiCapReq() *SLBgpApiCapReq { - if x, ok := x.GetEntry().(*SLBgpApiMsg_BgpApiCapReq); ok { - return x.BgpApiCapReq + if x != nil { + if x, ok := x.Entry.(*SLBgpApiMsg_BgpApiCapReq); ok { + return x.BgpApiCapReq + } } return nil } func (x *SLBgpApiMsg) GetBgpApiGetReq() *SLBgpApiGetReq { - if x, ok := x.GetEntry().(*SLBgpApiMsg_BgpApiGetReq); ok { - return x.BgpApiGetReq + if x != nil { + if x, ok := x.Entry.(*SLBgpApiMsg_BgpApiGetReq); ok { + return x.BgpApiGetReq + } } return nil } func (x *SLBgpApiMsg) GetBgpApiobjectReq() *SLBgpApiObjectReq { - if x, ok := x.GetEntry().(*SLBgpApiMsg_BgpApiobjectReq); ok { - return x.BgpApiobjectReq + if x != nil { + if x, ok := x.Entry.(*SLBgpApiMsg_BgpApiobjectReq); ok { + return x.BgpApiobjectReq + } } return nil } @@ -1802,275 +1774,135 @@ func (*SLBgpApiMsg_BgpApiobjectReq) isSLBgpApiMsg_Entry() {} var File_sl_bgp_proto protoreflect.FileDescriptor -var file_sl_bgp_proto_rawDesc = []byte{ - 0x0a, 0x0c, 0x73, 0x6c, 0x5f, 0x62, 0x67, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, - 0x73, 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, 0x22, 0xa0, 0x01, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x36, 0x0a, - 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x0c, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x66, 0x69, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x66, 0x69, 0x52, 0x03, 0x41, - 0x66, 0x69, 0x12, 0x2c, 0x0a, 0x04, 0x53, 0x61, 0x66, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x53, 0x61, 0x66, 0x69, 0x52, 0x04, 0x53, 0x61, 0x66, 0x69, - 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x46, 0x72, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x30, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 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, 0x48, 0x00, 0x52, 0x04, 0x41, - 0x64, 0x64, 0x72, 0x12, 0x41, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 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, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, - 0xc0, 0x01, 0x0a, 0x09, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x42, 0x77, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x42, 0x77, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x42, 0x77, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x77, 0x12, 0x32, 0x0a, 0x06, 0x42, 0x77, 0x55, - 0x6e, 0x69, 0x74, 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, 0x42, 0x67, 0x70, 0x42, - 0x77, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x06, 0x42, 0x77, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x41, 0x73, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x41, 0x73, 0x6e, 0x12, - 0x41, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, - 0x68, 0x62, 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x34, 0x0a, - 0x08, 0x4f, 0x75, 0x74, 0x42, 0x77, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x42, 0x77, 0x49, 0x64, 0x52, 0x08, 0x4f, 0x75, 0x74, 0x42, 0x77, - 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x49, 0x6e, 0x42, 0x77, 0x49, 0x64, 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, 0x42, 0x67, 0x70, 0x42, 0x77, 0x49, 0x64, 0x52, 0x07, - 0x49, 0x6e, 0x42, 0x77, 0x49, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x4c, 0x69, - 0x6e, 0x6b, 0x4d, 0x70, 0x61, 0x74, 0x68, 0x42, 0x6b, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x46, 0x72, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, - 0x50, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x70, 0x61, 0x74, 0x68, 0x42, 0x6b, 0x75, 0x70, - 0x22, 0xe0, 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, - 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x4d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x07, 0x41, 0x66, 0x69, - 0x53, 0x61, 0x66, 0x69, 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, 0x42, 0x67, 0x70, - 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x52, 0x07, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, - 0x12, 0x41, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 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, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x09, 0x53, 0x61, 0x66, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, - 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, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, - 0x68, 0x62, 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x48, 0x00, 0x52, - 0x09, 0x53, 0x61, 0x66, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x22, 0x62, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, - 0x68, 0x62, 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0d, - 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, - 0x72, 0x53, 0x61, 0x66, 0x69, 0x4d, 0x73, 0x67, 0x52, 0x0d, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, - 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x73, 0x22, 0x62, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 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, 0x34, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 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, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x10, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4d, 0x73, 0x67, - 0x12, 0x41, 0x0a, 0x0b, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4b, 0x65, 0x79, 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, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, - 0x62, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, - 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 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, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, - 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x61, - 0x66, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, - 0x6f, 0x72, 0x53, 0x61, 0x66, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x22, 0x9b, 0x01, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x4e, 0x65, 0x69, - 0x67, 0x68, 0x62, 0x6f, 0x72, 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, 0x42, 0x67, - 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x08, - 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x22, 0xc8, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x67, 0x70, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 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, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x42, - 0x67, 0x70, 0x41, 0x70, 0x69, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xd9, 0x01, 0x0a, - 0x11, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x67, 0x70, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x41, 0x70, 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f, - 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x0e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x0f, - 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x4e, 0x65, 0x69, - 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x08, - 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, - 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, - 0x11, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x43, 0x61, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x45, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x43, 0x61, - 0x70, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0f, 0x42, 0x67, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xd6, 0x02, 0x0a, 0x0e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 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, 0x3a, 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, 0x52, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x43, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x43, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x48, - 0x00, 0x52, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x43, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x46, 0x0a, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 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, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 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, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x48, 0x00, 0x52, 0x10, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x22, 0x8e, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 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, 0x43, 0x0a, 0x0c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x43, 0x61, 0x70, 0x52, - 0x65, 0x71, 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, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x43, 0x61, 0x70, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0c, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x43, 0x61, 0x70, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x0c, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0c, - 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x4c, 0x0a, 0x0f, - 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0f, 0x42, 0x67, 0x70, 0x41, 0x70, - 0x69, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2a, 0x5f, 0x0a, 0x0b, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x42, 0x77, 0x55, 0x6e, - 0x69, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x55, 0x4e, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, - 0x5f, 0x53, 0x45, 0x43, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x5f, 0x47, 0x49, 0x47, 0x41, 0x5f, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, - 0x45, 0x43, 0x10, 0x02, 0x2a, 0x4d, 0x0a, 0x08, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x66, 0x69, - 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x52, - 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x13, - 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x49, 0x50, 0x56, - 0x36, 0x10, 0x02, 0x2a, 0x3e, 0x0a, 0x09, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x53, 0x61, 0x66, 0x69, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x53, 0x41, 0x46, 0x49, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, - 0x54, 0x10, 0x01, 0x2a, 0x5e, 0x0a, 0x12, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, - 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x23, - 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4e, 0x45, 0x49, - 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x10, 0x01, 0x2a, 0x56, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x5f, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x4f, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x2a, 0x65, 0x0a, 0x11, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x46, - 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x52, 0x45, 0x46, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x02, 0x32, 0x54, 0x0a, 0x08, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x12, 0x48, - 0x0a, 0x07, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x4f, 0x70, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, - 0x70, 0x69, 0x4d, 0x73, 0x67, 0x1a, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x41, 0x70, 0x69, 0x4d, 0x73, - 0x67, 0x52, 0x73, 0x70, 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, -} +const file_sl_bgp_proto_rawDesc = "" + + "\n" + + "\fsl_bgp.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\xa0\x01\n" + + "\x0eSLBgpApiStatus\x124\n" + + "\x06Status\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\x06Status\x126\n" + + "\x05State\x18\x02 \x01(\x0e2 .service_layer.SLBgpApiStateTypeR\x05State\x12 \n" + + "\vOperationId\x18\x03 \x01(\x04R\vOperationId\"g\n" + + "\fSLBgpAfiSafi\x12)\n" + + "\x03Afi\x18\x01 \x01(\x0e2\x17.service_layer.SLBgpAfiR\x03Afi\x12,\n" + + "\x04Safi\x18\x02 \x01(\x0e2\x18.service_layer.SLBgpSafiR\x04Safi\"\x8c\x01\n" + + "\fSLBgpFrrInfo\x120\n" + + "\x04Addr\x18\x01 \x01(\v2\x1a.service_layer.SLIpAddressH\x00R\x04Addr\x12A\n" + + "\fObjectStatus\x18\x02 \x01(\v2\x1d.service_layer.SLBgpApiStatusR\fObjectStatusB\a\n" + + "\x05entry\"\xc0\x01\n" + + "\tSLBgpBwId\x12\x12\n" + + "\x04BwId\x18\x01 \x01(\rR\x04BwId\x12\x16\n" + + "\x06LinkBw\x18\x02 \x01(\x04R\x06LinkBw\x122\n" + + "\x06BwUnit\x18\x03 \x01(\x0e2\x1a.service_layer.SLBgpBwUnitR\x06BwUnit\x12\x10\n" + + "\x03Asn\x18\x04 \x01(\rR\x03Asn\x12A\n" + + "\fObjectStatus\x18\x05 \x01(\v2\x1d.service_layer.SLBgpApiStatusR\fObjectStatus\"\xcb\x01\n" + + "\x16SLBgpNeighborSafiParam\x124\n" + + "\bOutBwIds\x18\x01 \x03(\v2\x18.service_layer.SLBgpBwIdR\bOutBwIds\x122\n" + + "\aInBwIds\x18\x02 \x03(\v2\x18.service_layer.SLBgpBwIdR\aInBwIds\x12G\n" + + "\x10PerLinkMpathBkup\x18\x03 \x01(\v2\x1b.service_layer.SLBgpFrrInfoR\x10PerLinkMpathBkup\"\xe0\x01\n" + + "\x14SLBgpNeighborSafiMsg\x125\n" + + "\aAfiSafi\x18\x01 \x01(\v2\x1b.service_layer.SLBgpAfiSafiR\aAfiSafi\x12A\n" + + "\fObjectStatus\x18\x02 \x01(\v2\x1d.service_layer.SLBgpApiStatusR\fObjectStatus\x12E\n" + + "\tSafiParam\x18\x03 \x01(\v2%.service_layer.SLBgpNeighborSafiParamH\x00R\tSafiParamB\a\n" + + "\x05entry\"b\n" + + "\x15SLBgpNeighborSafiList\x12I\n" + + "\rNeighborSafis\x18\x01 \x03(\v2#.service_layer.SLBgpNeighborSafiMsgR\rNeighborSafis\"b\n" + + "\x10SLBgpNeighborKey\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x124\n" + + "\aAddress\x18\x02 \x01(\v2\x1a.service_layer.SLIpAddressR\aAddress\"\xf5\x01\n" + + "\x10SLBgpNeighborMsg\x12A\n" + + "\vNeighborKey\x18\x01 \x01(\v2\x1f.service_layer.SLBgpNeighborKeyR\vNeighborKey\x12A\n" + + "\fObjectStatus\x18\x02 \x01(\v2\x1d.service_layer.SLBgpApiStatusR\fObjectStatus\x12R\n" + + "\x10NeighborSafiList\x18\x03 \x01(\v2$.service_layer.SLBgpNeighborSafiListH\x00R\x10NeighborSafiListB\a\n" + + "\x05entry\"\x9b\x01\n" + + "\x0eSLBgpApiObject\x12A\n" + + "\n" + + "ObjectType\x18\x01 \x01(\x0e2!.service_layer.SLBgpApiObjectTypeR\n" + + "ObjectType\x12=\n" + + "\bNeighbor\x18\x02 \x01(\v2\x1f.service_layer.SLBgpNeighborMsgH\x00R\bNeighborB\a\n" + + "\x05entry\"\xc8\x01\n" + + "\x12SLBgpApiObjectResp\x12(\n" + + "\x0fBgpInstanceName\x18\x01 \x01(\tR\x0fBgpInstanceName\x12C\n" + + "\rStatusSummary\x18\x02 \x01(\v2\x1d.service_layer.SLBgpApiStatusR\rStatusSummary\x12C\n" + + "\rBgpApiobjects\x18\x03 \x03(\v2\x1d.service_layer.SLBgpApiObjectR\rBgpApiobjects\"\xd9\x01\n" + + "\x11SLBgpApiObjectReq\x12 \n" + + "\vOperationId\x18\x01 \x01(\x04R\vOperationId\x123\n" + + "\x04Oper\x18\x02 \x01(\x0e2\x1f.service_layer.SLBgpApiObjectOpR\x04Oper\x12(\n" + + "\x0fBgpInstanceName\x18\x03 \x01(\tR\x0fBgpInstanceName\x12C\n" + + "\rBgpApiobjects\x18\x04 \x03(\v2\x1d.service_layer.SLBgpApiObjectR\rBgpApiobjects\"\xce\x01\n" + + "\x0fSLBgpApiGetResp\x12(\n" + + "\x0fBgpInstanceName\x18\x01 \x01(\tR\x0fBgpInstanceName\x12\x10\n" + + "\x03Eof\x18\x02 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x03 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12C\n" + + "\rBgpApiobjects\x18\x04 \x03(\v2\x1d.service_layer.SLBgpApiObjectR\rBgpApiobjects\"\x83\x02\n" + + "\x0eSLBgpApiGetReq\x12(\n" + + "\x0fBgpInstanceName\x18\x01 \x01(\tR\x0fBgpInstanceName\x12A\n" + + "\n" + + "ObjectType\x18\x02 \x01(\x0e2!.service_layer.SLBgpApiObjectTypeR\n" + + "ObjectType\x12=\n" + + "\bNeighbor\x18\x03 \x01(\v2\x1f.service_layer.SLBgpNeighborKeyH\x00R\bNeighbor\x12\"\n" + + "\fEntriesCount\x18\x04 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x05 \x01(\bR\aGetNextB\a\n" + + "\x05entry\"\x11\n" + + "\x0fSLBgpApiCapResp\"E\n" + + "\x0eSLBgpApiCapReq\x12*\n" + + "\x0fBgpInstanceName\x18\x01 \x01(\tH\x00R\x0fBgpInstanceNameB\a\n" + + "\x05entry\"\xd6\x02\n" + + "\x0eSLBgpApiMsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12F\n" + + "\rBgpApiCapResp\x18\x03 \x01(\v2\x1e.service_layer.SLBgpApiCapRespH\x00R\rBgpApiCapResp\x12F\n" + + "\rBgpApiGetResp\x18\x04 \x01(\v2\x1e.service_layer.SLBgpApiGetRespH\x00R\rBgpApiGetResp\x12O\n" + + "\x10BgpApiObjectResp\x18\x05 \x01(\v2!.service_layer.SLBgpApiObjectRespH\x00R\x10BgpApiObjectRespB\a\n" + + "\x05entry\"\x8e\x02\n" + + "\vSLBgpApiMsg\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12C\n" + + "\fBgpApiCapReq\x18\x02 \x01(\v2\x1d.service_layer.SLBgpApiCapReqH\x00R\fBgpApiCapReq\x12C\n" + + "\fBgpApiGetReq\x18\x03 \x01(\v2\x1d.service_layer.SLBgpApiGetReqH\x00R\fBgpApiGetReq\x12L\n" + + "\x0fBgpApiobjectReq\x18\x04 \x01(\v2 .service_layer.SLBgpApiObjectReqH\x00R\x0fBgpApiobjectReqB\a\n" + + "\x05entry*_\n" + + "\vSLBgpBwUnit\x12\x18\n" + + "\x14SL_BGP_UNIT_RESERVED\x10\x00\x12\x18\n" + + "\x14SL_BGP_BYTES_PER_SEC\x10\x01\x12\x1c\n" + + "\x18SL_BGP_GIGA_BITS_PER_SEC\x10\x02*M\n" + + "\bSLBgpAfi\x12\x17\n" + + "\x13SL_BGP_AFI_RESERVED\x10\x00\x12\x13\n" + + "\x0fSL_BGP_AFI_IPV4\x10\x01\x12\x13\n" + + "\x0fSL_BGP_AFI_IPV6\x10\x02*>\n" + + "\tSLBgpSafi\x12\x18\n" + + "\x14SL_BGP_SAFI_RESERVED\x10\x00\x12\x17\n" + + "\x13SL_BGP_SAFI_UNICAST\x10\x01*^\n" + + "\x12SLBgpApiObjectType\x12#\n" + + "\x1fSL_BGP_API_RESERVED_OBJECT_TYPE\x10\x00\x12#\n" + + "\x1fSL_BGP_API_NEIGHBOR_OBJECT_TYPE\x10\x01*V\n" + + "\x10SLBgpApiObjectOp\x12\x16\n" + + "\x12SL_BGP_OP_RESERVED\x10\x00\x12\x14\n" + + "\x10SL_BGP_OP_UPDATE\x10\x01\x12\x14\n" + + "\x10SL_BGP_OP_DELETE\x10\x02*e\n" + + "\x11SLBgpApiStateType\x12\x1a\n" + + "\x16SL_BGP_API_FORWARD_REF\x10\x00\x12\x16\n" + + "\x12SL_BGP_API_APPLIED\x10\x01\x12\x1c\n" + + "\x18SL_BGP_API_STATE_UNKNOWN\x10\x022T\n" + + "\bSLBgpApi\x12H\n" + + "\aSLBgpOp\x12\x1a.service_layer.SLBgpApiMsg\x1a\x1d.service_layer.SLBgpApiMsgRsp(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_bgp_proto_rawDescOnce sync.Once - file_sl_bgp_proto_rawDescData = file_sl_bgp_proto_rawDesc + file_sl_bgp_proto_rawDescData []byte ) func file_sl_bgp_proto_rawDescGZIP() []byte { file_sl_bgp_proto_rawDescOnce.Do(func() { - file_sl_bgp_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_bgp_proto_rawDescData) + file_sl_bgp_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_bgp_proto_rawDesc), len(file_sl_bgp_proto_rawDesc))) }) return file_sl_bgp_proto_rawDescData } var file_sl_bgp_proto_enumTypes = make([]protoimpl.EnumInfo, 6) var file_sl_bgp_proto_msgTypes = make([]protoimpl.MessageInfo, 18) -var file_sl_bgp_proto_goTypes = []interface{}{ +var file_sl_bgp_proto_goTypes = []any{ (SLBgpBwUnit)(0), // 0: service_layer.SLBgpBwUnit (SLBgpAfi)(0), // 1: service_layer.SLBgpAfi (SLBgpSafi)(0), // 2: service_layer.SLBgpSafi @@ -2150,248 +1982,30 @@ func file_sl_bgp_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_bgp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpAfiSafi); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpFrrInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpBwId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpNeighborSafiParam); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpNeighborSafiMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpNeighborSafiList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpNeighborKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpNeighborMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiObjectResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiObjectReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiGetResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiGetReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiCapResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiCapReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpApiMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_bgp_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[2].OneofWrappers = []any{ (*SLBgpFrrInfo_Addr)(nil), } - file_sl_bgp_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[5].OneofWrappers = []any{ (*SLBgpNeighborSafiMsg_SafiParam)(nil), } - file_sl_bgp_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[8].OneofWrappers = []any{ (*SLBgpNeighborMsg_NeighborSafiList)(nil), } - file_sl_bgp_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[9].OneofWrappers = []any{ (*SLBgpApiObject_Neighbor)(nil), } - file_sl_bgp_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[13].OneofWrappers = []any{ (*SLBgpApiGetReq_Neighbor)(nil), } - file_sl_bgp_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[15].OneofWrappers = []any{ (*SLBgpApiCapReq_BgpInstanceName)(nil), } - file_sl_bgp_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[16].OneofWrappers = []any{ (*SLBgpApiMsgRsp_BgpApiCapResp)(nil), (*SLBgpApiMsgRsp_BgpApiGetResp)(nil), (*SLBgpApiMsgRsp_BgpApiObjectResp)(nil), } - file_sl_bgp_proto_msgTypes[17].OneofWrappers = []interface{}{ + file_sl_bgp_proto_msgTypes[17].OneofWrappers = []any{ (*SLBgpApiMsg_BgpApiCapReq)(nil), (*SLBgpApiMsg_BgpApiGetReq)(nil), (*SLBgpApiMsg_BgpApiobjectReq)(nil), @@ -2400,7 +2014,7 @@ func file_sl_bgp_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_bgp_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_bgp_proto_rawDesc), len(file_sl_bgp_proto_rawDesc)), NumEnums: 6, NumMessages: 18, NumExtensions: 0, @@ -2412,7 +2026,6 @@ func file_sl_bgp_proto_init() { MessageInfos: file_sl_bgp_proto_msgTypes, }.Build() File_sl_bgp_proto = out.File - file_sl_bgp_proto_rawDesc = nil file_sl_bgp_proto_goTypes = nil file_sl_bgp_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_bgp_grpc.pb.go b/grpc/go/src/gengo/sl_bgp_grpc.pb.go index 69daf3c0..c6141b1a 100644 --- a/grpc/go/src/gengo/sl_bgp_grpc.pb.go +++ b/grpc/go/src/gengo/sl_bgp_grpc.pb.go @@ -1,7 +1,17 @@ +// @file +// @brief Server RPC proto file for BGP API. +// +// ---------------------------------------------------------------- +// Copyright (c) 2024 by cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_bgp.proto package service_layer @@ -15,18 +25,28 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLBgpApi_SLBgpOp_FullMethodName = "/service_layer.SLBgpApi/SLBgpOp" +) // SLBgpApiClient is the client API for SLBgpApi service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLBgpApi +// Defines RPC calls for BGP APIs. +// Update and Delete the BGP Object Parameters +// Supports only single client +// @{ type SLBgpApiClient interface { // RPC supports // 1. BGP API capability // 2. BGP object (eg. neighbor) parameters (eg. Link Bandwidth) setting. // 3. Get and GetNext to retrieve objects programmed on the device by client - SLBgpOp(ctx context.Context, opts ...grpc.CallOption) (SLBgpApi_SLBgpOpClient, error) + SLBgpOp(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLBgpApiMsg, SLBgpApiMsgRsp], error) } type sLBgpApiClient struct { @@ -37,57 +57,49 @@ func NewSLBgpApiClient(cc grpc.ClientConnInterface) SLBgpApiClient { return &sLBgpApiClient{cc} } -func (c *sLBgpApiClient) SLBgpOp(ctx context.Context, opts ...grpc.CallOption) (SLBgpApi_SLBgpOpClient, error) { - stream, err := c.cc.NewStream(ctx, &SLBgpApi_ServiceDesc.Streams[0], "/service_layer.SLBgpApi/SLBgpOp", opts...) +func (c *sLBgpApiClient) SLBgpOp(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLBgpApiMsg, SLBgpApiMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLBgpApi_ServiceDesc.Streams[0], SLBgpApi_SLBgpOp_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLBgpApiSLBgpOpClient{stream} + x := &grpc.GenericClientStream[SLBgpApiMsg, SLBgpApiMsgRsp]{ClientStream: stream} return x, nil } -type SLBgpApi_SLBgpOpClient interface { - Send(*SLBgpApiMsg) error - Recv() (*SLBgpApiMsgRsp, error) - grpc.ClientStream -} - -type sLBgpApiSLBgpOpClient struct { - grpc.ClientStream -} - -func (x *sLBgpApiSLBgpOpClient) Send(m *SLBgpApiMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLBgpApiSLBgpOpClient) Recv() (*SLBgpApiMsgRsp, error) { - m := new(SLBgpApiMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBgpApi_SLBgpOpClient = grpc.BidiStreamingClient[SLBgpApiMsg, SLBgpApiMsgRsp] // SLBgpApiServer is the server API for SLBgpApi service. // All implementations must embed UnimplementedSLBgpApiServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLBgpApi +// Defines RPC calls for BGP APIs. +// Update and Delete the BGP Object Parameters +// Supports only single client +// @{ type SLBgpApiServer interface { // RPC supports // 1. BGP API capability // 2. BGP object (eg. neighbor) parameters (eg. Link Bandwidth) setting. // 3. Get and GetNext to retrieve objects programmed on the device by client - SLBgpOp(SLBgpApi_SLBgpOpServer) error + SLBgpOp(grpc.BidiStreamingServer[SLBgpApiMsg, SLBgpApiMsgRsp]) error mustEmbedUnimplementedSLBgpApiServer() } -// UnimplementedSLBgpApiServer must be embedded to have forward compatible implementations. -type UnimplementedSLBgpApiServer struct { -} +// UnimplementedSLBgpApiServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLBgpApiServer struct{} -func (UnimplementedSLBgpApiServer) SLBgpOp(SLBgpApi_SLBgpOpServer) error { +func (UnimplementedSLBgpApiServer) SLBgpOp(grpc.BidiStreamingServer[SLBgpApiMsg, SLBgpApiMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLBgpOp not implemented") } func (UnimplementedSLBgpApiServer) mustEmbedUnimplementedSLBgpApiServer() {} +func (UnimplementedSLBgpApiServer) testEmbeddedByValue() {} // UnsafeSLBgpApiServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLBgpApiServer will @@ -97,34 +109,22 @@ type UnsafeSLBgpApiServer interface { } func RegisterSLBgpApiServer(s grpc.ServiceRegistrar, srv SLBgpApiServer) { + // If the following call pancis, it indicates UnimplementedSLBgpApiServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLBgpApi_ServiceDesc, srv) } func _SLBgpApi_SLBgpOp_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLBgpApiServer).SLBgpOp(&sLBgpApiSLBgpOpServer{stream}) -} - -type SLBgpApi_SLBgpOpServer interface { - Send(*SLBgpApiMsgRsp) error - Recv() (*SLBgpApiMsg, error) - grpc.ServerStream + return srv.(SLBgpApiServer).SLBgpOp(&grpc.GenericServerStream[SLBgpApiMsg, SLBgpApiMsgRsp]{ServerStream: stream}) } -type sLBgpApiSLBgpOpServer struct { - grpc.ServerStream -} - -func (x *sLBgpApiSLBgpOpServer) Send(m *SLBgpApiMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLBgpApiSLBgpOpServer) Recv() (*SLBgpApiMsg, error) { - m := new(SLBgpApiMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBgpApi_SLBgpOpServer = grpc.BidiStreamingServer[SLBgpApiMsg, SLBgpApiMsgRsp] // SLBgpApi_ServiceDesc is the grpc.ServiceDesc for SLBgpApi service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_bgpls_topology.pb.go b/grpc/go/src/gengo/sl_bgpls_topology.pb.go index 0dc2f6d5..260c982d 100644 --- a/grpc/go/src/gengo/sl_bgpls_topology.pb.go +++ b/grpc/go/src/gengo/sl_bgpls_topology.pb.go @@ -16,8 +16,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_bgpls_topology.proto package service_layer @@ -27,6 +27,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -1064,10 +1065,7 @@ func (SLBgplsTopoSrv6BgpPeerNodeSidFlags) EnumDescriptor() ([]byte, []int) { // BGP-LS Topology Notification Request message type SLBgplsTopoNotifReqMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Match filters for BGP-LS Topology Entries. // This can be an empty message if the caller wants to subscribe to all the // BGP-LS Topology Entries. @@ -1078,16 +1076,16 @@ type SLBgplsTopoNotifReqMsg struct { // each of the Match filters. // Maximum number of Match filters is restricted using // MaxMatchFilterInBgplsTopoNotif in SLGlobalsGet. - Match []*SLBgplsTopoNlriMatch `protobuf:"bytes,1,rep,name=Match,proto3" json:"Match,omitempty"` + Match []*SLBgplsTopoNlriMatch `protobuf:"bytes,1,rep,name=Match,proto3" json:"Match,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNotifReqMsg) Reset() { *x = SLBgplsTopoNotifReqMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNotifReqMsg) String() string { @@ -1098,7 +1096,7 @@ func (*SLBgplsTopoNotifReqMsg) ProtoMessage() {} func (x *SLBgplsTopoNotifReqMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1121,10 +1119,7 @@ func (x *SLBgplsTopoNotifReqMsg) GetMatch() []*SLBgplsTopoNlriMatch { } type SLBgplsTopoNlriMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IGP routing domain to which the Link-State NLRI belongs. // Identifier. // Section 5.2 of [RFC9552] @@ -1136,16 +1131,16 @@ type SLBgplsTopoNlriMatch struct { // Type of Link-State NLRI // NLRI Type. // Section 5.2 of [RFC9552] - NlriType SLBgplsTopoNlriType `protobuf:"varint,3,opt,name=NlriType,proto3,enum=service_layer.SLBgplsTopoNlriType" json:"NlriType,omitempty"` + NlriType SLBgplsTopoNlriType `protobuf:"varint,3,opt,name=NlriType,proto3,enum=service_layer.SLBgplsTopoNlriType" json:"NlriType,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNlriMatch) Reset() { *x = SLBgplsTopoNlriMatch{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNlriMatch) String() string { @@ -1156,7 +1151,7 @@ func (*SLBgplsTopoNlriMatch) ProtoMessage() {} func (x *SLBgplsTopoNlriMatch) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1194,26 +1189,23 @@ func (x *SLBgplsTopoNlriMatch) GetNlriType() SLBgplsTopoNlriType { // BGP-LS Topology Notification message type SLBgplsTopoNotifMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *SLBgplsTopoNotifMsg_ErrStatus // *SLBgplsTopoNotifMsg_Data // *SLBgplsTopoNotifMsg_Start // *SLBgplsTopoNotifMsg_End - Event isSLBgplsTopoNotifMsg_Event `protobuf_oneof:"Event"` + Event isSLBgplsTopoNotifMsg_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNotifMsg) Reset() { *x = SLBgplsTopoNotifMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNotifMsg) String() string { @@ -1224,7 +1216,7 @@ func (*SLBgplsTopoNotifMsg) ProtoMessage() {} func (x *SLBgplsTopoNotifMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1239,37 +1231,45 @@ func (*SLBgplsTopoNotifMsg) Descriptor() ([]byte, []int) { return file_sl_bgpls_topology_proto_rawDescGZIP(), []int{2} } -func (m *SLBgplsTopoNotifMsg) GetEvent() isSLBgplsTopoNotifMsg_Event { - if m != nil { - return m.Event +func (x *SLBgplsTopoNotifMsg) GetEvent() isSLBgplsTopoNotifMsg_Event { + if x != nil { + return x.Event } return nil } func (x *SLBgplsTopoNotifMsg) GetErrStatus() *SLErrorStatus { - if x, ok := x.GetEvent().(*SLBgplsTopoNotifMsg_ErrStatus); ok { - return x.ErrStatus + if x != nil { + if x, ok := x.Event.(*SLBgplsTopoNotifMsg_ErrStatus); ok { + return x.ErrStatus + } } return nil } func (x *SLBgplsTopoNotifMsg) GetData() *SLBgplsTopoNotif { - if x, ok := x.GetEvent().(*SLBgplsTopoNotifMsg_Data); ok { - return x.Data + if x != nil { + if x, ok := x.Event.(*SLBgplsTopoNotifMsg_Data); ok { + return x.Data + } } return nil } func (x *SLBgplsTopoNotifMsg) GetStart() *SLBgplsTopoStartMarker { - if x, ok := x.GetEvent().(*SLBgplsTopoNotifMsg_Start); ok { - return x.Start + if x != nil { + if x, ok := x.Event.(*SLBgplsTopoNotifMsg_Start); ok { + return x.Start + } } return nil } func (x *SLBgplsTopoNotifMsg) GetEnd() *SLBgplsTopoEndMarker { - if x, ok := x.GetEvent().(*SLBgplsTopoNotifMsg_End); ok { - return x.End + if x != nil { + if x, ok := x.Event.(*SLBgplsTopoNotifMsg_End); ok { + return x.End + } } return nil } @@ -1312,18 +1312,16 @@ func (*SLBgplsTopoNotifMsg_End) isSLBgplsTopoNotifMsg_Event() {} // This is an indication to stale any objects received until now. // Intentionally added as empty message type SLBgplsTopoStartMarker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoStartMarker) Reset() { *x = SLBgplsTopoStartMarker{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoStartMarker) String() string { @@ -1334,7 +1332,7 @@ func (*SLBgplsTopoStartMarker) ProtoMessage() {} func (x *SLBgplsTopoStartMarker) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1353,18 +1351,16 @@ func (*SLBgplsTopoStartMarker) Descriptor() ([]byte, []int) { // This is an indication to sweep any stale objects, if present. // Intentionally added as empty message type SLBgplsTopoEndMarker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoEndMarker) Reset() { *x = SLBgplsTopoEndMarker{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoEndMarker) String() string { @@ -1375,7 +1371,7 @@ func (*SLBgplsTopoEndMarker) ProtoMessage() {} func (x *SLBgplsTopoEndMarker) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1392,21 +1388,18 @@ func (*SLBgplsTopoEndMarker) Descriptor() ([]byte, []int) { // BGP-LS Topology Updates type SLBgplsTopoNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGP-LS Topology Entries - Entries []*SLBgplsTopoEntry `protobuf:"bytes,1,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLBgplsTopoEntry `protobuf:"bytes,1,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNotif) Reset() { *x = SLBgplsTopoNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNotif) String() string { @@ -1417,7 +1410,7 @@ func (*SLBgplsTopoNotif) ProtoMessage() {} func (x *SLBgplsTopoNotif) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1441,21 +1434,18 @@ func (x *SLBgplsTopoNotif) GetEntries() []*SLBgplsTopoEntry { // BGP-LS Topology Entry type SLBgplsTopoEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Operation SLBgplsTopoOperation `protobuf:"varint,1,opt,name=Operation,proto3,enum=service_layer.SLBgplsTopoOperation" json:"Operation,omitempty"` + Data *SLBgplsTopoData `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"` unknownFields protoimpl.UnknownFields - - Operation SLBgplsTopoOperation `protobuf:"varint,1,opt,name=Operation,proto3,enum=service_layer.SLBgplsTopoOperation" json:"Operation,omitempty"` - Data *SLBgplsTopoData `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoEntry) Reset() { *x = SLBgplsTopoEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoEntry) String() string { @@ -1466,7 +1456,7 @@ func (*SLBgplsTopoEntry) ProtoMessage() {} func (x *SLBgplsTopoEntry) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1497,10 +1487,7 @@ func (x *SLBgplsTopoEntry) GetData() *SLBgplsTopoData { // BGP-LS Topology Data type SLBgplsTopoData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IGP routing domain to which the Link-State data belongs. // Identifier. // Section 5.2 of [RFC9552] @@ -1511,23 +1498,23 @@ type SLBgplsTopoData struct { Protocol SLBgplsTopoProtocol `protobuf:"varint,2,opt,name=Protocol,proto3,enum=service_layer.SLBgplsTopoProtocol" json:"Protocol,omitempty"` // Data // - // Types that are assignable to Data: + // Types that are valid to be assigned to Data: // // *SLBgplsTopoData_Node // *SLBgplsTopoData_Link // *SLBgplsTopoData_Prefix // *SLBgplsTopoData_Srv6Sid // *SLBgplsTopoData_SrPolicy - Data isSLBgplsTopoData_Data `protobuf_oneof:"Data"` + Data isSLBgplsTopoData_Data `protobuf_oneof:"Data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoData) Reset() { *x = SLBgplsTopoData{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoData) String() string { @@ -1538,7 +1525,7 @@ func (*SLBgplsTopoData) ProtoMessage() {} func (x *SLBgplsTopoData) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1567,44 +1554,54 @@ func (x *SLBgplsTopoData) GetProtocol() SLBgplsTopoProtocol { return SLBgplsTopoProtocol_SL_BGPLS_TOPO_PROTOCOL_RESERVED } -func (m *SLBgplsTopoData) GetData() isSLBgplsTopoData_Data { - if m != nil { - return m.Data +func (x *SLBgplsTopoData) GetData() isSLBgplsTopoData_Data { + if x != nil { + return x.Data } return nil } func (x *SLBgplsTopoData) GetNode() *SLBgplsTopoNodeData { - if x, ok := x.GetData().(*SLBgplsTopoData_Node); ok { - return x.Node + if x != nil { + if x, ok := x.Data.(*SLBgplsTopoData_Node); ok { + return x.Node + } } return nil } func (x *SLBgplsTopoData) GetLink() *SLBgplsTopoLinkData { - if x, ok := x.GetData().(*SLBgplsTopoData_Link); ok { - return x.Link + if x != nil { + if x, ok := x.Data.(*SLBgplsTopoData_Link); ok { + return x.Link + } } return nil } func (x *SLBgplsTopoData) GetPrefix() *SLBgplsTopoPrefixData { - if x, ok := x.GetData().(*SLBgplsTopoData_Prefix); ok { - return x.Prefix + if x != nil { + if x, ok := x.Data.(*SLBgplsTopoData_Prefix); ok { + return x.Prefix + } } return nil } func (x *SLBgplsTopoData) GetSrv6Sid() *SLBgplsTopoSrv6SidData { - if x, ok := x.GetData().(*SLBgplsTopoData_Srv6Sid); ok { - return x.Srv6Sid + if x != nil { + if x, ok := x.Data.(*SLBgplsTopoData_Srv6Sid); ok { + return x.Srv6Sid + } } return nil } func (x *SLBgplsTopoData) GetSrPolicy() *SLBgplsTopoSrPolicyData { - if x, ok := x.GetData().(*SLBgplsTopoData_SrPolicy); ok { - return x.SrPolicy + if x != nil { + if x, ok := x.Data.(*SLBgplsTopoData_SrPolicy); ok { + return x.SrPolicy + } } return nil } @@ -1649,23 +1646,20 @@ func (*SLBgplsTopoData_Srv6Sid) isSLBgplsTopoData_Data() {} func (*SLBgplsTopoData_SrPolicy) isSLBgplsTopoData_Data() {} type SLBgplsTopoInstanceId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IGP routing domain to which the Link-State data belongs. // Identifier. // Section 5.2 of [RFC9552] - Identifier uint64 `protobuf:"varint,1,opt,name=Identifier,proto3" json:"Identifier,omitempty"` + Identifier uint64 `protobuf:"varint,1,opt,name=Identifier,proto3" json:"Identifier,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoInstanceId) Reset() { *x = SLBgplsTopoInstanceId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoInstanceId) String() string { @@ -1676,7 +1670,7 @@ func (*SLBgplsTopoInstanceId) ProtoMessage() {} func (x *SLBgplsTopoInstanceId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1700,23 +1694,20 @@ func (x *SLBgplsTopoInstanceId) GetIdentifier() uint64 { // Node Data type SLBgplsTopoNodeData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This field carries info about a node NLRI. Node *SLBgplsTopoNode `protobuf:"bytes,1,opt,name=Node,proto3" json:"Node,omitempty"` // This field carries info about node attributes. - NodeAttr *SLBgplsTopoNodeAttr `protobuf:"bytes,2,opt,name=NodeAttr,proto3" json:"NodeAttr,omitempty"` + NodeAttr *SLBgplsTopoNodeAttr `protobuf:"bytes,2,opt,name=NodeAttr,proto3" json:"NodeAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNodeData) Reset() { *x = SLBgplsTopoNodeData{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNodeData) String() string { @@ -1727,7 +1718,7 @@ func (*SLBgplsTopoNodeData) ProtoMessage() {} func (x *SLBgplsTopoNodeData) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1758,23 +1749,20 @@ func (x *SLBgplsTopoNodeData) GetNodeAttr() *SLBgplsTopoNodeAttr { // Link Data type SLBgplsTopoLinkData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This field carries info about a link NLRI. Link *SLBgplsTopoLink `protobuf:"bytes,1,opt,name=Link,proto3" json:"Link,omitempty"` // This field carries info about link attributes. - LinkAttr *SLBgplsTopoLinkAttr `protobuf:"bytes,2,opt,name=LinkAttr,proto3" json:"LinkAttr,omitempty"` + LinkAttr *SLBgplsTopoLinkAttr `protobuf:"bytes,2,opt,name=LinkAttr,proto3" json:"LinkAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkData) Reset() { *x = SLBgplsTopoLinkData{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkData) String() string { @@ -1785,7 +1773,7 @@ func (*SLBgplsTopoLinkData) ProtoMessage() {} func (x *SLBgplsTopoLinkData) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1816,23 +1804,20 @@ func (x *SLBgplsTopoLinkData) GetLinkAttr() *SLBgplsTopoLinkAttr { // Prefix Data type SLBgplsTopoPrefixData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This field carries info about a prefix NLRI. Prefix *SLBgplsTopoPrefix `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` // This field carries info about prefix attributes. - PrefixAttr *SLBgplsTopoPrefixAttr `protobuf:"bytes,2,opt,name=PrefixAttr,proto3" json:"PrefixAttr,omitempty"` + PrefixAttr *SLBgplsTopoPrefixAttr `protobuf:"bytes,2,opt,name=PrefixAttr,proto3" json:"PrefixAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixData) Reset() { *x = SLBgplsTopoPrefixData{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixData) String() string { @@ -1843,7 +1828,7 @@ func (*SLBgplsTopoPrefixData) ProtoMessage() {} func (x *SLBgplsTopoPrefixData) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1874,23 +1859,20 @@ func (x *SLBgplsTopoPrefixData) GetPrefixAttr() *SLBgplsTopoPrefixAttr { // SRv6 SID Data type SLBgplsTopoSrv6SidData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This field carries info about a SRv6 SID NLRI. Srv6Sid *SLBgplsTopoSrv6Sid `protobuf:"bytes,1,opt,name=Srv6Sid,proto3" json:"Srv6Sid,omitempty"` // This field carries info about SRv6 SID attributes. - Srv6SidAttr *SLBgplsTopoSrv6SidAttr `protobuf:"bytes,2,opt,name=Srv6SidAttr,proto3" json:"Srv6SidAttr,omitempty"` + Srv6SidAttr *SLBgplsTopoSrv6SidAttr `protobuf:"bytes,2,opt,name=Srv6SidAttr,proto3" json:"Srv6SidAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6SidData) Reset() { *x = SLBgplsTopoSrv6SidData{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6SidData) String() string { @@ -1901,7 +1883,7 @@ func (*SLBgplsTopoSrv6SidData) ProtoMessage() {} func (x *SLBgplsTopoSrv6SidData) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1932,23 +1914,20 @@ func (x *SLBgplsTopoSrv6SidData) GetSrv6SidAttr() *SLBgplsTopoSrv6SidAttr { // SR Policy Data type SLBgplsTopoSrPolicyData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // This field carries info about a SR policy NLRI. SrPolicy *SLBgplsTopoSrPolicy `protobuf:"bytes,1,opt,name=SrPolicy,proto3" json:"SrPolicy,omitempty"` // This field carries info about SR policy attributes. - SrPolicyAttr *SLBgplsTopoSrPolicyAttr `protobuf:"bytes,2,opt,name=SrPolicyAttr,proto3" json:"SrPolicyAttr,omitempty"` + SrPolicyAttr *SLBgplsTopoSrPolicyAttr `protobuf:"bytes,2,opt,name=SrPolicyAttr,proto3" json:"SrPolicyAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrPolicyData) Reset() { *x = SLBgplsTopoSrPolicyData{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrPolicyData) String() string { @@ -1959,7 +1938,7 @@ func (*SLBgplsTopoSrPolicyData) ProtoMessage() {} func (x *SLBgplsTopoSrPolicyData) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1990,10 +1969,7 @@ func (x *SLBgplsTopoSrPolicyData) GetSrPolicyAttr() *SLBgplsTopoSrPolicyAttr { // Node type SLBgplsTopoNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // AS Number associated with the BGP process originating the link-state information. // Autonomous System Number. TLV 512. // Section 5.2.1.4 of [RFC9552] @@ -2001,23 +1977,23 @@ type SLBgplsTopoNode struct { // Node Identifier // Actual type can be determined based on Protocol in SLBgplsTopoNlri. // - // Types that are assignable to NodeId: + // Types that are valid to be assigned to NodeId: // // *SLBgplsTopoNode_OspfNodeId // *SLBgplsTopoNode_Ospfv3NodeId // *SLBgplsTopoNode_IsisNodeId // *SLBgplsTopoNode_BgpNodeId // *SLBgplsTopoNode_SrPolicyNodeId - NodeId isSLBgplsTopoNode_NodeId `protobuf_oneof:"NodeId"` + NodeId isSLBgplsTopoNode_NodeId `protobuf_oneof:"NodeId"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNode) Reset() { *x = SLBgplsTopoNode{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNode) String() string { @@ -2028,7 +2004,7 @@ func (*SLBgplsTopoNode) ProtoMessage() {} func (x *SLBgplsTopoNode) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2050,44 +2026,54 @@ func (x *SLBgplsTopoNode) GetAsn() uint32 { return 0 } -func (m *SLBgplsTopoNode) GetNodeId() isSLBgplsTopoNode_NodeId { - if m != nil { - return m.NodeId +func (x *SLBgplsTopoNode) GetNodeId() isSLBgplsTopoNode_NodeId { + if x != nil { + return x.NodeId } return nil } func (x *SLBgplsTopoNode) GetOspfNodeId() *SLBgplsTopoOspfNodeId { - if x, ok := x.GetNodeId().(*SLBgplsTopoNode_OspfNodeId); ok { - return x.OspfNodeId + if x != nil { + if x, ok := x.NodeId.(*SLBgplsTopoNode_OspfNodeId); ok { + return x.OspfNodeId + } } return nil } func (x *SLBgplsTopoNode) GetOspfv3NodeId() *SLBgplsTopoOspfv3NodeId { - if x, ok := x.GetNodeId().(*SLBgplsTopoNode_Ospfv3NodeId); ok { - return x.Ospfv3NodeId + if x != nil { + if x, ok := x.NodeId.(*SLBgplsTopoNode_Ospfv3NodeId); ok { + return x.Ospfv3NodeId + } } return nil } func (x *SLBgplsTopoNode) GetIsisNodeId() *SLBgplsTopoIsisNodeId { - if x, ok := x.GetNodeId().(*SLBgplsTopoNode_IsisNodeId); ok { - return x.IsisNodeId + if x != nil { + if x, ok := x.NodeId.(*SLBgplsTopoNode_IsisNodeId); ok { + return x.IsisNodeId + } } return nil } func (x *SLBgplsTopoNode) GetBgpNodeId() *SLBgplsTopoBgpNodeId { - if x, ok := x.GetNodeId().(*SLBgplsTopoNode_BgpNodeId); ok { - return x.BgpNodeId + if x != nil { + if x, ok := x.NodeId.(*SLBgplsTopoNode_BgpNodeId); ok { + return x.BgpNodeId + } } return nil } func (x *SLBgplsTopoNode) GetSrPolicyNodeId() *SLBgplsTopoSrPolicyNodeId { - if x, ok := x.GetNodeId().(*SLBgplsTopoNode_SrPolicyNodeId); ok { - return x.SrPolicyNodeId + if x != nil { + if x, ok := x.NodeId.(*SLBgplsTopoNode_SrPolicyNodeId); ok { + return x.SrPolicyNodeId + } } return nil } @@ -2133,10 +2119,7 @@ func (*SLBgplsTopoNode_SrPolicyNodeId) isSLBgplsTopoNode_NodeId() {} // Link type SLBgplsTopoLink struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Node Descriptors for the node anchoring the local end of the link. // Local Node Descriptors. TLV 256. // Section 5.2.1.2 of [RFC9552] @@ -2148,16 +2131,16 @@ type SLBgplsTopoLink struct { // The Link Descriptor TLVs uniquely identify a link among multiple parallel // links between a pair of anchor routers. // Section 5.2.2 of [RFC9552] - LinkDescr *SLBgplsTopoLinkDescr `protobuf:"bytes,3,opt,name=LinkDescr,proto3" json:"LinkDescr,omitempty"` + LinkDescr *SLBgplsTopoLinkDescr `protobuf:"bytes,3,opt,name=LinkDescr,proto3" json:"LinkDescr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLink) Reset() { *x = SLBgplsTopoLink{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLink) String() string { @@ -2168,7 +2151,7 @@ func (*SLBgplsTopoLink) ProtoMessage() {} func (x *SLBgplsTopoLink) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2206,10 +2189,7 @@ func (x *SLBgplsTopoLink) GetLinkDescr() *SLBgplsTopoLinkDescr { // Prefix type SLBgplsTopoPrefix struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Node Descriptors for the node originating the prefix. // Local Node Descriptors. TLV 256. // Section 5.2.1.2 of [RFC9552] @@ -2217,16 +2197,16 @@ type SLBgplsTopoPrefix struct { // Prefix Descriptor TLVs uniquely identify an IPv4 or IPv6 prefix // originated by a node. // Section 5.2.3 of [RFC9552] - PrefixDescr *SLBgplsTopoPrefixDescr `protobuf:"bytes,2,opt,name=PrefixDescr,proto3" json:"PrefixDescr,omitempty"` + PrefixDescr *SLBgplsTopoPrefixDescr `protobuf:"bytes,2,opt,name=PrefixDescr,proto3" json:"PrefixDescr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefix) Reset() { *x = SLBgplsTopoPrefix{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefix) String() string { @@ -2237,7 +2217,7 @@ func (*SLBgplsTopoPrefix) ProtoMessage() {} func (x *SLBgplsTopoPrefix) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2268,24 +2248,21 @@ func (x *SLBgplsTopoPrefix) GetPrefixDescr() *SLBgplsTopoPrefixDescr { // SRv6 SID type SLBgplsTopoSrv6Sid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Node Descriptors for the node originating the SRv6 SID. // Local Node Descriptors. TLV 256. // Section 5.2.1.2 of [RFC9552] - NodeDescr *SLBgplsTopoNode `protobuf:"bytes,1,opt,name=NodeDescr,proto3" json:"NodeDescr,omitempty"` - Srv6SidDescr *SLBgplsTopoSrv6SidDescr `protobuf:"bytes,2,opt,name=Srv6SidDescr,proto3" json:"Srv6SidDescr,omitempty"` + NodeDescr *SLBgplsTopoNode `protobuf:"bytes,1,opt,name=NodeDescr,proto3" json:"NodeDescr,omitempty"` + Srv6SidDescr *SLBgplsTopoSrv6SidDescr `protobuf:"bytes,2,opt,name=Srv6SidDescr,proto3" json:"Srv6SidDescr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6Sid) Reset() { *x = SLBgplsTopoSrv6Sid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6Sid) String() string { @@ -2296,7 +2273,7 @@ func (*SLBgplsTopoSrv6Sid) ProtoMessage() {} func (x *SLBgplsTopoSrv6Sid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2327,10 +2304,7 @@ func (x *SLBgplsTopoSrv6Sid) GetSrv6SidDescr() *SLBgplsTopoSrv6SidDescr { // SR Policy type SLBgplsTopoSrPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Node Descriptors for the node originating the SR policy. // Local Node Descriptors. TLV 256. // Section 5.2.1.2 of [RFC9552] @@ -2339,15 +2313,15 @@ type SLBgplsTopoSrPolicy struct { // SR Policy Candidate Path Descriptor. TLV 554. // Section 4 of [draft-ietf-idr-bgp-ls-sr-policy] SrPolicyDescr *SLBgplsTopoSrPolicyDescr `protobuf:"bytes,2,opt,name=SrPolicyDescr,proto3" json:"SrPolicyDescr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrPolicy) Reset() { *x = SLBgplsTopoSrPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrPolicy) String() string { @@ -2358,7 +2332,7 @@ func (*SLBgplsTopoSrPolicy) ProtoMessage() {} func (x *SLBgplsTopoSrPolicy) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2389,10 +2363,7 @@ func (x *SLBgplsTopoSrPolicy) GetSrPolicyDescr() *SLBgplsTopoSrPolicyDescr { // Link descriptor type SLBgplsTopoLinkDescr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Local Identifier of a link. // Link Local/Remote Identifier. TLV 258. // Section 5.2.2 of [RFC9552] @@ -2420,16 +2391,16 @@ type SLBgplsTopoLinkDescr struct { // Multi Topology Identifier (MTID) of a link. // Multi-Topology Identifier. TLV 263. // Section 5.2.2.1 of [RFC9552] - MtId *SLBgplsTopoMtId `protobuf:"bytes,7,opt,name=MtId,proto3" json:"MtId,omitempty"` + MtId *SLBgplsTopoMtId `protobuf:"bytes,7,opt,name=MtId,proto3" json:"MtId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkDescr) Reset() { *x = SLBgplsTopoLinkDescr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkDescr) String() string { @@ -2440,7 +2411,7 @@ func (*SLBgplsTopoLinkDescr) ProtoMessage() {} func (x *SLBgplsTopoLinkDescr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2506,10 +2477,7 @@ func (x *SLBgplsTopoLinkDescr) GetMtId() *SLBgplsTopoMtId { // Prefix descriptor type SLBgplsTopoPrefixDescr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Multi Topology Identifier (MTID) of a prefix. // Multi-Topology Identifier. TLV 263. // Section 5.2.2.1 of [RFC9552] @@ -2525,16 +2493,16 @@ type SLBgplsTopoPrefixDescr struct { // IP address prefix (IPv4 or IPv6) advertised in the IGP topology. // IP Reachability Information. TLV 265. // Section 5.2.3.2 of [RFC9552] - Prefix []byte `protobuf:"bytes,4,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + Prefix []byte `protobuf:"bytes,4,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixDescr) Reset() { *x = SLBgplsTopoPrefixDescr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixDescr) String() string { @@ -2545,7 +2513,7 @@ func (*SLBgplsTopoPrefixDescr) ProtoMessage() {} func (x *SLBgplsTopoPrefixDescr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2590,10 +2558,7 @@ func (x *SLBgplsTopoPrefixDescr) GetPrefix() []byte { // SRv6 SID descriptor type SLBgplsTopoSrv6SidDescr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Multi Topology Identifier (MTID) of an SRv6 SID. // Multi-Topology Identifier. TLV 263. // Section 5.2.2.1 of [RFC9552] @@ -2602,16 +2567,16 @@ type SLBgplsTopoSrv6SidDescr struct { // SRv6 SID Information. TLV 518. Section 6.1 of [RFC9514] // SRv6 SID takes an IPv6 Address and must be // enforced for 16 bytes. - Srv6Sid []byte `protobuf:"bytes,2,opt,name=Srv6Sid,proto3" json:"Srv6Sid,omitempty"` + Srv6Sid []byte `protobuf:"bytes,2,opt,name=Srv6Sid,proto3" json:"Srv6Sid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6SidDescr) Reset() { *x = SLBgplsTopoSrv6SidDescr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6SidDescr) String() string { @@ -2622,7 +2587,7 @@ func (*SLBgplsTopoSrv6SidDescr) ProtoMessage() {} func (x *SLBgplsTopoSrv6SidDescr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2653,10 +2618,7 @@ func (x *SLBgplsTopoSrv6SidDescr) GetSrv6Sid() []byte { // SR Policy descriptor type SLBgplsTopoSrPolicyDescr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Protocol instantiating the SR policy. // Protocol-origin. TLV 554. // Section 4 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -2669,7 +2631,7 @@ type SLBgplsTopoSrPolicyDescr struct { // Endpoint. TLV 554. // Section 4 of [draft-ietf-idr-bgp-ls-sr-policy] // - // Types that are assignable to EndpointAddress: + // Types that are valid to be assigned to EndpointAddress: // // *SLBgplsTopoSrPolicyDescr_Ipv4EndAddr // *SLBgplsTopoSrPolicyDescr_Ipv6EndAddr @@ -2686,7 +2648,7 @@ type SLBgplsTopoSrPolicyDescr struct { // Originator Address. TLV 554. // Section 4 of [draft-ietf-idr-bgp-ls-sr-policy] // - // Types that are assignable to OriginatorAddress: + // Types that are valid to be assigned to OriginatorAddress: // // *SLBgplsTopoSrPolicyDescr_Ipv4OrigAddr // *SLBgplsTopoSrPolicyDescr_Ipv6OrigAddr @@ -2695,15 +2657,15 @@ type SLBgplsTopoSrPolicyDescr struct { // Discriminator. TLV 554. // Section 4 of [draft-ietf-idr-bgp-ls-sr-policy] Discriminator uint32 `protobuf:"varint,9,opt,name=Discriminator,proto3" json:"Discriminator,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrPolicyDescr) Reset() { *x = SLBgplsTopoSrPolicyDescr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrPolicyDescr) String() string { @@ -2714,7 +2676,7 @@ func (*SLBgplsTopoSrPolicyDescr) ProtoMessage() {} func (x *SLBgplsTopoSrPolicyDescr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2743,23 +2705,27 @@ func (x *SLBgplsTopoSrPolicyDescr) GetFlags() *SLSrPolicyFlags { return nil } -func (m *SLBgplsTopoSrPolicyDescr) GetEndpointAddress() isSLBgplsTopoSrPolicyDescr_EndpointAddress { - if m != nil { - return m.EndpointAddress +func (x *SLBgplsTopoSrPolicyDescr) GetEndpointAddress() isSLBgplsTopoSrPolicyDescr_EndpointAddress { + if x != nil { + return x.EndpointAddress } return nil } func (x *SLBgplsTopoSrPolicyDescr) GetIpv4EndAddr() []byte { - if x, ok := x.GetEndpointAddress().(*SLBgplsTopoSrPolicyDescr_Ipv4EndAddr); ok { - return x.Ipv4EndAddr + if x != nil { + if x, ok := x.EndpointAddress.(*SLBgplsTopoSrPolicyDescr_Ipv4EndAddr); ok { + return x.Ipv4EndAddr + } } return nil } func (x *SLBgplsTopoSrPolicyDescr) GetIpv6EndAddr() []byte { - if x, ok := x.GetEndpointAddress().(*SLBgplsTopoSrPolicyDescr_Ipv6EndAddr); ok { - return x.Ipv6EndAddr + if x != nil { + if x, ok := x.EndpointAddress.(*SLBgplsTopoSrPolicyDescr_Ipv6EndAddr); ok { + return x.Ipv6EndAddr + } } return nil } @@ -2778,23 +2744,27 @@ func (x *SLBgplsTopoSrPolicyDescr) GetOriginAsn() uint32 { return 0 } -func (m *SLBgplsTopoSrPolicyDescr) GetOriginatorAddress() isSLBgplsTopoSrPolicyDescr_OriginatorAddress { - if m != nil { - return m.OriginatorAddress +func (x *SLBgplsTopoSrPolicyDescr) GetOriginatorAddress() isSLBgplsTopoSrPolicyDescr_OriginatorAddress { + if x != nil { + return x.OriginatorAddress } return nil } func (x *SLBgplsTopoSrPolicyDescr) GetIpv4OrigAddr() []byte { - if x, ok := x.GetOriginatorAddress().(*SLBgplsTopoSrPolicyDescr_Ipv4OrigAddr); ok { - return x.Ipv4OrigAddr + if x != nil { + if x, ok := x.OriginatorAddress.(*SLBgplsTopoSrPolicyDescr_Ipv4OrigAddr); ok { + return x.Ipv4OrigAddr + } } return nil } func (x *SLBgplsTopoSrPolicyDescr) GetIpv6OrigAddr() []byte { - if x, ok := x.GetOriginatorAddress().(*SLBgplsTopoSrPolicyDescr_Ipv6OrigAddr); ok { - return x.Ipv6OrigAddr + if x != nil { + if x, ok := x.OriginatorAddress.(*SLBgplsTopoSrPolicyDescr_Ipv6OrigAddr); ok { + return x.Ipv6OrigAddr + } } return nil } @@ -2844,10 +2814,7 @@ func (*SLBgplsTopoSrPolicyDescr_Ipv6OrigAddr) isSLBgplsTopoSrPolicyDescr_Origina // OSPF Node ID type SLBgplsTopoOspfNodeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Area identifier identifying the area to which the NLRI belongs. // OSPF Area-ID. TLV 514. // Section 5.2.1 of [RFC9552] @@ -2862,16 +2829,16 @@ type SLBgplsTopoOspfNodeId struct { // IPv4 address of the DR's interface to the LAN. // IGP Router-ID. TLV 515. // Section 5.2.1 of [RFC9552] - DrIdentifier []byte `protobuf:"bytes,4,opt,name=DrIdentifier,proto3" json:"DrIdentifier,omitempty"` + DrIdentifier []byte `protobuf:"bytes,4,opt,name=DrIdentifier,proto3" json:"DrIdentifier,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoOspfNodeId) Reset() { *x = SLBgplsTopoOspfNodeId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoOspfNodeId) String() string { @@ -2882,7 +2849,7 @@ func (*SLBgplsTopoOspfNodeId) ProtoMessage() {} func (x *SLBgplsTopoOspfNodeId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2927,10 +2894,7 @@ func (x *SLBgplsTopoOspfNodeId) GetDrIdentifier() []byte { // OSPFv3 Node ID type SLBgplsTopoOspfv3NodeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Area identifier identifying the area to which the NLRI belongs. // OSPF Area-ID. TLV 514. // Section 5.2.1 of [RFC9552] @@ -2945,16 +2909,16 @@ type SLBgplsTopoOspfv3NodeId struct { // Interface identifier of the DR's interface to the LAN. // IGP Router-ID. TLV 515. // Section 5.2.1 of [RFC9552] - DrIdentifier uint32 `protobuf:"varint,4,opt,name=DrIdentifier,proto3" json:"DrIdentifier,omitempty"` + DrIdentifier uint32 `protobuf:"varint,4,opt,name=DrIdentifier,proto3" json:"DrIdentifier,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoOspfv3NodeId) Reset() { *x = SLBgplsTopoOspfv3NodeId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoOspfv3NodeId) String() string { @@ -2965,7 +2929,7 @@ func (*SLBgplsTopoOspfv3NodeId) ProtoMessage() {} func (x *SLBgplsTopoOspfv3NodeId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3010,10 +2974,7 @@ func (x *SLBgplsTopoOspfv3NodeId) GetDrIdentifier() uint32 { // ISIS Node ID type SLBgplsTopoIsisNodeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // System ID. // IGP Router-ID. TLV 515. // Section 5.2.1 of [RFC9552] @@ -3021,16 +2982,16 @@ type SLBgplsTopoIsisNodeId struct { // Pseudo Node Identifier (PSN ID). // IGP Router-ID. TLV 515. // Section 5.2.1 of [RFC9552] - PsnId []byte `protobuf:"bytes,2,opt,name=PsnId,proto3" json:"PsnId,omitempty"` + PsnId []byte `protobuf:"bytes,2,opt,name=PsnId,proto3" json:"PsnId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoIsisNodeId) Reset() { *x = SLBgplsTopoIsisNodeId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoIsisNodeId) String() string { @@ -3041,7 +3002,7 @@ func (*SLBgplsTopoIsisNodeId) ProtoMessage() {} func (x *SLBgplsTopoIsisNodeId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3072,10 +3033,7 @@ func (x *SLBgplsTopoIsisNodeId) GetPsnId() []byte { // BGP Node ID type SLBgplsTopoBgpNodeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Router ID. // BGP Router-ID. TLV 516. // Section 4.2 of [RFC9086] @@ -3083,16 +3041,16 @@ type SLBgplsTopoBgpNodeId struct { // ASN of the confederation member // Member-ASN. TLV 517. // Section 4.2 of [RFC9086] - MemberAsn uint32 `protobuf:"varint,2,opt,name=MemberAsn,proto3" json:"MemberAsn,omitempty"` + MemberAsn uint32 `protobuf:"varint,2,opt,name=MemberAsn,proto3" json:"MemberAsn,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoBgpNodeId) Reset() { *x = SLBgplsTopoBgpNodeId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoBgpNodeId) String() string { @@ -3103,7 +3061,7 @@ func (*SLBgplsTopoBgpNodeId) ProtoMessage() {} func (x *SLBgplsTopoBgpNodeId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3134,10 +3092,7 @@ func (x *SLBgplsTopoBgpNodeId) GetMemberAsn() uint32 { // SR Policy Node ID type SLBgplsTopoSrPolicyNodeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Router ID. // BGP Router-ID. TLV 516. // Section 4.2 of [RFC9086] @@ -3153,16 +3108,16 @@ type SLBgplsTopoSrPolicyNodeId struct { // Auxiliary TE Router-ID. // IPv6 Router-ID. TLV 1029. // Section 3 of [draft-ietf-idr-bgp-ls-sr-policy] - Ipv6RouterId []byte `protobuf:"bytes,4,opt,name=Ipv6RouterId,proto3" json:"Ipv6RouterId,omitempty"` + Ipv6RouterId []byte `protobuf:"bytes,4,opt,name=Ipv6RouterId,proto3" json:"Ipv6RouterId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrPolicyNodeId) Reset() { *x = SLBgplsTopoSrPolicyNodeId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrPolicyNodeId) String() string { @@ -3173,7 +3128,7 @@ func (*SLBgplsTopoSrPolicyNodeId) ProtoMessage() {} func (x *SLBgplsTopoSrPolicyNodeId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3218,10 +3173,7 @@ func (x *SLBgplsTopoSrPolicyNodeId) GetIpv6RouterId() []byte { // Node Attributes type SLBgplsTopoNodeAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Multi Topology Identifiers (MTIDs) of a node. // Multi-Topology Identifier. TLV 263. // Section 5.2.2.1 of [RFC9552] @@ -3280,16 +3232,16 @@ type SLBgplsTopoNodeAttr struct { // Segment Routing V6 Capabilities of a node // SRv6 Capabilities. TLV 1038 // Section 3.1 of [RFC9514] - Srv6CapFlags *SLBgplsTopoSrv6CapFlags `protobuf:"bytes,15,opt,name=Srv6CapFlags,proto3" json:"Srv6CapFlags,omitempty"` + Srv6CapFlags *SLBgplsTopoSrv6CapFlags `protobuf:"bytes,15,opt,name=Srv6CapFlags,proto3" json:"Srv6CapFlags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNodeAttr) Reset() { *x = SLBgplsTopoNodeAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNodeAttr) String() string { @@ -3300,7 +3252,7 @@ func (*SLBgplsTopoNodeAttr) ProtoMessage() {} func (x *SLBgplsTopoNodeAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3422,10 +3374,7 @@ func (x *SLBgplsTopoNodeAttr) GetSrv6CapFlags() *SLBgplsTopoSrv6CapFlags { // Link Attributes type SLBgplsTopoLinkAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Link Local/Remote idetifiers. // Link Local Remote Identifiers. TLV 258. // Section 5.2.2 of [RFC9552] @@ -3579,15 +3528,15 @@ type SLBgplsTopoLinkAttr struct { // SRv6 LAN End X SID. TLV 1107/1108 // Section 4.1 of [RFC9514] Srv6LanEndXSid []*SLBgplsTopoSrv6LanEndXSid `protobuf:"bytes,35,rep,name=Srv6LanEndXSid,proto3" json:"Srv6LanEndXSid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkAttr) Reset() { *x = SLBgplsTopoLinkAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkAttr) String() string { @@ -3598,7 +3547,7 @@ func (*SLBgplsTopoLinkAttr) ProtoMessage() {} func (x *SLBgplsTopoLinkAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3853,10 +3802,7 @@ func (x *SLBgplsTopoLinkAttr) GetSrv6LanEndXSid() []*SLBgplsTopoSrv6LanEndXSid { // Prefix Attributes type SLBgplsTopoPrefixAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Metric associated with the prefix for a particular Flexible Algorithm (FA). // Flexible Algorithm Prefix metric. TLV 1044 // Section 4 of [RFC9351] @@ -3910,16 +3856,16 @@ type SLBgplsTopoPrefixAttr struct { // prefix. // SRv6 Locator. TLV 1162 // Section 5.1 of [RFC9514] - Srv6Loc *SLBgplsTopoPrefixSrv6Loc `protobuf:"bytes,13,opt,name=Srv6Loc,proto3" json:"Srv6Loc,omitempty"` + Srv6Loc *SLBgplsTopoPrefixSrv6Loc `protobuf:"bytes,13,opt,name=Srv6Loc,proto3" json:"Srv6Loc,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixAttr) Reset() { *x = SLBgplsTopoPrefixAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixAttr) String() string { @@ -3930,7 +3876,7 @@ func (*SLBgplsTopoPrefixAttr) ProtoMessage() {} func (x *SLBgplsTopoPrefixAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4038,10 +3984,7 @@ func (x *SLBgplsTopoPrefixAttr) GetSrv6Loc() *SLBgplsTopoPrefixSrv6Loc { // SRv6 SID Attributes type SLBgplsTopoSrv6SidAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The Segment Routing over IPv6 (SRv6) endpoint behavior bound to a // SRv6 SID. // SRv6 End Point Behavior. TLV 1250 @@ -4059,16 +4002,16 @@ type SLBgplsTopoSrv6SidAttr struct { SidStruct *SLSrv6SidStruct `protobuf:"bytes,3,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` // Unknown SRv6 SID Attributes // Unknown/unsupported by IOS-XR/BGPLS. - UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,4,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,4,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6SidAttr) Reset() { *x = SLBgplsTopoSrv6SidAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6SidAttr) String() string { @@ -4079,7 +4022,7 @@ func (*SLBgplsTopoSrv6SidAttr) ProtoMessage() {} func (x *SLBgplsTopoSrv6SidAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4124,10 +4067,7 @@ func (x *SLBgplsTopoSrv6SidAttr) GetUnknownAttr() []*SLBgplsTopoUnknownAttr { // SR Policy Attributes type SLBgplsTopoSrPolicyAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Binding SID (BSID) is used to report the BSID and its attributes // for the SR Policy CP. // SR Binding SID. TLV 1201 @@ -4165,16 +4105,16 @@ type SLBgplsTopoSrPolicyAttr struct { SrPolicyName *SLBgplsTopoSrPolicyName `protobuf:"bytes,7,opt,name=SrPolicyName,proto3" json:"SrPolicyName,omitempty"` // Unknown SR Policy Attributes // Unknown/unsupported by IOS-XR/BGPLS. - UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,8,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,8,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrPolicyAttr) Reset() { *x = SLBgplsTopoSrPolicyAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrPolicyAttr) String() string { @@ -4185,7 +4125,7 @@ func (*SLBgplsTopoSrPolicyAttr) ProtoMessage() {} func (x *SLBgplsTopoSrPolicyAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4259,23 +4199,20 @@ func (x *SLBgplsTopoSrPolicyAttr) GetUnknownAttr() []*SLBgplsTopoUnknownAttr { // Link Local Remote Identifiers. TLV 258. // Section 5.2.2 of [RFC9552] type SLBplsTopoLinkLocRemId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Link Local Identifier LocalId uint32 `protobuf:"varint,1,opt,name=LocalId,proto3" json:"LocalId,omitempty"` // Link Remote Identifier - RemoteId uint32 `protobuf:"varint,2,opt,name=RemoteId,proto3" json:"RemoteId,omitempty"` + RemoteId uint32 `protobuf:"varint,2,opt,name=RemoteId,proto3" json:"RemoteId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBplsTopoLinkLocRemId) Reset() { *x = SLBplsTopoLinkLocRemId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBplsTopoLinkLocRemId) String() string { @@ -4286,7 +4223,7 @@ func (*SLBplsTopoLinkLocRemId) ProtoMessage() {} func (x *SLBplsTopoLinkLocRemId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4318,21 +4255,18 @@ func (x *SLBplsTopoLinkLocRemId) GetRemoteId() uint32 { // Multi-Topology Identifier. TLV 263. // Section 5.2.2.1 of [RFC9552] type SLBgplsTopoMtId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Multi-Topology ID. A number in the range of 0-255 - MtId uint32 `protobuf:"varint,1,opt,name=MtId,proto3" json:"MtId,omitempty"` + MtId uint32 `protobuf:"varint,1,opt,name=MtId,proto3" json:"MtId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoMtId) Reset() { *x = SLBgplsTopoMtId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoMtId) String() string { @@ -4343,7 +4277,7 @@ func (*SLBgplsTopoMtId) ProtoMessage() {} func (x *SLBgplsTopoMtId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4368,24 +4302,21 @@ func (x *SLBgplsTopoMtId) GetMtId() uint32 { // Node MSD. TLV 266. // Section 3 of [RFC8814] type SLBgplsTopoNodeMsd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MSD type. One of the values defined in the 'IGP MSD-Types' registry // defined in [RFC8491] Type uint32 `protobuf:"varint,1,opt,name=Type,proto3" json:"Type,omitempty"` // MSD value. A number in the range of 0-255 - Value uint32 `protobuf:"varint,2,opt,name=Value,proto3" json:"Value,omitempty"` + Value uint32 `protobuf:"varint,2,opt,name=Value,proto3" json:"Value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNodeMsd) Reset() { *x = SLBgplsTopoNodeMsd{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNodeMsd) String() string { @@ -4396,7 +4327,7 @@ func (*SLBgplsTopoNodeMsd) ProtoMessage() {} func (x *SLBgplsTopoNodeMsd) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4428,24 +4359,21 @@ func (x *SLBgplsTopoNodeMsd) GetValue() uint32 { // Link MSD. TLV 267. // Section 4 of [RFC8814] type SLBgplsTopoLinkMsd struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MSD type. One of the values defined in the 'IGP MSD-Types' registry // defined in [RFC8491] Type uint32 `protobuf:"varint,1,opt,name=Type,proto3" json:"Type,omitempty"` // MSD value. A number in the range of 0-255 - Value uint32 `protobuf:"varint,2,opt,name=Value,proto3" json:"Value,omitempty"` + Value uint32 `protobuf:"varint,2,opt,name=Value,proto3" json:"Value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkMsd) Reset() { *x = SLBgplsTopoLinkMsd{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkMsd) String() string { @@ -4456,7 +4384,7 @@ func (*SLBgplsTopoLinkMsd) ProtoMessage() {} func (x *SLBgplsTopoLinkMsd) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4488,10 +4416,7 @@ func (x *SLBgplsTopoLinkMsd) GetValue() uint32 { // Node Flag Bits. TLV 1024. // Section 5.3.1.1 of [RFC9552] type SLBgplsTopoNodeFlagBits struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bit-0: O-Flag: Overload Bit // // Bit-1: A-Flag: Attached Bit @@ -4503,16 +4428,16 @@ type SLBgplsTopoNodeFlagBits struct { // Bit-4: R-Flag: Router Bit // // Bit-5: V-Flag: v6 Bit - Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNodeFlagBits) Reset() { *x = SLBgplsTopoNodeFlagBits{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNodeFlagBits) String() string { @@ -4523,7 +4448,7 @@ func (*SLBgplsTopoNodeFlagBits) ProtoMessage() {} func (x *SLBgplsTopoNodeFlagBits) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4548,21 +4473,18 @@ func (x *SLBgplsTopoNodeFlagBits) GetFlags() []byte { // Opaque Node Attribute. TLV 1025. // Section 5.3.1.5 of [RFC9552] type SLBgplsTopoNodeOpaqueAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Opaque attribute - OpaqueAttr []byte `protobuf:"bytes,1,opt,name=OpaqueAttr,proto3" json:"OpaqueAttr,omitempty"` + OpaqueAttr []byte `protobuf:"bytes,1,opt,name=OpaqueAttr,proto3" json:"OpaqueAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoNodeOpaqueAttr) Reset() { *x = SLBgplsTopoNodeOpaqueAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoNodeOpaqueAttr) String() string { @@ -4573,7 +4495,7 @@ func (*SLBgplsTopoNodeOpaqueAttr) ProtoMessage() {} func (x *SLBgplsTopoNodeOpaqueAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4598,23 +4520,20 @@ func (x *SLBgplsTopoNodeOpaqueAttr) GetOpaqueAttr() []byte { // Node Name. TLV 1026. // Section 5.3.1.3 of [RFC9552] type SLBgplsNodeName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Symbolic name of the node without a NULL terminator. It is // RECOMMENDED that the size of the symbolic name be limited to // 255 characters. - Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsNodeName) Reset() { *x = SLBgplsNodeName{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsNodeName) String() string { @@ -4625,7 +4544,7 @@ func (*SLBgplsNodeName) ProtoMessage() {} func (x *SLBgplsNodeName) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4650,21 +4569,18 @@ func (x *SLBgplsNodeName) GetName() string { // IS-IS Area Identifier. TLV 1027. // Section 5.3.1.2 of [RFC9552] type SLBgplsTopoIsisAreaId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // ISIS area address - AreaId []byte `protobuf:"bytes,1,opt,name=AreaId,proto3" json:"AreaId,omitempty"` + AreaId []byte `protobuf:"bytes,1,opt,name=AreaId,proto3" json:"AreaId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoIsisAreaId) Reset() { *x = SLBgplsTopoIsisAreaId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoIsisAreaId) String() string { @@ -4675,7 +4591,7 @@ func (*SLBgplsTopoIsisAreaId) ProtoMessage() {} func (x *SLBgplsTopoIsisAreaId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4700,21 +4616,18 @@ func (x *SLBgplsTopoIsisAreaId) GetAreaId() []byte { // Local IPv4/IPv6 Router-ID. TLV 1028. // Section 5.3.1.4 of [RFC9552] type SLBgplsTopoLocalIpv4RouterId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv4 Router ID - RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLocalIpv4RouterId) Reset() { *x = SLBgplsTopoLocalIpv4RouterId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLocalIpv4RouterId) String() string { @@ -4725,7 +4638,7 @@ func (*SLBgplsTopoLocalIpv4RouterId) ProtoMessage() {} func (x *SLBgplsTopoLocalIpv4RouterId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4750,21 +4663,18 @@ func (x *SLBgplsTopoLocalIpv4RouterId) GetRouterId() []byte { // Local IPv4/IPv6 Router-ID. TLV 1029. // Section 5.3.1.4 of [RFC9552] type SLBgplsTopoLocalIpv6RouterId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv6 Router ID - RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLocalIpv6RouterId) Reset() { *x = SLBgplsTopoLocalIpv6RouterId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLocalIpv6RouterId) String() string { @@ -4775,7 +4685,7 @@ func (*SLBgplsTopoLocalIpv6RouterId) ProtoMessage() {} func (x *SLBgplsTopoLocalIpv6RouterId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4800,21 +4710,18 @@ func (x *SLBgplsTopoLocalIpv6RouterId) GetRouterId() []byte { // Remote IPv4/IPv6 Router-ID. TLV 1030. // Section 5.3.2.1 of [RFC9552] type SLBgplsTopoRemoteIpv4RouterId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv4 Router ID - RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoRemoteIpv4RouterId) Reset() { *x = SLBgplsTopoRemoteIpv4RouterId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoRemoteIpv4RouterId) String() string { @@ -4825,7 +4732,7 @@ func (*SLBgplsTopoRemoteIpv4RouterId) ProtoMessage() {} func (x *SLBgplsTopoRemoteIpv4RouterId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4850,21 +4757,18 @@ func (x *SLBgplsTopoRemoteIpv4RouterId) GetRouterId() []byte { // Remote IPv4/IPv6 Router-ID. TLV 1031. // Section 5.3.2.1 of [RFC9552] type SLBgplsTopoRemoteIpv6RouterId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv6 Router ID - RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + RouterId []byte `protobuf:"bytes,1,opt,name=RouterId,proto3" json:"RouterId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoRemoteIpv6RouterId) Reset() { *x = SLBgplsTopoRemoteIpv6RouterId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoRemoteIpv6RouterId) String() string { @@ -4875,7 +4779,7 @@ func (*SLBgplsTopoRemoteIpv6RouterId) ProtoMessage() {} func (x *SLBgplsTopoRemoteIpv6RouterId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4899,23 +4803,20 @@ func (x *SLBgplsTopoRemoteIpv6RouterId) GetRouterId() []byte { // Segment Routing Global Block (SRGB) type SLBgplsTopoSrgb struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // First label in the range StartLabel uint32 `protobuf:"varint,1,opt,name=StartLabel,proto3" json:"StartLabel,omitempty"` // Number of labels in the range - RangeSize uint32 `protobuf:"varint,2,opt,name=RangeSize,proto3" json:"RangeSize,omitempty"` + RangeSize uint32 `protobuf:"varint,2,opt,name=RangeSize,proto3" json:"RangeSize,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrgb) Reset() { *x = SLBgplsTopoSrgb{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrgb) String() string { @@ -4926,7 +4827,7 @@ func (*SLBgplsTopoSrgb) ProtoMessage() {} func (x *SLBgplsTopoSrgb) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4957,21 +4858,18 @@ func (x *SLBgplsTopoSrgb) GetRangeSize() uint32 { // Segment Routing Global Block (SRGB) ISIS flags type SLBgplsTopoSrgbIsisFlags struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // ISIS flags as defined in Section 3.1 of [RFC8667] for IS-IS - Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrgbIsisFlags) Reset() { *x = SLBgplsTopoSrgbIsisFlags{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrgbIsisFlags) String() string { @@ -4982,7 +4880,7 @@ func (*SLBgplsTopoSrgbIsisFlags) ProtoMessage() {} func (x *SLBgplsTopoSrgbIsisFlags) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5007,21 +4905,18 @@ func (x *SLBgplsTopoSrgbIsisFlags) GetFlags() []byte { // SR-Algorithm. TLV 1035. // Section 2.1.3 of [RFC9085] type SLBgplsTopoSrAlgorithm struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR algorithms - Algorithms []byte `protobuf:"bytes,1,opt,name=Algorithms,proto3" json:"Algorithms,omitempty"` + Algorithms []byte `protobuf:"bytes,1,opt,name=Algorithms,proto3" json:"Algorithms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrAlgorithm) Reset() { *x = SLBgplsTopoSrAlgorithm{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrAlgorithm) String() string { @@ -5032,7 +4927,7 @@ func (*SLBgplsTopoSrAlgorithm) ProtoMessage() {} func (x *SLBgplsTopoSrAlgorithm) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5057,23 +4952,20 @@ func (x *SLBgplsTopoSrAlgorithm) GetAlgorithms() []byte { // SR Local Block. TLV 1036. // Section 2.1.4 of [RFC9085] type SLBgplsTopoSrlb struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // First label in the range StartLabel uint32 `protobuf:"varint,1,opt,name=StartLabel,proto3" json:"StartLabel,omitempty"` // Number of labels in the range - RangeSize uint32 `protobuf:"varint,2,opt,name=RangeSize,proto3" json:"RangeSize,omitempty"` + RangeSize uint32 `protobuf:"varint,2,opt,name=RangeSize,proto3" json:"RangeSize,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrlb) Reset() { *x = SLBgplsTopoSrlb{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrlb) String() string { @@ -5084,7 +4976,7 @@ func (*SLBgplsTopoSrlb) ProtoMessage() {} func (x *SLBgplsTopoSrlb) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5116,24 +5008,21 @@ func (x *SLBgplsTopoSrlb) GetRangeSize() uint32 { // SRv6 Capabilities. TLV 1038 // Section 3.1 of [RFC9514] type SLBgplsTopoSrv6CapFlags struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 2-octet field. The flags are copied from the IS-IS SRv6 // Capabilities sub-TLV (Section 2 of [RFC9352]) or from the OSPFv3 // SRv6 Capabilities TLV (Section 2 of [RFC9513]) in the case of IS- // IS or OSPFv3, respectively - Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6CapFlags) Reset() { *x = SLBgplsTopoSrv6CapFlags{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6CapFlags) String() string { @@ -5144,7 +5033,7 @@ func (*SLBgplsTopoSrv6CapFlags) ProtoMessage() {} func (x *SLBgplsTopoSrv6CapFlags) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5169,10 +5058,7 @@ func (x *SLBgplsTopoSrv6CapFlags) GetFlags() []byte { // Flexible Algorithm Definition. TLV 1039. // Section 3 of [RFC9351] type SLBgplsTopoFad struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Flexible Algorithm number between 128 and 255 inclusive. // Flexible Algorithm. // Section 3 of [RFC9351] @@ -5246,16 +5132,16 @@ type SLBgplsTopoFad struct { // Each affinity bitmask is represented in multiple of 4 bytes. // Flexible Algorithm Include-All Reverse Affinity. TLV 1055. // RFC TBD - IncAllRevAff []uint32 `protobuf:"varint,12,rep,packed,name=IncAllRevAff,proto3" json:"IncAllRevAff,omitempty"` + IncAllRevAff []uint32 `protobuf:"varint,12,rep,packed,name=IncAllRevAff,proto3" json:"IncAllRevAff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoFad) Reset() { *x = SLBgplsTopoFad{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoFad) String() string { @@ -5266,7 +5152,7 @@ func (*SLBgplsTopoFad) ProtoMessage() {} func (x *SLBgplsTopoFad) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5389,26 +5275,23 @@ func (x *SLBgplsTopoFad) GetIncAllRevAff() []uint32 { // Flexible Algorithm Prefix metric. TLV 1044 // Section 4 of [RFC9351] type SLBgplsTopoPrefixFAPM struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Flexible Algorithm (128 to 255). FlexAlgo uint32 `protobuf:"varint,1,opt,name=FlexAlgo,proto3" json:"FlexAlgo,omitempty"` // Flags associated with the Flexible Algorithm prefix metric as // defined in [RFC9350] for OSPFv2 Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` // Flexible Algorithm prefix metric - Metric uint32 `protobuf:"varint,3,opt,name=Metric,proto3" json:"Metric,omitempty"` -} + Metric uint32 `protobuf:"varint,3,opt,name=Metric,proto3" json:"Metric,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} func (x *SLBgplsTopoPrefixFAPM) Reset() { *x = SLBgplsTopoPrefixFAPM{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixFAPM) String() string { @@ -5419,7 +5302,7 @@ func (*SLBgplsTopoPrefixFAPM) ProtoMessage() {} func (x *SLBgplsTopoPrefixFAPM) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5457,23 +5340,20 @@ func (x *SLBgplsTopoPrefixFAPM) GetMetric() uint32 { // Unsupported Flexible Algorithm Definition (FAD) TLVs. TLV 1046 type SLBgplsTopoFadUnsuppTlv struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BGPLS protocol advertising the FAD Protocol SLBgplsTopoProtocol `protobuf:"varint,1,opt,name=Protocol,proto3,enum=service_layer.SLBgplsTopoProtocol" json:"Protocol,omitempty"` // Unsupported TLV types - Types []byte `protobuf:"bytes,2,opt,name=Types,proto3" json:"Types,omitempty"` + Types []byte `protobuf:"bytes,2,opt,name=Types,proto3" json:"Types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoFadUnsuppTlv) Reset() { *x = SLBgplsTopoFadUnsuppTlv{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoFadUnsuppTlv) String() string { @@ -5484,7 +5364,7 @@ func (*SLBgplsTopoFadUnsuppTlv) ProtoMessage() {} func (x *SLBgplsTopoFadUnsuppTlv) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5515,22 +5395,19 @@ func (x *SLBgplsTopoFadUnsuppTlv) GetTypes() []byte { // Flexible Algorithm Exclude Maximum Delay. TLV 1050 type SLBgplsTopoFadExcMaxDelay struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Maximum link delay information associated with the FAD. // Encoded in microseconds. - Delay uint32 `protobuf:"varint,1,opt,name=Delay,proto3" json:"Delay,omitempty"` + Delay uint32 `protobuf:"varint,1,opt,name=Delay,proto3" json:"Delay,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoFadExcMaxDelay) Reset() { *x = SLBgplsTopoFadExcMaxDelay{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoFadExcMaxDelay) String() string { @@ -5541,7 +5418,7 @@ func (*SLBgplsTopoFadExcMaxDelay) ProtoMessage() {} func (x *SLBgplsTopoFadExcMaxDelay) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5566,21 +5443,18 @@ func (x *SLBgplsTopoFadExcMaxDelay) GetDelay() uint32 { // Maximum Link Bandwidth. TLV 1089 // Section 5.3.2 of [RFC9552] type SLBgplsTopoLinkMaxBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bandwidth in bytes per second - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkMaxBandwidth) Reset() { *x = SLBgplsTopoLinkMaxBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkMaxBandwidth) String() string { @@ -5591,7 +5465,7 @@ func (*SLBgplsTopoLinkMaxBandwidth) ProtoMessage() {} func (x *SLBgplsTopoLinkMaxBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5616,21 +5490,18 @@ func (x *SLBgplsTopoLinkMaxBandwidth) GetBandwidth() []byte { // Maximum Reservable Link Bandwidth. TLV 1090 // Section 5.3.2 of [RFC9552] type SLBgplsTopoLinkMaxResvBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bandwidth in bytes per second - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkMaxResvBandwidth) Reset() { *x = SLBgplsTopoLinkMaxResvBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkMaxResvBandwidth) String() string { @@ -5641,7 +5512,7 @@ func (*SLBgplsTopoLinkMaxResvBandwidth) ProtoMessage() {} func (x *SLBgplsTopoLinkMaxResvBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5666,23 +5537,20 @@ func (x *SLBgplsTopoLinkMaxResvBandwidth) GetBandwidth() []byte { // Unreserved Link Bandwidth. TLV 1091 // Section 5.3.2 of [RFC9552] type SLBgplsTopoLinkUnresvBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Priority level Priority uint32 `protobuf:"varint,1,opt,name=Priority,proto3" json:"Priority,omitempty"` // Bandwidth in bytes per second reservable on the link for a particular priority - Bandwidth []byte `protobuf:"bytes,2,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,2,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkUnresvBandwidth) Reset() { *x = SLBgplsTopoLinkUnresvBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkUnresvBandwidth) String() string { @@ -5693,7 +5561,7 @@ func (*SLBgplsTopoLinkUnresvBandwidth) ProtoMessage() {} func (x *SLBgplsTopoLinkUnresvBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5725,21 +5593,18 @@ func (x *SLBgplsTopoLinkUnresvBandwidth) GetBandwidth() []byte { // TE Default Metric. TLV 1092 // Section 5.3.2.3 of [RFC9552] type SLBgplsTopoLinkTeDefaultMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Metric - Metric uint32 `protobuf:"varint,1,opt,name=Metric,proto3" json:"Metric,omitempty"` + Metric uint32 `protobuf:"varint,1,opt,name=Metric,proto3" json:"Metric,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkTeDefaultMetric) Reset() { *x = SLBgplsTopoLinkTeDefaultMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkTeDefaultMetric) String() string { @@ -5750,7 +5615,7 @@ func (*SLBgplsTopoLinkTeDefaultMetric) ProtoMessage() {} func (x *SLBgplsTopoLinkTeDefaultMetric) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5775,21 +5640,18 @@ func (x *SLBgplsTopoLinkTeDefaultMetric) GetMetric() uint32 { // Link Protection Type. TLV 1093 // Section 5.3.2 of [RFC9552] type SLBgplsTopoLinkProtectionType struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bit mask of protection capabilities - Mask uint32 `protobuf:"varint,1,opt,name=Mask,proto3" json:"Mask,omitempty"` + Mask uint32 `protobuf:"varint,1,opt,name=Mask,proto3" json:"Mask,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkProtectionType) Reset() { *x = SLBgplsTopoLinkProtectionType{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkProtectionType) String() string { @@ -5800,7 +5662,7 @@ func (*SLBgplsTopoLinkProtectionType) ProtoMessage() {} func (x *SLBgplsTopoLinkProtectionType) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5825,23 +5687,20 @@ func (x *SLBgplsTopoLinkProtectionType) GetMask() uint32 { // MPLS Proto Mask. TLV 1094 // Section 5.3.2.2 of [RFC9552] type SLBgplsTopoLinkMplsProtoMask struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bit-0: Label Distribution Protocol (LDP) // // Bit-1: Extension to RSVP for LSP Tunnels (RSVP-TE) - Mask []byte `protobuf:"bytes,1,opt,name=Mask,proto3" json:"Mask,omitempty"` + Mask []byte `protobuf:"bytes,1,opt,name=Mask,proto3" json:"Mask,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkMplsProtoMask) Reset() { *x = SLBgplsTopoLinkMplsProtoMask{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkMplsProtoMask) String() string { @@ -5852,7 +5711,7 @@ func (*SLBgplsTopoLinkMplsProtoMask) ProtoMessage() {} func (x *SLBgplsTopoLinkMplsProtoMask) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5877,23 +5736,20 @@ func (x *SLBgplsTopoLinkMplsProtoMask) GetMask() []byte { // IGP Metric. TLV 1095 // Section 5.3.2.4 of [RFC9552] type SLBgplsTopoLinkIgpMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 1 octet for ISIS small metrics // 2 octets for OSPF metrics // 3 octets for ISIS wide metrics - Metric []byte `protobuf:"bytes,1,opt,name=Metric,proto3" json:"Metric,omitempty"` + Metric []byte `protobuf:"bytes,1,opt,name=Metric,proto3" json:"Metric,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkIgpMetric) Reset() { *x = SLBgplsTopoLinkIgpMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkIgpMetric) String() string { @@ -5904,7 +5760,7 @@ func (*SLBgplsTopoLinkIgpMetric) ProtoMessage() {} func (x *SLBgplsTopoLinkIgpMetric) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5929,20 +5785,17 @@ func (x *SLBgplsTopoLinkIgpMetric) GetMetric() []byte { // Shared Risk Link Group. TLV 1096 // Section 5.3.2.5 of [RFC9552] type SLBgplsTopoLinkSrlg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SrlgVal []uint32 `protobuf:"varint,1,rep,packed,name=SrlgVal,proto3" json:"SrlgVal,omitempty"` unknownFields protoimpl.UnknownFields - - SrlgVal []uint32 `protobuf:"varint,1,rep,packed,name=SrlgVal,proto3" json:"SrlgVal,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkSrlg) Reset() { *x = SLBgplsTopoLinkSrlg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkSrlg) String() string { @@ -5953,7 +5806,7 @@ func (*SLBgplsTopoLinkSrlg) ProtoMessage() {} func (x *SLBgplsTopoLinkSrlg) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5978,21 +5831,18 @@ func (x *SLBgplsTopoLinkSrlg) GetSrlgVal() []uint32 { // Opaque Link Attribute. TLV 1097 // Section 5.3.2.6 of [RFC9552] type SLBgplsTopoLinkOpaqueAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Opaque attribute - OpaqueAttr []byte `protobuf:"bytes,1,opt,name=OpaqueAttr,proto3" json:"OpaqueAttr,omitempty"` + OpaqueAttr []byte `protobuf:"bytes,1,opt,name=OpaqueAttr,proto3" json:"OpaqueAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkOpaqueAttr) Reset() { *x = SLBgplsTopoLinkOpaqueAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkOpaqueAttr) String() string { @@ -6003,7 +5853,7 @@ func (*SLBgplsTopoLinkOpaqueAttr) ProtoMessage() {} func (x *SLBgplsTopoLinkOpaqueAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6028,23 +5878,20 @@ func (x *SLBgplsTopoLinkOpaqueAttr) GetOpaqueAttr() []byte { // Link Name. TLV 1098. // Section 5.3.2.7 of [RFC9552] type SLBgplsTopoLinkName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Symbolic name of the link without a NULL terminator. It is // RECOMMENDED that the size of the symbolic name be limited to // 255 characters. - Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLinkName) Reset() { *x = SLBgplsTopoLinkName{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLinkName) String() string { @@ -6055,7 +5902,7 @@ func (*SLBgplsTopoLinkName) ProtoMessage() {} func (x *SLBgplsTopoLinkName) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6080,10 +5927,7 @@ func (x *SLBgplsTopoLinkName) GetName() string { // Adjacency SID. TLV 1099 // Section 2.2.1 of [RFC9085] type SLBgplsTopoAdjSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Label or index LabelIndex uint32 `protobuf:"varint,1,opt,name=LabelIndex,proto3" json:"LabelIndex,omitempty"` // Specifies whether the adjacency SID is a label or index @@ -6094,16 +5938,16 @@ type SLBgplsTopoAdjSid struct { // Section 7.1 of [RFC8666]. Flags []byte `protobuf:"bytes,3,opt,name=Flags,proto3" json:"Flags,omitempty"` // Weight used for load balancing purposes - Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoAdjSid) Reset() { *x = SLBgplsTopoAdjSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoAdjSid) String() string { @@ -6114,7 +5958,7 @@ func (*SLBgplsTopoAdjSid) ProtoMessage() {} func (x *SLBgplsTopoAdjSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6160,10 +6004,7 @@ func (x *SLBgplsTopoAdjSid) GetWeight() uint32 { // LAN Adjacency SID. TLV 1100 // Section 2.2.1 of [RFC9085] type SLBgplsTopoLanAdjSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Neighbor ID Neighbor *SLBgpLsTopoNeighborId `protobuf:"bytes,1,opt,name=Neighbor,proto3" json:"Neighbor,omitempty"` // Label or index @@ -6176,16 +6017,16 @@ type SLBgplsTopoLanAdjSid struct { // Section 7.1 of [RFC8666]. Flags []byte `protobuf:"bytes,4,opt,name=Flags,proto3" json:"Flags,omitempty"` // Weight used for load balancing purposes - Weight uint32 `protobuf:"varint,5,opt,name=Weight,proto3" json:"Weight,omitempty"` + Weight uint32 `protobuf:"varint,5,opt,name=Weight,proto3" json:"Weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoLanAdjSid) Reset() { *x = SLBgplsTopoLanAdjSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoLanAdjSid) String() string { @@ -6196,7 +6037,7 @@ func (*SLBgplsTopoLanAdjSid) ProtoMessage() {} func (x *SLBgplsTopoLanAdjSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6249,10 +6090,7 @@ func (x *SLBgplsTopoLanAdjSid) GetWeight() uint32 { // BGP Peer Node SID. TLV 1101 // Section 5 of [RFC9086] type SLBgplsTopoBgpPeerNodeSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Label or index or V6 Addr Sid []byte `protobuf:"bytes,1,opt,name=Sid,proto3" json:"Sid,omitempty"` // Specifies whether the BGP SID is a label or index @@ -6261,16 +6099,16 @@ type SLBgplsTopoBgpPeerNodeSid struct { // Defined in Section 5 of [RFC9086] Flags []byte `protobuf:"bytes,3,opt,name=Flags,proto3" json:"Flags,omitempty"` // Weight used for load balancing purposes - Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoBgpPeerNodeSid) Reset() { *x = SLBgplsTopoBgpPeerNodeSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoBgpPeerNodeSid) String() string { @@ -6281,7 +6119,7 @@ func (*SLBgplsTopoBgpPeerNodeSid) ProtoMessage() {} func (x *SLBgplsTopoBgpPeerNodeSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6327,10 +6165,7 @@ func (x *SLBgplsTopoBgpPeerNodeSid) GetWeight() uint32 { // BGP Peer Adjacency SID. TLV 1102 // Section 5 of [RFC9086] type SLBgplsTopoBgpPeerAdjSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Label or index or V6 Addr Sid []byte `protobuf:"bytes,1,opt,name=Sid,proto3" json:"Sid,omitempty"` // Specifies whether the BGP SID is a label or index @@ -6339,16 +6174,16 @@ type SLBgplsTopoBgpPeerAdjSid struct { // Defined in Section 5 of [RFC9086] Flags []byte `protobuf:"bytes,3,opt,name=Flags,proto3" json:"Flags,omitempty"` // Weight used for load balancing purposes - Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoBgpPeerAdjSid) Reset() { *x = SLBgplsTopoBgpPeerAdjSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoBgpPeerAdjSid) String() string { @@ -6359,7 +6194,7 @@ func (*SLBgplsTopoBgpPeerAdjSid) ProtoMessage() {} func (x *SLBgplsTopoBgpPeerAdjSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6405,10 +6240,7 @@ func (x *SLBgplsTopoBgpPeerAdjSid) GetWeight() uint32 { // BGP Peer Set SID. TLV 1103 // Section 5 of [RFC9086] type SLBgplsTopoBgpPeerSetSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Label or index or V6 Addr Sid []byte `protobuf:"bytes,1,opt,name=Sid,proto3" json:"Sid,omitempty"` // Specifies whether the BGP SID is a label or index @@ -6417,16 +6249,16 @@ type SLBgplsTopoBgpPeerSetSid struct { // Defined in Section 5 of [RFC9086] Flags []byte `protobuf:"bytes,3,opt,name=Flags,proto3" json:"Flags,omitempty"` // Weight used for load balancing purposes - Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + Weight uint32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoBgpPeerSetSid) Reset() { *x = SLBgplsTopoBgpPeerSetSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoBgpPeerSetSid) String() string { @@ -6437,7 +6269,7 @@ func (*SLBgplsTopoBgpPeerSetSid) ProtoMessage() {} func (x *SLBgplsTopoBgpPeerSetSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6483,10 +6315,7 @@ func (x *SLBgplsTopoBgpPeerSetSid) GetWeight() uint32 { // SRv6 End X SID. TLV 1106 // Section 4.1 of [RFC9514] type SLBgplsTopoSrv6EndXSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SRv6 SID as 128 bit value Sid []byte `protobuf:"bytes,1,opt,name=Sid,proto3" json:"Sid,omitempty"` // Algorithm associated with the SID @@ -6505,16 +6334,16 @@ type SLBgplsTopoSrv6EndXSid struct { // structure information associated with a SRv6 SID. // SRv6 SID Structure Attribute. TLV 1252 // Section 8 of [RFC9514] - SidStruct *SLSrv6SidStruct `protobuf:"bytes,6,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + SidStruct *SLSrv6SidStruct `protobuf:"bytes,6,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6EndXSid) Reset() { *x = SLBgplsTopoSrv6EndXSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6EndXSid) String() string { @@ -6525,7 +6354,7 @@ func (*SLBgplsTopoSrv6EndXSid) ProtoMessage() {} func (x *SLBgplsTopoSrv6EndXSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6584,24 +6413,21 @@ func (x *SLBgplsTopoSrv6EndXSid) GetSidStruct() *SLSrv6SidStruct { // Neighbor ID used in Adjacency SID and SRv6 EndX SID type SLBgpLsTopoNeighborId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to NeighborId: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to NeighborId: // // *SLBgpLsTopoNeighborId_Ipv4Addr // *SLBgpLsTopoNeighborId_SystemId - NeighborId isSLBgpLsTopoNeighborId_NeighborId `protobuf_oneof:"NeighborId"` + NeighborId isSLBgpLsTopoNeighborId_NeighborId `protobuf_oneof:"NeighborId"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgpLsTopoNeighborId) Reset() { *x = SLBgpLsTopoNeighborId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgpLsTopoNeighborId) String() string { @@ -6612,7 +6438,7 @@ func (*SLBgpLsTopoNeighborId) ProtoMessage() {} func (x *SLBgpLsTopoNeighborId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6627,23 +6453,27 @@ func (*SLBgpLsTopoNeighborId) Descriptor() ([]byte, []int) { return file_sl_bgpls_topology_proto_rawDescGZIP(), []int{70} } -func (m *SLBgpLsTopoNeighborId) GetNeighborId() isSLBgpLsTopoNeighborId_NeighborId { - if m != nil { - return m.NeighborId +func (x *SLBgpLsTopoNeighborId) GetNeighborId() isSLBgpLsTopoNeighborId_NeighborId { + if x != nil { + return x.NeighborId } return nil } func (x *SLBgpLsTopoNeighborId) GetIpv4Addr() []byte { - if x, ok := x.GetNeighborId().(*SLBgpLsTopoNeighborId_Ipv4Addr); ok { - return x.Ipv4Addr + if x != nil { + if x, ok := x.NeighborId.(*SLBgpLsTopoNeighborId_Ipv4Addr); ok { + return x.Ipv4Addr + } } return nil } func (x *SLBgpLsTopoNeighborId) GetSystemId() []byte { - if x, ok := x.GetNeighborId().(*SLBgpLsTopoNeighborId_SystemId); ok { - return x.SystemId + if x != nil { + if x, ok := x.NeighborId.(*SLBgpLsTopoNeighborId_SystemId); ok { + return x.SystemId + } } return nil } @@ -6669,10 +6499,7 @@ func (*SLBgpLsTopoNeighborId_SystemId) isSLBgpLsTopoNeighborId_NeighborId() {} // SRv6 LAN End X SID. TLV 1107/1108 // Section 4.1 of [RFC9514] type SLBgplsTopoSrv6LanEndXSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Neighbor ID Neighbor *SLBgpLsTopoNeighborId `protobuf:"bytes,1,opt,name=Neighbor,proto3" json:"Neighbor,omitempty"` // SRv6 SID as 128 bit value @@ -6693,16 +6520,16 @@ type SLBgplsTopoSrv6LanEndXSid struct { // structure information associated with a SRv6 SID. // SRv6 SID Structure Attribute. TLV 1252 // Section 8 of [RFC9514] - SidStruct *SLSrv6SidStruct `protobuf:"bytes,7,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + SidStruct *SLSrv6SidStruct `protobuf:"bytes,7,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6LanEndXSid) Reset() { *x = SLBgplsTopoSrv6LanEndXSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6LanEndXSid) String() string { @@ -6713,7 +6540,7 @@ func (*SLBgplsTopoSrv6LanEndXSid) ProtoMessage() {} func (x *SLBgplsTopoSrv6LanEndXSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6780,23 +6607,20 @@ func (x *SLBgplsTopoSrv6LanEndXSid) GetSidStruct() *SLSrv6SidStruct { // Unidirectional Link Delay. TLV 1114 // Section 2.1 of [RFC8571] type SLBgplsTopoUniLinkDelay struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Delay in microseconds Delay uint32 `protobuf:"varint,1,opt,name=Delay,proto3" json:"Delay,omitempty"` // Bit-0: A-Flag: Set if anamolous. - Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUniLinkDelay) Reset() { *x = SLBgplsTopoUniLinkDelay{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUniLinkDelay) String() string { @@ -6807,7 +6631,7 @@ func (*SLBgplsTopoUniLinkDelay) ProtoMessage() {} func (x *SLBgplsTopoUniLinkDelay) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6839,25 +6663,22 @@ func (x *SLBgplsTopoUniLinkDelay) GetFlags() []byte { // Min/Max Unidirectional Link Delay. TLV 1115 // Section 2.2 of [RFC8571] type SLBgplsTopoMinMaxUniLinkDelay struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Minimum delay in microseconds Min uint32 `protobuf:"varint,1,opt,name=Min,proto3" json:"Min,omitempty"` // Maximum delay in microseconds Max uint32 `protobuf:"varint,2,opt,name=Max,proto3" json:"Max,omitempty"` // Bit-0: A-Flag: Set if anamolous. - Flags []byte `protobuf:"bytes,3,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,3,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoMinMaxUniLinkDelay) Reset() { *x = SLBgplsTopoMinMaxUniLinkDelay{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoMinMaxUniLinkDelay) String() string { @@ -6868,7 +6689,7 @@ func (*SLBgplsTopoMinMaxUniLinkDelay) ProtoMessage() {} func (x *SLBgplsTopoMinMaxUniLinkDelay) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6907,23 +6728,20 @@ func (x *SLBgplsTopoMinMaxUniLinkDelay) GetFlags() []byte { // Unidirectional Delay Variation. TLV 1116 // Section 2.3 of [RFC8571] type SLBgplsTopoUniDelayVar struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Delay variation in microseconds Variation uint32 `protobuf:"varint,1,opt,name=Variation,proto3" json:"Variation,omitempty"` // Bit-0: A-Flag: Set if anamolous. - Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUniDelayVar) Reset() { *x = SLBgplsTopoUniDelayVar{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUniDelayVar) String() string { @@ -6934,7 +6752,7 @@ func (*SLBgplsTopoUniDelayVar) ProtoMessage() {} func (x *SLBgplsTopoUniDelayVar) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6966,25 +6784,22 @@ func (x *SLBgplsTopoUniDelayVar) GetFlags() []byte { // Unidirectional Link Loss. TLV 1117 // Section 2.4 of [RFC8571] type SLBgplsTopoUniLinkLoss struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Link packet loss as a percentage of the total traffic sent over a // configurable interval. The basic unit is 0.000003%, where (2^24 - 2) // is 50.331642%. Loss uint32 `protobuf:"varint,1,opt,name=Loss,proto3" json:"Loss,omitempty"` // Bit-0: A-Flag: Set if anamolous. - Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,2,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUniLinkLoss) Reset() { *x = SLBgplsTopoUniLinkLoss{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUniLinkLoss) String() string { @@ -6995,7 +6810,7 @@ func (*SLBgplsTopoUniLinkLoss) ProtoMessage() {} func (x *SLBgplsTopoUniLinkLoss) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7027,21 +6842,18 @@ func (x *SLBgplsTopoUniLinkLoss) GetFlags() []byte { // Unidirectional Residual Bandwidth. TLV 1118 // Section 2.5 of [RFC8571] type SLBgplsTopoUniResBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bandwidth in bytes per second - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUniResBandwidth) Reset() { *x = SLBgplsTopoUniResBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUniResBandwidth) String() string { @@ -7052,7 +6864,7 @@ func (*SLBgplsTopoUniResBandwidth) ProtoMessage() {} func (x *SLBgplsTopoUniResBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7077,21 +6889,18 @@ func (x *SLBgplsTopoUniResBandwidth) GetBandwidth() []byte { // Unidirectional Available Bandwidth. TLV 1119 // Section 2.6 of [RFC8571] type SLBgplsTopoUniAvailBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bandwidth in bytes per second - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUniAvailBandwidth) Reset() { *x = SLBgplsTopoUniAvailBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUniAvailBandwidth) String() string { @@ -7102,7 +6911,7 @@ func (*SLBgplsTopoUniAvailBandwidth) ProtoMessage() {} func (x *SLBgplsTopoUniAvailBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7127,21 +6936,18 @@ func (x *SLBgplsTopoUniAvailBandwidth) GetBandwidth() []byte { // Unidirectional Utilized Bandwidth. TLV 1120 // Section 2.7 of [RFC8571] type SLBgplsTopoUniUtilBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bandwidth in bytes per second - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUniUtilBandwidth) Reset() { *x = SLBgplsTopoUniUtilBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUniUtilBandwidth) String() string { @@ -7152,7 +6958,7 @@ func (*SLBgplsTopoUniUtilBandwidth) ProtoMessage() {} func (x *SLBgplsTopoUniUtilBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7177,10 +6983,7 @@ func (x *SLBgplsTopoUniUtilBandwidth) GetBandwidth() []byte { // ASLA Attributes. TLV 1122 // Section 2 of [RFC9294] type SLBgplsTopoAslaAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Standard Application Identifier Bit Mask (SABM). Each bit // represents a single standard application Sabm []byte `protobuf:"bytes,1,opt,name=Sabm,proto3" json:"Sabm,omitempty"` @@ -7237,16 +7040,16 @@ type SLBgplsTopoAslaAttr struct { ExtAdminGroup *SLBgplsTopoExtAdminGroup `protobuf:"bytes,13,opt,name=ExtAdminGroup,proto3" json:"ExtAdminGroup,omitempty"` // Unknown ASLA Attributes // Unknown/unsupported by IOS-XR/BGPLS. - UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,14,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,14,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoAslaAttr) Reset() { *x = SLBgplsTopoAslaAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoAslaAttr) String() string { @@ -7257,7 +7060,7 @@ func (*SLBgplsTopoAslaAttr) ProtoMessage() {} func (x *SLBgplsTopoAslaAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7366,10 +7169,7 @@ func (x *SLBgplsTopoAslaAttr) GetUnknownAttr() []*SLBgplsTopoUnknownAttr { // IGP Flags. TLV 1152 // Section 5.3.3.1 of [RFC9552] type SLBgplsTopoPrefixIgpFlags struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bit-0: D-Flag: IS-IS Up/Down Bit. [RFC5305] // // Bit-1: N-Flag: OSPF "no unicast" Bit. [RFC5340] @@ -7377,16 +7177,16 @@ type SLBgplsTopoPrefixIgpFlags struct { // Bit-2: L-Flag: OSPF "local address" Bit. [RFC5340] // // Bit-3: P-Flag: OSPF "propagate NSSA" Bit. [RFC5340] - Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixIgpFlags) Reset() { *x = SLBgplsTopoPrefixIgpFlags{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixIgpFlags) String() string { @@ -7397,7 +7197,7 @@ func (*SLBgplsTopoPrefixIgpFlags) ProtoMessage() {} func (x *SLBgplsTopoPrefixIgpFlags) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7422,21 +7222,18 @@ func (x *SLBgplsTopoPrefixIgpFlags) GetFlags() []byte { // IGP Route Tag. TLV 1153 // Section 5.3.3.2 of [RFC9552] type SLBgplsTopoPrefixIgpRouteTag struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IGP route tag - Tag uint32 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` + Tag uint32 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixIgpRouteTag) Reset() { *x = SLBgplsTopoPrefixIgpRouteTag{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixIgpRouteTag) String() string { @@ -7447,7 +7244,7 @@ func (*SLBgplsTopoPrefixIgpRouteTag) ProtoMessage() {} func (x *SLBgplsTopoPrefixIgpRouteTag) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7472,21 +7269,18 @@ func (x *SLBgplsTopoPrefixIgpRouteTag) GetTag() uint32 { // IGP Extended Route Tag. TLV 1154 // Section 5.3.3.3 of [RFC9552] type SLBgplsTopoPrefixIgpExtRouteTag struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IGP extended route tag - Tag uint64 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` + Tag uint64 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixIgpExtRouteTag) Reset() { *x = SLBgplsTopoPrefixIgpExtRouteTag{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixIgpExtRouteTag) String() string { @@ -7497,7 +7291,7 @@ func (*SLBgplsTopoPrefixIgpExtRouteTag) ProtoMessage() {} func (x *SLBgplsTopoPrefixIgpExtRouteTag) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7522,21 +7316,18 @@ func (x *SLBgplsTopoPrefixIgpExtRouteTag) GetTag() uint64 { // Prefix Metric. TLV 1155 // Section 5.3.3.4 of [RFC9552] type SLBgplsTopoPrefixMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Prefix metric - Metric uint32 `protobuf:"varint,1,opt,name=Metric,proto3" json:"Metric,omitempty"` + Metric uint32 `protobuf:"varint,1,opt,name=Metric,proto3" json:"Metric,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixMetric) Reset() { *x = SLBgplsTopoPrefixMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixMetric) String() string { @@ -7547,7 +7338,7 @@ func (*SLBgplsTopoPrefixMetric) ProtoMessage() {} func (x *SLBgplsTopoPrefixMetric) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7572,24 +7363,21 @@ func (x *SLBgplsTopoPrefixMetric) GetMetric() uint32 { // OSPF Forwarding Address. TLV 1156 // Section 5.3.3.5 of [RFC9552] type SLBgplsTopoPrefixOspfFwdAddr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to OspfFwdAddr: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to OspfFwdAddr: // // *SLBgplsTopoPrefixOspfFwdAddr_Ipv4Addr // *SLBgplsTopoPrefixOspfFwdAddr_Ipv6Addr - OspfFwdAddr isSLBgplsTopoPrefixOspfFwdAddr_OspfFwdAddr `protobuf_oneof:"OspfFwdAddr"` + OspfFwdAddr isSLBgplsTopoPrefixOspfFwdAddr_OspfFwdAddr `protobuf_oneof:"OspfFwdAddr"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixOspfFwdAddr) Reset() { *x = SLBgplsTopoPrefixOspfFwdAddr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixOspfFwdAddr) String() string { @@ -7600,7 +7388,7 @@ func (*SLBgplsTopoPrefixOspfFwdAddr) ProtoMessage() {} func (x *SLBgplsTopoPrefixOspfFwdAddr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7615,23 +7403,27 @@ func (*SLBgplsTopoPrefixOspfFwdAddr) Descriptor() ([]byte, []int) { return file_sl_bgpls_topology_proto_rawDescGZIP(), []int{84} } -func (m *SLBgplsTopoPrefixOspfFwdAddr) GetOspfFwdAddr() isSLBgplsTopoPrefixOspfFwdAddr_OspfFwdAddr { - if m != nil { - return m.OspfFwdAddr +func (x *SLBgplsTopoPrefixOspfFwdAddr) GetOspfFwdAddr() isSLBgplsTopoPrefixOspfFwdAddr_OspfFwdAddr { + if x != nil { + return x.OspfFwdAddr } return nil } func (x *SLBgplsTopoPrefixOspfFwdAddr) GetIpv4Addr() []byte { - if x, ok := x.GetOspfFwdAddr().(*SLBgplsTopoPrefixOspfFwdAddr_Ipv4Addr); ok { - return x.Ipv4Addr + if x != nil { + if x, ok := x.OspfFwdAddr.(*SLBgplsTopoPrefixOspfFwdAddr_Ipv4Addr); ok { + return x.Ipv4Addr + } } return nil } func (x *SLBgplsTopoPrefixOspfFwdAddr) GetIpv6Addr() []byte { - if x, ok := x.GetOspfFwdAddr().(*SLBgplsTopoPrefixOspfFwdAddr_Ipv6Addr); ok { - return x.Ipv6Addr + if x != nil { + if x, ok := x.OspfFwdAddr.(*SLBgplsTopoPrefixOspfFwdAddr_Ipv6Addr); ok { + return x.Ipv6Addr + } } return nil } @@ -7657,21 +7449,18 @@ func (*SLBgplsTopoPrefixOspfFwdAddr_Ipv6Addr) isSLBgplsTopoPrefixOspfFwdAddr_Osp // Opaque Prefix Attribute. TLV 1157 // Section 5.3.3.6 of [RFC9552] type SLBgplsTopoPrefixOpaqueAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Opaque attribute - OpaqueAttr []byte `protobuf:"bytes,1,opt,name=OpaqueAttr,proto3" json:"OpaqueAttr,omitempty"` + OpaqueAttr []byte `protobuf:"bytes,1,opt,name=OpaqueAttr,proto3" json:"OpaqueAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixOpaqueAttr) Reset() { *x = SLBgplsTopoPrefixOpaqueAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixOpaqueAttr) String() string { @@ -7682,7 +7471,7 @@ func (*SLBgplsTopoPrefixOpaqueAttr) ProtoMessage() {} func (x *SLBgplsTopoPrefixOpaqueAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7707,10 +7496,7 @@ func (x *SLBgplsTopoPrefixOpaqueAttr) GetOpaqueAttr() []byte { // Prefix SID. TLV 1158 // Section 2.3.1 of [RFC9085] type SLBgplsTopoPrefixSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Flags as defined in Section 2.1.1 of [RFC8667] for ISIS, // Section 5 of [RFC8665] for OSPFv2 and Section 6 of [RFC8665] // for OSPFv3. @@ -7721,15 +7507,15 @@ type SLBgplsTopoPrefixSid struct { LabelIndex uint32 `protobuf:"varint,3,opt,name=LabelIndex,proto3" json:"LabelIndex,omitempty"` // Specifies whether the prefix SID is a label or index PrefixSidFormat SLBgplsTopoPrefixSidFormat `protobuf:"varint,4,opt,name=PrefixSidFormat,proto3,enum=service_layer.SLBgplsTopoPrefixSidFormat" json:"PrefixSidFormat,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixSid) Reset() { *x = SLBgplsTopoPrefixSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixSid) String() string { @@ -7740,7 +7526,7 @@ func (*SLBgplsTopoPrefixSid) ProtoMessage() {} func (x *SLBgplsTopoPrefixSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7786,10 +7572,7 @@ func (x *SLBgplsTopoPrefixSid) GetPrefixSidFormat() SLBgplsTopoPrefixSidFormat { // Prefix Range. TLV 1159 // Section 2.3.5 of [RFC9085] type SLBgplsTopoPrefixRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Flags associated with the range taken from IS-IS SID/Label // Binding TLV flags as defined in Section 2.4.1 of [RFC8667] for // ISIS, OSPFv2 OSPF Extended Prefix Range TLV flags as defined in @@ -7806,16 +7589,16 @@ type SLBgplsTopoPrefixRange struct { // Section 2.1.1 of [RFC8667] for ISIS, // Section 5 of [RFC8665] for OSPFv2 and // Section 6 of [RFC8665] for OSPFv3. - SidFlags []byte `protobuf:"bytes,5,opt,name=SidFlags,proto3" json:"SidFlags,omitempty"` + SidFlags []byte `protobuf:"bytes,5,opt,name=SidFlags,proto3" json:"SidFlags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixRange) Reset() { *x = SLBgplsTopoPrefixRange{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixRange) String() string { @@ -7826,7 +7609,7 @@ func (*SLBgplsTopoPrefixRange) ProtoMessage() {} func (x *SLBgplsTopoPrefixRange) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7879,10 +7662,7 @@ func (x *SLBgplsTopoPrefixRange) GetSidFlags() []byte { // SRv6 Locator. TLV 1162 // Section 5.1 of [RFC9514] type SLBgplsTopoPrefixSrv6Loc struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Flags associated with the locator, copied from the // IS-IS SRv6 Locator TLV (Section 7.1 of [RFC9352]) for ISIS or the // OSPFv3 SRv6 Locator TLV (Section 7.1 of [RFC9513]) for OSPFv3 @@ -7890,16 +7670,16 @@ type SLBgplsTopoPrefixSrv6Loc struct { // Algorithm associated with the locator Algorithm uint32 `protobuf:"varint,2,opt,name=Algorithm,proto3" json:"Algorithm,omitempty"` // Flex algo prefix metric - Metric uint32 `protobuf:"varint,3,opt,name=Metric,proto3" json:"Metric,omitempty"` + Metric uint32 `protobuf:"varint,3,opt,name=Metric,proto3" json:"Metric,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixSrv6Loc) Reset() { *x = SLBgplsTopoPrefixSrv6Loc{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixSrv6Loc) String() string { @@ -7910,7 +7690,7 @@ func (*SLBgplsTopoPrefixSrv6Loc) ProtoMessage() {} func (x *SLBgplsTopoPrefixSrv6Loc) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7949,23 +7729,20 @@ func (x *SLBgplsTopoPrefixSrv6Loc) GetMetric() uint32 { // Prefix Attribute Flags. TLV 1170 // Section 2.3.2 of [RFC9085] type SLBgplsTopoPrefixAttrFlags struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Prefix attribute flags as defined in Section 2.1 of [RFC7684] // for OSPFv2, Appendix A.4.1.1 of [RFC5340] for OSPFv3, and // Section 2.1 of [RFC7794] for IS-IS - Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags []byte `protobuf:"bytes,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixAttrFlags) Reset() { *x = SLBgplsTopoPrefixAttrFlags{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixAttrFlags) String() string { @@ -7976,7 +7753,7 @@ func (*SLBgplsTopoPrefixAttrFlags) ProtoMessage() {} func (x *SLBgplsTopoPrefixAttrFlags) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8001,24 +7778,21 @@ func (x *SLBgplsTopoPrefixAttrFlags) GetFlags() []byte { // Source Route Identifier. TLV 1171 // Section 2.3.3 of [RFC9085] type SLBgplsTopoPrefixSrcRouterId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to SrcRouterId: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to SrcRouterId: // // *SLBgplsTopoPrefixSrcRouterId_Ipv4Addr // *SLBgplsTopoPrefixSrcRouterId_Ipv6Addr - SrcRouterId isSLBgplsTopoPrefixSrcRouterId_SrcRouterId `protobuf_oneof:"SrcRouterId"` + SrcRouterId isSLBgplsTopoPrefixSrcRouterId_SrcRouterId `protobuf_oneof:"SrcRouterId"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoPrefixSrcRouterId) Reset() { *x = SLBgplsTopoPrefixSrcRouterId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoPrefixSrcRouterId) String() string { @@ -8029,7 +7803,7 @@ func (*SLBgplsTopoPrefixSrcRouterId) ProtoMessage() {} func (x *SLBgplsTopoPrefixSrcRouterId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8044,23 +7818,27 @@ func (*SLBgplsTopoPrefixSrcRouterId) Descriptor() ([]byte, []int) { return file_sl_bgpls_topology_proto_rawDescGZIP(), []int{90} } -func (m *SLBgplsTopoPrefixSrcRouterId) GetSrcRouterId() isSLBgplsTopoPrefixSrcRouterId_SrcRouterId { - if m != nil { - return m.SrcRouterId +func (x *SLBgplsTopoPrefixSrcRouterId) GetSrcRouterId() isSLBgplsTopoPrefixSrcRouterId_SrcRouterId { + if x != nil { + return x.SrcRouterId } return nil } func (x *SLBgplsTopoPrefixSrcRouterId) GetIpv4Addr() []byte { - if x, ok := x.GetSrcRouterId().(*SLBgplsTopoPrefixSrcRouterId_Ipv4Addr); ok { - return x.Ipv4Addr + if x != nil { + if x, ok := x.SrcRouterId.(*SLBgplsTopoPrefixSrcRouterId_Ipv4Addr); ok { + return x.Ipv4Addr + } } return nil } func (x *SLBgplsTopoPrefixSrcRouterId) GetIpv6Addr() []byte { - if x, ok := x.GetSrcRouterId().(*SLBgplsTopoPrefixSrcRouterId_Ipv6Addr); ok { - return x.Ipv6Addr + if x != nil { + if x, ok := x.SrcRouterId.(*SLBgplsTopoPrefixSrcRouterId_Ipv6Addr); ok { + return x.Ipv6Addr + } } return nil } @@ -8086,10 +7864,7 @@ func (*SLBgplsTopoPrefixSrcRouterId_Ipv6Addr) isSLBgplsTopoPrefixSrcRouterId_Src // L2 Bundle Member Attribute. TLV 1172 // Section 2.2.3 of [RFC9085] type SLBgplsTopoL2BundleMemberAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Link local identifier MemberDesc uint32 `protobuf:"varint,1,opt,name=MemberDesc,proto3" json:"MemberDesc,omitempty"` // The maximum bandwidth that can be used on a link. @@ -8170,16 +7945,16 @@ type SLBgplsTopoL2BundleMemberAttr struct { ExtAdminGroup *SLBgplsTopoExtAdminGroup `protobuf:"bytes,18,opt,name=ExtAdminGroup,proto3" json:"ExtAdminGroup,omitempty"` // Unknown L2 Bundle Member Attributes // Unknown/unsupported by IOS-XR/BGPLS. - UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,19,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + UnknownAttr []*SLBgplsTopoUnknownAttr `protobuf:"bytes,19,rep,name=UnknownAttr,proto3" json:"UnknownAttr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoL2BundleMemberAttr) Reset() { *x = SLBgplsTopoL2BundleMemberAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoL2BundleMemberAttr) String() string { @@ -8190,7 +7965,7 @@ func (*SLBgplsTopoL2BundleMemberAttr) ProtoMessage() {} func (x *SLBgplsTopoL2BundleMemberAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8334,26 +8109,23 @@ func (x *SLBgplsTopoL2BundleMemberAttr) GetUnknownAttr() []*SLBgplsTopoUnknownAt // Extended Administrative Group. TLV 1173 // Section 2 of [RFC9104] type SLBgplsTopoExtAdminGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bit mask of administrative groups assigned by the // network administrator. Each set bit corresponds to one // administrative group assigned to the interface. By convention, the // least significant bit is referred to as group 0, and the // most significant bit is referred to as group 31. Each EAG bitmask // is represented in multiple of 4 bytes. - Group []uint32 `protobuf:"varint,1,rep,packed,name=Group,proto3" json:"Group,omitempty"` + Group []uint32 `protobuf:"varint,1,rep,packed,name=Group,proto3" json:"Group,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoExtAdminGroup) Reset() { *x = SLBgplsTopoExtAdminGroup{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoExtAdminGroup) String() string { @@ -8364,7 +8136,7 @@ func (*SLBgplsTopoExtAdminGroup) ProtoMessage() {} func (x *SLBgplsTopoExtAdminGroup) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8387,10 +8159,7 @@ func (x *SLBgplsTopoExtAdminGroup) GetGroup() []uint32 { } type SLBgplsTopoSrBindingSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Binding SID Flags // Flags associated with the SR Binding SID // Section 5.1 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -8424,15 +8193,15 @@ type SLBgplsTopoSrBindingSid struct { Bsid *SLSrBsid `protobuf:"bytes,2,opt,name=Bsid,proto3" json:"Bsid,omitempty"` // The explicitly specified BSID whether it is allocated or not. SpecifiedBsid *SLSrBsid `protobuf:"bytes,3,opt,name=SpecifiedBsid,proto3" json:"SpecifiedBsid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrBindingSid) Reset() { *x = SLBgplsTopoSrBindingSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrBindingSid) String() string { @@ -8443,7 +8212,7 @@ func (*SLBgplsTopoSrBindingSid) ProtoMessage() {} func (x *SLBgplsTopoSrBindingSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8482,10 +8251,7 @@ func (x *SLBgplsTopoSrBindingSid) GetSpecifiedBsid() *SLSrBsid { // SR Candidate Path State. TLV 1202 // Section 5.3 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrCpState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The priority of the candiate path. Priority uint32 `protobuf:"varint,1,opt,name=Priority,proto3" json:"Priority,omitempty"` // SR Candidate Path State Flags @@ -8545,16 +8311,16 @@ type SLBgplsTopoSrCpState struct { // All others are reserved. Flags uint32 `protobuf:"varint,2,opt,name=Flags,proto3" json:"Flags,omitempty"` // Indicates the preference of the candidate path. - Preference uint32 `protobuf:"varint,3,opt,name=Preference,proto3" json:"Preference,omitempty"` + Preference uint32 `protobuf:"varint,3,opt,name=Preference,proto3" json:"Preference,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrCpState) Reset() { *x = SLBgplsTopoSrCpState{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrCpState) String() string { @@ -8565,7 +8331,7 @@ func (*SLBgplsTopoSrCpState) ProtoMessage() {} func (x *SLBgplsTopoSrCpState) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8604,10 +8370,7 @@ func (x *SLBgplsTopoSrCpState) GetPreference() uint32 { // SR Candidate Path Constraints. TLV 1204 // Section 5.6 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrCpConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Candidate Path Constraints Flags // Flags associated with the SR Candidate Path Constraints Flags // Section 5.6 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -8686,16 +8449,16 @@ type SLBgplsTopoSrCpConstraints struct { // candidate path. // SR Metric Contraint. TLV 1215 // Section 5.6.6 of [draft-ietf-idr-bgp-ls-sr-policy] - Metric []*SLBgplsTopoSrMetricConstraint `protobuf:"bytes,9,rep,name=Metric,proto3" json:"Metric,omitempty"` + Metric []*SLBgplsTopoSrMetricConstraint `protobuf:"bytes,9,rep,name=Metric,proto3" json:"Metric,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrCpConstraints) Reset() { *x = SLBgplsTopoSrCpConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrCpConstraints) String() string { @@ -8706,7 +8469,7 @@ func (*SLBgplsTopoSrCpConstraints) ProtoMessage() {} func (x *SLBgplsTopoSrCpConstraints) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8787,10 +8550,7 @@ func (x *SLBgplsTopoSrCpConstraints) GetMetric() []*SLBgplsTopoSrMetricConstrain // SR Segment List. TLV 1205 // Section 5.7 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrSegList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Segment List Flags // Flags associated with the SR Segment List Flags // Section 5.7 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -8860,16 +8620,16 @@ type SLBgplsTopoSrSegList struct { Metrics []*SLBgplsTopoSrSegListMetric `protobuf:"bytes,6,rep,name=Metrics,proto3" json:"Metrics,omitempty"` // SR Segment List Bandwidth. TLV 1216 // Section 5.10 of [draft-ietf-idr-bgp-ls-sr-policy] - Bandwidth *SLBgplsTopoSrSegListBandwidth `protobuf:"bytes,7,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth *SLBgplsTopoSrSegListBandwidth `protobuf:"bytes,7,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrSegList) Reset() { *x = SLBgplsTopoSrSegList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrSegList) String() string { @@ -8880,7 +8640,7 @@ func (*SLBgplsTopoSrSegList) ProtoMessage() {} func (x *SLBgplsTopoSrSegList) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8947,10 +8707,7 @@ func (x *SLBgplsTopoSrSegList) GetBandwidth() *SLBgplsTopoSrSegListBandwidth { // SR Segment List Metric. TLV 1207 // Section 5.9 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrSegListMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Identifies the type of metric. Type uint32 `protobuf:"varint,1,opt,name=Type,proto3" json:"Type,omitempty"` // SR Segment List Metric Flags @@ -8983,16 +8740,16 @@ type SLBgplsTopoSrSegListMetric struct { // is set. Bound uint32 `protobuf:"varint,4,opt,name=Bound,proto3" json:"Bound,omitempty"` // Indicates the metric of the computed path when the Bit-3 is set. - Value uint32 `protobuf:"varint,5,opt,name=Value,proto3" json:"Value,omitempty"` + Value uint32 `protobuf:"varint,5,opt,name=Value,proto3" json:"Value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrSegListMetric) Reset() { *x = SLBgplsTopoSrSegListMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrSegListMetric) String() string { @@ -9003,7 +8760,7 @@ func (*SLBgplsTopoSrSegListMetric) ProtoMessage() {} func (x *SLBgplsTopoSrSegListMetric) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9056,10 +8813,7 @@ func (x *SLBgplsTopoSrSegListMetric) GetValue() uint32 { // SR Affinity Constraints. TLV 1208 // Section 5.6.1 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrAffinityConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The bitmask used to represent the affinities that // have been excluded from the path. Each EAG bitmask // is represented in multiple of 4 bytes. @@ -9071,16 +8825,16 @@ type SLBgplsTopoSrAffinityConstraints struct { // The bitmask used to represent all the affinities // that have been included in the path. Each EAG bitmask // is represented in multiple of 4 bytes. - InclAllEag []uint32 `protobuf:"varint,3,rep,packed,name=InclAllEag,proto3" json:"InclAllEag,omitempty"` + InclAllEag []uint32 `protobuf:"varint,3,rep,packed,name=InclAllEag,proto3" json:"InclAllEag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrAffinityConstraints) Reset() { *x = SLBgplsTopoSrAffinityConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrAffinityConstraints) String() string { @@ -9091,7 +8845,7 @@ func (*SLBgplsTopoSrAffinityConstraints) ProtoMessage() {} func (x *SLBgplsTopoSrAffinityConstraints) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9130,21 +8884,18 @@ func (x *SLBgplsTopoSrAffinityConstraints) GetInclAllEag() []uint32 { // SR SRLG Constraints. TLV 1209 // Section 5.6.2 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrSrlgConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SRLG Values. - SrlgValues []uint32 `protobuf:"varint,1,rep,packed,name=SrlgValues,proto3" json:"SrlgValues,omitempty"` + SrlgValues []uint32 `protobuf:"varint,1,rep,packed,name=SrlgValues,proto3" json:"SrlgValues,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrSrlgConstraints) Reset() { *x = SLBgplsTopoSrSrlgConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrSrlgConstraints) String() string { @@ -9155,7 +8906,7 @@ func (*SLBgplsTopoSrSrlgConstraints) ProtoMessage() {} func (x *SLBgplsTopoSrSrlgConstraints) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9180,23 +8931,20 @@ func (x *SLBgplsTopoSrSrlgConstraints) GetSrlgValues() []uint32 { // SR Bandwidth Constraint. TLV 1210 // Section 5.6.3 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrBandwidthConstraint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Specify the desired bandwidth in unit of // // bytes per second in IEEE floating point format. - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrBandwidthConstraint) Reset() { *x = SLBgplsTopoSrBandwidthConstraint{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrBandwidthConstraint) String() string { @@ -9207,7 +8955,7 @@ func (*SLBgplsTopoSrBandwidthConstraint) ProtoMessage() {} func (x *SLBgplsTopoSrBandwidthConstraint) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9232,10 +8980,7 @@ func (x *SLBgplsTopoSrBandwidthConstraint) GetBandwidth() []byte { // SR Disjoint Group Constraint. TLV 1211 // Section 5.6.4 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrDisjointGroupConstraint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Disjoint Group Constraints Request Flags // Flags associated with the SR Disjoint Group Constraints Flags // Section 5.6.4 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -9292,16 +9037,16 @@ type SLBgplsTopoSrDisjointGroupConstraint struct { // All others are reserved. StatusFlags uint32 `protobuf:"varint,2,opt,name=StatusFlags,proto3" json:"StatusFlags,omitempty"` // The group identifier for a set of disjoint paths. - GroupId uint32 `protobuf:"varint,3,opt,name=GroupId,proto3" json:"GroupId,omitempty"` + GroupId uint32 `protobuf:"varint,3,opt,name=GroupId,proto3" json:"GroupId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrDisjointGroupConstraint) Reset() { *x = SLBgplsTopoSrDisjointGroupConstraint{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrDisjointGroupConstraint) String() string { @@ -9312,7 +9057,7 @@ func (*SLBgplsTopoSrDisjointGroupConstraint) ProtoMessage() {} func (x *SLBgplsTopoSrDisjointGroupConstraint) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9351,23 +9096,20 @@ func (x *SLBgplsTopoSrDisjointGroupConstraint) GetGroupId() uint32 { // SR Policy Name. TLV 1213 // Section 5.4 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrPolicyName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Symbolic name for the SR Policy without a NULL terminator. It is // enforced that the size of the symbolic name be limited to // 255 characters. - Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrPolicyName) Reset() { *x = SLBgplsTopoSrPolicyName{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrPolicyName) String() string { @@ -9378,7 +9120,7 @@ func (*SLBgplsTopoSrPolicyName) ProtoMessage() {} func (x *SLBgplsTopoSrPolicyName) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9403,10 +9145,7 @@ func (x *SLBgplsTopoSrPolicyName) GetName() string { // SR Bidirectional Group Contraint. TLV 1214 // Section 5.6.5 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrBidirGroupConstraint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Bidirectional Group Constraints Flags // Flags associated with the SR Bidirectional Group Constraints Flags // Section 5.6.5 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -9422,16 +9161,16 @@ type SLBgplsTopoSrBidirGroupConstraint struct { // All others are reserved. Flags uint32 `protobuf:"varint,1,opt,name=Flags,proto3" json:"Flags,omitempty"` // The group identifier for a set of bidirectional paths. - GroupId uint32 `protobuf:"varint,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"` + GroupId uint32 `protobuf:"varint,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrBidirGroupConstraint) Reset() { *x = SLBgplsTopoSrBidirGroupConstraint{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrBidirGroupConstraint) String() string { @@ -9442,7 +9181,7 @@ func (*SLBgplsTopoSrBidirGroupConstraint) ProtoMessage() {} func (x *SLBgplsTopoSrBidirGroupConstraint) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9474,10 +9213,7 @@ func (x *SLBgplsTopoSrBidirGroupConstraint) GetGroupId() uint32 { // SR Metric Contraint. TLV 1215 // Section 5.6.6 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrMetricConstraint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Identifies the type of the metric being used. Type uint32 `protobuf:"varint,1,opt,name=Type,proto3" json:"Type,omitempty"` // SR Metric Constraints Flags @@ -9513,16 +9249,16 @@ type SLBgplsTopoSrMetricConstraint struct { // Indicates the maximum metric that is allowed when the Bit-3 is set. // If the computed path metric crosses the specified bound value then // the path is considered invalid. - Bound uint32 `protobuf:"varint,4,opt,name=Bound,proto3" json:"Bound,omitempty"` + Bound uint32 `protobuf:"varint,4,opt,name=Bound,proto3" json:"Bound,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrMetricConstraint) Reset() { *x = SLBgplsTopoSrMetricConstraint{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrMetricConstraint) String() string { @@ -9533,7 +9269,7 @@ func (*SLBgplsTopoSrMetricConstraint) ProtoMessage() {} func (x *SLBgplsTopoSrMetricConstraint) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9579,22 +9315,19 @@ func (x *SLBgplsTopoSrMetricConstraint) GetBound() uint32 { // SR Segment List Bandwidth. TLV 1216 // Section 5.10 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrSegListBandwidth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The allocated bandwidth in unit // of bytes per second in IEEE floating point format. - Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + Bandwidth []byte `protobuf:"bytes,1,opt,name=Bandwidth,proto3" json:"Bandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrSegListBandwidth) Reset() { *x = SLBgplsTopoSrSegListBandwidth{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrSegListBandwidth) String() string { @@ -9605,7 +9338,7 @@ func (*SLBgplsTopoSrSegListBandwidth) ProtoMessage() {} func (x *SLBgplsTopoSrSegListBandwidth) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9630,21 +9363,18 @@ func (x *SLBgplsTopoSrSegListBandwidth) GetBandwidth() []byte { // SR Segment List Identifier. TLV 1217 // Section 5.11 of [draft-ietf-idr-bgp-ls-sr-policy] type SLBgplsTopoSrSegListId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The identifier associated with the segment list. - SegListId uint32 `protobuf:"varint,1,opt,name=SegListId,proto3" json:"SegListId,omitempty"` + SegListId uint32 `protobuf:"varint,1,opt,name=SegListId,proto3" json:"SegListId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrSegListId) Reset() { *x = SLBgplsTopoSrSegListId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrSegListId) String() string { @@ -9655,7 +9385,7 @@ func (*SLBgplsTopoSrSegListId) ProtoMessage() {} func (x *SLBgplsTopoSrSegListId) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9680,10 +9410,7 @@ func (x *SLBgplsTopoSrSegListId) GetSegListId() uint32 { // SRv6 BGP Peer Node SID. TLV 1251 // Section 7.2 of [RFC9514] type SLBgplsTopoSrv6BgpPeerNodeSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SRv6 BGP Peer Node SID Flags // Flags associated with the SRv6 BGP Peer Node SID Flags // Section 7.2 of [RFC9514] @@ -9705,16 +9432,16 @@ type SLBgplsTopoSrv6BgpPeerNodeSid struct { // Autonomous system of peer PeerAS uint32 `protobuf:"varint,3,opt,name=PeerAS,proto3" json:"PeerAS,omitempty"` // BGP Router ID of peer - PeerBgpId []byte `protobuf:"bytes,4,opt,name=PeerBgpId,proto3" json:"PeerBgpId,omitempty"` + PeerBgpId []byte `protobuf:"bytes,4,opt,name=PeerBgpId,proto3" json:"PeerBgpId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoSrv6BgpPeerNodeSid) Reset() { *x = SLBgplsTopoSrv6BgpPeerNodeSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoSrv6BgpPeerNodeSid) String() string { @@ -9725,7 +9452,7 @@ func (*SLBgplsTopoSrv6BgpPeerNodeSid) ProtoMessage() {} func (x *SLBgplsTopoSrv6BgpPeerNodeSid) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9771,22 +9498,19 @@ func (x *SLBgplsTopoSrv6BgpPeerNodeSid) GetPeerBgpId() []byte { // Unknown Attribute. // Added to hold any unknown/unsupported TLV by IOS-XR/BGPLS. type SLBgplsTopoUnknownAttr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TlvType uint32 `protobuf:"varint,1,opt,name=TlvType,proto3" json:"TlvType,omitempty"` + TlvLen uint32 `protobuf:"varint,2,opt,name=TlvLen,proto3" json:"TlvLen,omitempty"` + RawTlv []byte `protobuf:"bytes,3,opt,name=RawTlv,proto3" json:"RawTlv,omitempty"` unknownFields protoimpl.UnknownFields - - TlvType uint32 `protobuf:"varint,1,opt,name=TlvType,proto3" json:"TlvType,omitempty"` - TlvLen uint32 `protobuf:"varint,2,opt,name=TlvLen,proto3" json:"TlvLen,omitempty"` - RawTlv []byte `protobuf:"bytes,3,opt,name=RawTlv,proto3" json:"RawTlv,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLBgplsTopoUnknownAttr) Reset() { *x = SLBgplsTopoUnknownAttr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_bgpls_topology_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_bgpls_topology_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLBgplsTopoUnknownAttr) String() string { @@ -9797,7 +9521,7 @@ func (*SLBgplsTopoUnknownAttr) ProtoMessage() {} func (x *SLBgplsTopoUnknownAttr) ProtoReflect() protoreflect.Message { mi := &file_sl_bgpls_topology_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9835,1636 +9559,682 @@ func (x *SLBgplsTopoUnknownAttr) GetRawTlv() []byte { var File_sl_bgpls_topology_proto protoreflect.FileDescriptor -var file_sl_bgpls_topology_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x73, 0x6c, 0x5f, 0x62, 0x67, 0x70, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, - 0x6f, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, - 0x12, 0x73, 0x6c, 0x5f, 0x73, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x12, 0x39, 0x0a, - 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6c, 0x72, 0x69, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xdc, 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6c, 0x72, 0x69, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x44, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x3e, 0x0a, 0x08, 0x4e, 0x6c, 0x72, 0x69, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6c, 0x72, 0x69, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x4e, - 0x6c, 0x72, 0x69, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x12, - 0x3c, 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, - 0x48, 0x00, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, - 0x04, 0x44, 0x61, 0x74, 0x61, 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, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x48, 0x00, 0x52, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x6e, 0x64, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, - 0x16, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x6e, - 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x39, 0x0a, 0x07, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x09, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, - 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x22, 0xdc, 0x03, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x04, - 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x3e, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x12, 0x41, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, - 0x36, 0x53, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x53, 0x72, 0x76, 0x36, - 0x53, 0x69, 0x64, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x08, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x37, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x13, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x4e, 0x6f, - 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, - 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x4c, 0x69, - 0x6e, 0x6b, 0x12, 0x3e, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x74, 0x74, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x74, - 0x74, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x06, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 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, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x06, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x41, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x74, 0x74, 0x72, - 0x52, 0x0a, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x74, 0x74, 0x72, 0x22, 0x9e, 0x01, 0x0a, - 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, - 0x53, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x36, 0x53, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x52, 0x07, 0x53, 0x72, 0x76, - 0x36, 0x53, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x0b, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x41, - 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, - 0x52, 0x0b, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, 0x22, 0xa5, 0x01, - 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08, 0x53, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x08, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4a, 0x0a, 0x0c, 0x53, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x22, 0xa4, 0x03, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x73, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x41, 0x73, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x4f, - 0x73, 0x70, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x73, 0x70, 0x66, 0x4e, - 0x6f, 0x64, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x4f, 0x73, 0x70, 0x66, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0c, 0x4f, 0x73, 0x70, 0x66, 0x76, 0x33, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x73, 0x70, 0x66, 0x76, 0x33, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x48, 0x00, 0x52, 0x0c, 0x4f, 0x73, 0x70, 0x66, 0x76, 0x33, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x49, 0x73, 0x69, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x49, 0x73, 0x69, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x49, - 0x73, 0x69, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x42, 0x67, 0x70, - 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, 0x67, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x48, 0x00, 0x52, 0x09, 0x42, 0x67, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x52, - 0x0a, 0x0e, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x48, 0x00, 0x52, 0x0e, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xe6, 0x01, 0x0a, - 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x46, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, - 0x63, 0x72, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x12, 0x48, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x12, 0x41, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x52, 0x09, 0x4c, 0x69, 0x6e, 0x6b, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x11, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3c, 0x0a, 0x09, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x12, 0x47, 0x0a, 0x0b, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x52, 0x0b, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x4e, 0x6f, 0x64, - 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 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, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4e, 0x6f, - 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x12, 0x4a, 0x0a, 0x0c, 0x53, 0x72, 0x76, 0x36, 0x53, - 0x69, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x52, 0x0c, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x22, 0xa2, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x53, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x73, 0x63, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x52, 0x0d, 0x53, 0x72, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x22, 0xfc, 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x49, 0x70, 0x76, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x49, 0x70, 0x76, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, - 0x70, 0x76, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x49, 0x70, 0x76, 0x34, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, - 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, - 0x70, 0x76, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x76, - 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, - 0x70, 0x76, 0x36, 0x12, 0x32, 0x0a, 0x04, 0x4d, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x74, 0x49, - 0x64, 0x52, 0x04, 0x4d, 0x74, 0x49, 0x64, 0x22, 0xd7, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x12, 0x32, 0x0a, 0x04, 0x4d, 0x74, 0x49, 0x64, 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, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x74, 0x49, 0x64, - 0x52, 0x04, 0x4d, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0d, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x22, 0x67, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x12, 0x32, 0x0a, 0x04, - 0x4d, 0x74, 0x49, 0x64, 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, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x74, 0x49, 0x64, 0x52, 0x04, 0x4d, 0x74, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x22, 0xb1, 0x03, 0x0a, 0x18, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x12, 0x49, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, - 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x34, - 0x45, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x0b, 0x49, 0x70, 0x76, 0x34, 0x45, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x0a, 0x0b, - 0x49, 0x70, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x49, 0x70, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x41, 0x73, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x41, 0x73, 0x6e, 0x12, 0x24, 0x0a, 0x0c, 0x49, 0x70, 0x76, 0x34, 0x4f, 0x72, 0x69, 0x67, - 0x41, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0c, 0x49, 0x70, - 0x76, 0x34, 0x4f, 0x72, 0x69, 0x67, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0c, 0x49, 0x70, - 0x76, 0x36, 0x4f, 0x72, 0x69, 0x67, 0x41, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x01, 0x52, 0x0c, 0x49, 0x70, 0x76, 0x36, 0x4f, 0x72, 0x69, 0x67, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8f, - 0x01, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x73, - 0x70, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x72, 0x65, 0x61, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x41, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x49, 0x73, 0x41, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, - 0x44, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x44, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x4f, 0x73, 0x70, 0x66, 0x76, 0x33, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x72, - 0x65, 0x61, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x41, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, - 0x44, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x44, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x22, 0x49, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x49, - 0x73, 0x69, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x73, 0x6e, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x50, 0x73, 0x6e, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, 0x67, 0x70, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x22, 0x9d, 0x01, - 0x0a, 0x19, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x41, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x41, 0x73, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x49, 0x70, 0x76, - 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x70, 0x76, - 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0c, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x82, 0x08, - 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x12, 0x32, 0x0a, 0x04, 0x4d, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, - 0x74, 0x49, 0x64, 0x52, 0x04, 0x4d, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x4e, 0x6f, 0x64, - 0x65, 0x4d, 0x73, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x73, 0x64, 0x52, 0x07, 0x4e, - 0x6f, 0x64, 0x65, 0x4d, 0x73, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, - 0x61, 0x67, 0x42, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x42, 0x69, 0x74, 0x73, 0x52, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x69, - 0x74, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x52, 0x0e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x12, 0x3a, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x4e, 0x6f, - 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x44, 0x0a, 0x0a, 0x49, 0x73, 0x69, 0x73, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x49, 0x73, 0x69, 0x73, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x52, 0x0a, 0x49, 0x73, 0x69, 0x73, - 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, - 0x70, 0x76, 0x34, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, - 0x34, 0x12, 0x49, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x12, 0x4d, 0x0a, 0x0d, - 0x53, 0x72, 0x67, 0x62, 0x49, 0x73, 0x69, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, - 0x72, 0x67, 0x62, 0x49, 0x73, 0x69, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0d, 0x53, 0x72, - 0x67, 0x62, 0x49, 0x73, 0x69, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x53, - 0x72, 0x67, 0x62, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x67, 0x62, 0x52, 0x04, 0x53, 0x72, 0x67, 0x62, 0x12, - 0x47, 0x0a, 0x0b, 0x53, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x53, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x0b, 0x53, 0x72, 0x41, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x32, 0x0a, 0x04, 0x53, 0x72, 0x6c, 0x62, - 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x53, 0x72, 0x6c, 0x62, 0x52, 0x04, 0x53, 0x72, 0x6c, 0x62, 0x12, 0x2f, 0x0a, 0x03, - 0x46, 0x61, 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x46, 0x61, 0x64, 0x52, 0x03, 0x46, 0x61, 0x64, 0x12, 0x47, 0x0a, - 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, - 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x12, 0x4a, 0x0a, 0x0c, 0x53, 0x72, 0x76, 0x36, 0x43, 0x61, - 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x43, 0x61, 0x70, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0c, 0x53, 0x72, 0x76, 0x36, 0x43, 0x61, 0x70, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x22, 0x91, 0x15, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x74, 0x74, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x4c, 0x69, - 0x6e, 0x6b, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, - 0x6f, 0x63, 0x52, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x63, - 0x52, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x73, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x73, 0x64, 0x52, 0x07, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, - 0x73, 0x64, 0x12, 0x59, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x34, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, - 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x11, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x59, 0x0a, - 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x52, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x6e, 0x64, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0c, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x6e, 0x64, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x12, 0x5a, 0x0a, 0x10, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x76, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x10, - 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x12, 0x57, 0x0a, 0x0f, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x76, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0f, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x76, - 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x4f, 0x0a, 0x0b, 0x54, 0x65, 0x44, - 0x65, 0x66, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0b, 0x54, - 0x65, 0x44, 0x65, 0x66, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x54, 0x0a, 0x0e, 0x50, 0x72, - 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, - 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x51, 0x0a, 0x0d, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x61, 0x73, - 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0d, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4d, - 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a, 0x09, 0x49, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, - 0x09, 0x49, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x36, 0x0a, 0x04, 0x53, 0x72, - 0x6c, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x72, 0x6c, 0x67, 0x52, 0x04, 0x53, 0x72, - 0x6c, 0x67, 0x12, 0x48, 0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x52, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x12, 0x3e, 0x0a, 0x08, - 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, - 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x52, 0x06, - 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x09, 0x4c, 0x61, 0x6e, 0x41, 0x64, 0x6a, - 0x53, 0x69, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x61, 0x6e, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x52, 0x09, - 0x4c, 0x61, 0x6e, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x0e, 0x42, 0x67, 0x70, - 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x18, 0x14, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, 0x67, 0x70, - 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x52, 0x0e, 0x42, 0x67, 0x70, - 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x0d, 0x42, - 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x18, 0x15, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, 0x67, - 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x52, 0x0d, 0x42, 0x67, 0x70, - 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x0d, 0x42, 0x67, - 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x74, 0x53, 0x69, 0x64, 0x18, 0x16, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, 0x67, 0x70, - 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x74, 0x53, 0x69, 0x64, 0x52, 0x0d, 0x42, 0x67, 0x70, 0x50, - 0x65, 0x65, 0x72, 0x53, 0x65, 0x74, 0x53, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, - 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x4c, 0x69, - 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0c, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x5c, 0x0a, 0x12, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x55, - 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x69, 0x6e, - 0x4d, 0x61, 0x78, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, - 0x12, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, - 0x6c, 0x61, 0x79, 0x12, 0x47, 0x0a, 0x0b, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, - 0x61, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x52, - 0x0b, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x12, 0x47, 0x0a, 0x0b, - 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, - 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x0b, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, - 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x55, 0x6e, 0x69, 0x52, 0x65, 0x73, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x52, 0x65, 0x73, - 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0f, 0x55, 0x6e, 0x69, 0x52, 0x65, - 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x59, 0x0a, 0x11, 0x55, 0x6e, - 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, - 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x52, 0x11, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x56, 0x0a, 0x10, 0x55, 0x6e, 0x69, 0x55, 0x74, 0x69, 0x6c, - 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x55, 0x74, - 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x10, 0x55, 0x6e, 0x69, - 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x36, 0x0a, - 0x04, 0x41, 0x73, 0x6c, 0x61, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x41, 0x73, 0x6c, 0x61, 0x41, 0x74, 0x74, 0x72, 0x52, - 0x04, 0x41, 0x73, 0x6c, 0x61, 0x12, 0x5c, 0x0a, 0x12, 0x4c, 0x32, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x18, 0x1f, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x32, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x52, - 0x12, 0x4c, 0x32, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x47, 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, - 0x72, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x12, 0x47, 0x0a, 0x0b, 0x53, - 0x72, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, - 0x45, 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, 0x52, 0x0b, 0x53, 0x72, 0x76, 0x36, 0x45, 0x6e, 0x64, - 0x58, 0x53, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x0e, 0x53, 0x72, 0x76, 0x36, 0x4c, 0x61, 0x6e, 0x45, - 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x4c, 0x61, 0x6e, 0x45, - 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, 0x52, 0x0e, 0x53, 0x72, 0x76, 0x36, 0x4c, 0x61, 0x6e, 0x45, - 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, 0x22, 0xb1, 0x07, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x74, 0x74, 0x72, - 0x12, 0x38, 0x0a, 0x04, 0x46, 0x61, 0x70, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x46, 0x41, 0x50, 0x4d, 0x52, 0x04, 0x46, 0x61, 0x70, 0x6d, 0x12, 0x44, 0x0a, 0x08, 0x49, 0x67, - 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, 0x67, - 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x08, 0x49, 0x67, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x4d, 0x0a, 0x0b, 0x49, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x67, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, - 0x61, 0x67, 0x52, 0x0b, 0x49, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, - 0x56, 0x0a, 0x0e, 0x49, 0x67, 0x70, 0x45, 0x78, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, - 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, 0x67, 0x70, 0x45, 0x78, 0x74, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x0e, 0x49, 0x67, 0x70, 0x45, 0x78, 0x74, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x3e, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, - 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x4d, 0x0a, 0x0b, 0x4f, 0x73, 0x70, 0x66, 0x46, - 0x77, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4f, 0x73, - 0x70, 0x66, 0x46, 0x77, 0x64, 0x41, 0x64, 0x64, 0x72, 0x52, 0x0b, 0x4f, 0x73, 0x70, 0x66, 0x46, - 0x77, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x4a, 0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x12, 0x35, 0x0a, 0x03, 0x53, 0x69, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x53, 0x69, 0x64, 0x52, 0x03, 0x53, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x05, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x74, 0x74, 0x72, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x52, 0x09, 0x41, 0x74, 0x74, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x4d, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x72, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x47, - 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x18, 0x0c, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, - 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x12, 0x41, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x36, 0x4c, - 0x6f, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x72, 0x76, 0x36, 0x4c, 0x6f, - 0x63, 0x52, 0x07, 0x53, 0x72, 0x76, 0x36, 0x4c, 0x6f, 0x63, 0x22, 0xc8, 0x02, 0x0a, 0x16, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, - 0x64, 0x41, 0x74, 0x74, 0x72, 0x12, 0x51, 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x42, 0x67, 0x70, 0x50, - 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, - 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x52, 0x0e, - 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x12, 0x3c, - 0x0a, 0x09, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x52, 0x09, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x0b, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x6b, - 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x41, 0x74, 0x74, 0x72, 0x22, 0xaf, 0x04, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x74, 0x74, - 0x72, 0x12, 0x3e, 0x0a, 0x06, 0x53, 0x72, 0x42, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x52, 0x06, 0x53, 0x72, 0x42, 0x73, 0x69, - 0x64, 0x12, 0x3d, 0x0a, 0x07, 0x43, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, - 0x43, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x43, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x31, 0x0a, 0x06, 0x43, 0x70, 0x4e, 0x61, 0x6d, 0x65, 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, 0x53, 0x72, 0x43, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x43, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x43, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x43, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0d, 0x43, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x08, 0x53, 0x65, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x53, 0x72, 0x76, 0x36, 0x42, 0x73, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x52, 0x08, 0x53, 0x72, 0x76, 0x36, 0x42, 0x73, - 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x0c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, - 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, - 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x22, 0x4e, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6d, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x74, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x4d, 0x74, 0x49, 0x64, 0x22, 0x3e, - 0x0a, 0x12, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, - 0x65, 0x4d, 0x73, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3e, - 0x0a, 0x12, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, - 0x6b, 0x4d, 0x73, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2f, - 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x64, - 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, - 0x3b, 0x0a, 0x19, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, - 0x64, 0x65, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x22, 0x25, 0x0a, 0x0f, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x49, 0x73, 0x69, 0x73, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x41, 0x72, - 0x65, 0x61, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x3a, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x1d, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x49, 0x70, 0x76, 0x34, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x1d, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, - 0x76, 0x36, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x67, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x67, 0x62, 0x49, 0x73, 0x69, 0x73, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x38, 0x0a, 0x16, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x73, 0x22, 0x4f, 0x0a, 0x0f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x53, 0x72, 0x6c, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x43, 0x61, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xaa, 0x04, 0x0a, 0x0e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x46, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x63, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x63, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x45, 0x78, 0x63, 0x41, 0x6e, 0x79, 0x41, 0x66, 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x09, 0x45, 0x78, 0x63, 0x41, 0x6e, 0x79, 0x41, 0x66, 0x66, 0x12, 0x1c, 0x0a, 0x09, - 0x49, 0x6e, 0x63, 0x41, 0x6e, 0x79, 0x41, 0x66, 0x66, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x09, 0x49, 0x6e, 0x63, 0x41, 0x6e, 0x79, 0x41, 0x66, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, - 0x63, 0x41, 0x6c, 0x6c, 0x41, 0x66, 0x66, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x49, - 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x41, 0x66, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x45, 0x78, 0x63, 0x53, 0x72, 0x6c, 0x67, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x07, 0x45, 0x78, 0x63, 0x53, 0x72, 0x6c, 0x67, 0x12, 0x44, 0x0a, 0x09, 0x55, 0x6e, 0x73, 0x75, - 0x70, 0x70, 0x54, 0x6c, 0x76, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x46, 0x61, 0x64, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, - 0x54, 0x6c, 0x76, 0x52, 0x09, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x54, 0x6c, 0x76, 0x12, 0x1a, - 0x0a, 0x08, 0x45, 0x78, 0x63, 0x4d, 0x69, 0x6e, 0x42, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x45, 0x78, 0x63, 0x4d, 0x69, 0x6e, 0x42, 0x77, 0x12, 0x4a, 0x0a, 0x0b, 0x45, 0x78, - 0x63, 0x4d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x46, 0x61, 0x64, 0x45, 0x78, - 0x63, 0x4d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x4d, 0x61, - 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x41, 0x6e, 0x79, - 0x52, 0x65, 0x76, 0x41, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x45, 0x78, - 0x63, 0x41, 0x6e, 0x79, 0x52, 0x65, 0x76, 0x41, 0x66, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6e, - 0x63, 0x41, 0x6e, 0x79, 0x52, 0x65, 0x76, 0x41, 0x66, 0x66, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0c, 0x49, 0x6e, 0x63, 0x41, 0x6e, 0x79, 0x52, 0x65, 0x76, 0x41, 0x66, 0x66, 0x12, 0x22, - 0x0a, 0x0c, 0x49, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x76, 0x41, 0x66, 0x66, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x49, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x76, 0x41, - 0x66, 0x66, 0x22, 0x61, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x46, 0x41, 0x50, 0x4d, 0x12, 0x1a, 0x0a, 0x08, 0x46, - 0x6c, 0x65, 0x78, 0x41, 0x6c, 0x67, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x46, - 0x6c, 0x65, 0x78, 0x41, 0x6c, 0x67, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x6f, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x46, 0x61, 0x64, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x54, 0x6c, 0x76, - 0x12, 0x3e, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x46, 0x61, 0x64, 0x45, 0x78, 0x63, 0x4d, 0x61, 0x78, 0x44, 0x65, - 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x3b, 0x0a, 0x1b, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x3f, 0x0a, 0x1f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x76, - 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, - 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x5a, 0x0a, 0x1e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x76, - 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x22, 0x38, 0x0a, 0x1e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x33, 0x0a, - 0x1d, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, - 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x4d, 0x61, - 0x73, 0x6b, 0x22, 0x32, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x61, - 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x32, 0x0a, 0x18, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x2f, 0x0a, 0x13, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x72, 0x6c, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x6c, 0x67, 0x56, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x07, 0x53, 0x72, 0x6c, 0x67, 0x56, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x19, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, - 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x4f, 0x70, - 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x22, 0x29, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x11, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x41, 0x64, 0x6a, - 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x69, 0x64, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x22, 0xef, 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x4c, 0x61, 0x6e, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x08, 0x4e, 0x65, 0x69, - 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x4c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, - 0x64, 0x52, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x41, - 0x64, 0x6a, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x69, 0x64, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x53, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x53, - 0x69, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x42, 0x67, 0x70, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x42, - 0x67, 0x70, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x18, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, - 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x03, 0x53, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x42, 0x67, 0x70, 0x53, - 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x42, 0x67, 0x70, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, - 0xa3, 0x01, 0x0a, 0x18, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x42, - 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x74, 0x53, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x53, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x53, 0x69, 0x64, 0x12, 0x47, - 0x0a, 0x0c, 0x42, 0x67, 0x70, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x42, 0x67, 0x70, 0x53, 0x69, - 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x53, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x53, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2a, - 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x69, - 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x53, - 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x61, 0x0a, 0x15, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x4c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x08, 0x49, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x49, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x1c, 0x0a, 0x08, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x08, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x42, 0x0c, 0x0a, - 0x0a, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xa5, 0x02, 0x0a, 0x19, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x4c, - 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x58, 0x53, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x08, 0x4e, 0x65, 0x69, - 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x4c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, - 0x64, 0x52, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x53, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x53, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x6e, 0x64, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x53, - 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x22, 0x45, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x44, - 0x65, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x59, 0x0a, 0x1d, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x55, - 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x4d, 0x69, 0x6e, 0x12, 0x10, 0x0a, - 0x03, 0x4d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x4d, 0x61, 0x78, 0x12, - 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x4c, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x12, - 0x1c, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x22, 0x42, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x4c, 0x6f, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x4c, 0x6f, 0x73, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x3a, 0x0a, 0x1a, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x52, 0x65, 0x73, 0x42, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x22, 0x3c, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x22, 0x3b, 0x0a, 0x1b, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x55, 0x6e, 0x69, 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0xaa, - 0x07, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x41, 0x73, - 0x6c, 0x61, 0x41, 0x74, 0x74, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x61, 0x62, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x53, 0x61, 0x62, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x55, 0x64, - 0x61, 0x62, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x55, 0x64, 0x61, 0x62, 0x6d, - 0x12, 0x4f, 0x0a, 0x0b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x52, 0x0b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x12, 0x36, 0x0a, 0x04, 0x53, 0x72, 0x6c, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x53, - 0x72, 0x6c, 0x67, 0x52, 0x04, 0x53, 0x72, 0x6c, 0x67, 0x12, 0x4a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, - 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x4c, 0x69, - 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0c, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4c, - 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, - 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0f, 0x4d, 0x69, - 0x6e, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x53, 0x0a, - 0x11, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x52, - 0x11, 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0b, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x0b, - 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x55, - 0x6e, 0x69, 0x52, 0x65, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x55, 0x6e, 0x69, 0x52, 0x65, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, - 0x0f, 0x55, 0x6e, 0x69, 0x52, 0x65, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x12, 0x59, 0x0a, 0x11, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x11, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x56, 0x0a, 0x10, 0x55, - 0x6e, 0x69, 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x55, 0x6e, 0x69, 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x52, 0x10, 0x55, 0x6e, 0x69, 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x47, 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, - 0x72, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x22, 0x31, 0x0a, 0x19, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x49, 0x67, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x30, - 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x49, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x10, - 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x54, 0x61, 0x67, - 0x22, 0x33, 0x0a, 0x1f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, 0x67, 0x70, 0x45, 0x78, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x03, 0x54, 0x61, 0x67, 0x22, 0x31, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x69, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4f, 0x73, 0x70, - 0x66, 0x46, 0x77, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1c, 0x0a, 0x08, 0x49, 0x70, 0x76, 0x34, - 0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x49, 0x70, - 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1c, 0x0a, 0x08, 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, - 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x49, 0x70, 0x76, 0x36, - 0x41, 0x64, 0x64, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x4f, 0x73, 0x70, 0x66, 0x46, 0x77, 0x64, 0x41, - 0x64, 0x64, 0x72, 0x22, 0x3d, 0x0a, 0x1b, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, - 0x1e, 0x0a, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x53, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x52, 0x0f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x64, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x64, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x53, 0x69, 0x64, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x22, 0x66, 0x0a, 0x18, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x72, 0x76, 0x36, 0x4c, 0x6f, 0x63, 0x12, - 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x32, 0x0a, 0x1a, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x41, 0x74, 0x74, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, - 0x69, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x53, 0x72, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x08, 0x49, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x08, 0x49, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1c, 0x0a, - 0x08, 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x08, 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x53, - 0x72, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x82, 0x0b, 0x0a, 0x1d, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x32, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x12, 0x4e, 0x0a, 0x0c, - 0x4d, 0x61, 0x78, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, - 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0c, - 0x4d, 0x61, 0x78, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x5a, 0x0a, 0x10, - 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x76, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x57, 0x0a, 0x0f, 0x55, 0x6e, 0x72, 0x65, - 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, - 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x52, 0x0f, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x76, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x12, 0x4f, 0x0a, 0x0b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0b, 0x54, 0x65, 0x44, 0x65, 0x66, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x54, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x41, 0x64, 0x6a, 0x53, - 0x69, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x52, 0x06, 0x41, 0x64, 0x6a, 0x53, - 0x69, 0x64, 0x12, 0x41, 0x0a, 0x09, 0x4c, 0x61, 0x6e, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x4c, 0x61, 0x6e, 0x41, 0x64, 0x6a, 0x53, 0x69, 0x64, 0x52, 0x09, 0x4c, 0x61, 0x6e, 0x41, - 0x64, 0x6a, 0x53, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, - 0x6c, 0x61, 0x79, 0x52, 0x0c, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, - 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6e, 0x6b, 0x44, - 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x55, 0x6e, 0x69, 0x4c, - 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0f, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, - 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x53, 0x0a, 0x11, 0x55, 0x6e, 0x69, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x55, 0x6e, 0x69, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x52, 0x11, 0x55, 0x6e, 0x69, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, - 0x0a, 0x0b, 0x55, 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, - 0x6e, 0x69, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x0b, 0x55, 0x6e, 0x69, 0x4c, - 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x55, 0x6e, 0x69, 0x52, 0x65, - 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x52, - 0x65, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0f, 0x55, 0x6e, 0x69, - 0x52, 0x65, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x59, 0x0a, 0x11, - 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x52, 0x11, 0x55, 0x6e, 0x69, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x42, 0x61, - 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x56, 0x0a, 0x10, 0x55, 0x6e, 0x69, 0x55, 0x74, - 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x69, - 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x10, 0x55, - 0x6e, 0x69, 0x55, 0x74, 0x69, 0x6c, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, - 0x36, 0x0a, 0x04, 0x41, 0x73, 0x6c, 0x61, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x41, 0x73, 0x6c, 0x61, 0x41, 0x74, 0x74, - 0x72, 0x52, 0x04, 0x41, 0x73, 0x6c, 0x61, 0x12, 0x4d, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x47, 0x0a, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x41, 0x74, 0x74, 0x72, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, - 0x74, 0x72, 0x52, 0x0b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x22, - 0x30, 0x0a, 0x18, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x45, 0x78, - 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x53, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x42, 0x73, 0x69, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x42, 0x73, 0x69, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x42, - 0x73, 0x69, 0x64, 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, 0x53, 0x72, 0x42, 0x73, - 0x69, 0x64, 0x52, 0x04, 0x42, 0x73, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x53, 0x72, 0x42, 0x73, 0x69, 0x64, 0x52, 0x0d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x42, 0x73, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x43, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x22, 0xaa, 0x04, 0x0a, 0x1a, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x53, 0x72, 0x43, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x74, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x4d, 0x74, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x4b, 0x0a, 0x08, 0x41, 0x66, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x08, 0x41, 0x66, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x04, 0x53, 0x72, 0x6c, 0x67, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, - 0x72, 0x53, 0x72, 0x6c, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x52, 0x04, 0x53, 0x72, 0x6c, 0x67, 0x12, 0x4d, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x4f, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6a, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x44, 0x69, 0x73, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x44, 0x69, - 0x73, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0a, 0x42, 0x69, 0x64, 0x69, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x42, 0x69, 0x64, 0x69, 0x72, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x42, 0x69, - 0x64, 0x69, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x44, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0xbf, - 0x02, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, - 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x4d, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x4d, 0x74, 0x69, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x43, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, - 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x61, 0x72, 0x67, 0x69, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x82, 0x01, - 0x0a, 0x20, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x41, - 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x41, 0x6e, 0x79, 0x45, 0x61, 0x67, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x41, 0x6e, 0x79, 0x45, - 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x63, 0x6c, 0x41, 0x6e, 0x79, 0x45, 0x61, 0x67, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x49, 0x6e, 0x63, 0x6c, 0x41, 0x6e, 0x79, 0x45, - 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x63, 0x6c, 0x41, 0x6c, 0x6c, 0x45, 0x61, 0x67, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x49, 0x6e, 0x63, 0x6c, 0x41, 0x6c, 0x6c, 0x45, - 0x61, 0x67, 0x22, 0x3e, 0x0a, 0x1c, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x53, 0x72, 0x53, 0x72, 0x6c, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x72, 0x6c, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x72, 0x6c, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0x40, 0x0a, 0x20, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x53, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x22, 0x86, 0x01, 0x0a, 0x24, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x44, 0x69, 0x73, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, - 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x2d, 0x0a, - 0x17, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x21, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x42, 0x69, 0x64, - 0x69, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x64, 0x22, 0x77, 0x0a, 0x1d, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x53, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x61, - 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x3d, 0x0a, 0x1d, 0x53, 0x4c, - 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x36, 0x0a, 0x16, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x64, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x53, 0x72, 0x76, 0x36, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x41, 0x53, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x50, 0x65, 0x65, 0x72, 0x41, 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x65, 0x65, - 0x72, 0x42, 0x67, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x50, 0x65, - 0x65, 0x72, 0x42, 0x67, 0x70, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x54, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, - 0x6c, 0x76, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x54, 0x6c, 0x76, - 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x77, 0x54, 0x6c, 0x76, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x52, 0x61, 0x77, 0x54, 0x6c, 0x76, 0x2a, 0x84, 0x01, 0x0a, 0x14, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, - 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, 0x50, 0x45, 0x52, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x22, - 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, - 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x10, 0x02, 0x2a, 0xad, 0x02, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x4e, 0x6c, 0x72, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4e, 0x4c, 0x52, 0x49, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, - 0x4f, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, - 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, - 0x4f, 0x50, 0x4f, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x49, - 0x4e, 0x4b, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, - 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x49, 0x50, 0x56, 0x34, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x03, 0x12, 0x27, 0x0a, - 0x23, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4e, - 0x4c, 0x52, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x50, 0x52, - 0x45, 0x46, 0x49, 0x58, 0x10, 0x04, 0x12, 0x34, 0x0a, 0x30, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x44, - 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4e, 0x4c, - 0x52, 0x49, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, 0x44, - 0x10, 0x06, 0x2a, 0xf1, 0x02, 0x0a, 0x13, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, - 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, 0x49, 0x53, 0x5f, 0x4c, - 0x31, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, - 0x49, 0x53, 0x5f, 0x4c, 0x32, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x76, 0x32, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x12, 0x21, 0x0a, - 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x05, - 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, - 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x76, - 0x33, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x53, - 0x56, 0x50, 0x5f, 0x54, 0x45, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x53, 0x52, 0x10, 0x09, 0x2a, 0xce, 0x02, 0x0a, 0x18, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x2c, 0x0a, 0x28, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, - 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0x01, 0x12, 0x2c, 0x0a, - 0x28, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, - 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, 0x53, 0x50, - 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, - 0x45, 0x52, 0x4e, 0x5f, 0x31, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x5f, - 0x32, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x53, 0x53, 0x41, 0x5f, 0x31, 0x10, 0x05, 0x12, 0x28, 0x0a, - 0x24, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x4f, - 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, - 0x53, 0x53, 0x41, 0x5f, 0x32, 0x10, 0x06, 0x2a, 0xab, 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x25, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, - 0x4f, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x49, 0x44, - 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x12, - 0x24, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, - 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x56, 0x36, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x10, 0x03, 0x2a, 0xa0, 0x01, 0x0a, 0x1a, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x64, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, - 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x53, 0x49, 0x44, - 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, - 0x4f, 0x50, 0x4f, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x29, 0x0a, - 0x25, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x50, - 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x9a, 0x02, 0x0a, 0x1c, 0x53, 0x4c, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x53, 0x69, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x42, 0x53, - 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x2d, 0x0a, 0x27, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, - 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x42, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x36, 0x10, 0x80, 0x80, - 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, - 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x42, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x80, 0x80, 0x01, 0x12, 0x27, 0x0a, - 0x22, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x42, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x4e, 0x41, 0x56, - 0x41, 0x49, 0x4c, 0x10, 0x80, 0x40, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x42, 0x53, 0x49, 0x44, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x52, 0x4c, 0x42, 0x10, 0x80, 0x20, 0x12, 0x27, 0x0a, 0x22, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, - 0x5f, 0x42, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, - 0x49, 0x43, 0x10, 0x80, 0x10, 0x2a, 0xce, 0x04, 0x0a, 0x19, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, - 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x43, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x2f, 0x0a, 0x29, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, - 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x10, 0x80, 0x80, - 0x02, 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, - 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x80, 0x80, 0x01, 0x12, 0x2a, - 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, - 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x80, 0x40, 0x12, 0x2d, 0x0a, 0x28, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x45, 0x56, 0x41, - 0x4c, 0x55, 0x41, 0x54, 0x45, 0x44, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a, 0x24, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x10, 0x80, 0x10, 0x12, 0x30, 0x0a, 0x2b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, - 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, - 0x5f, 0x4e, 0x48, 0x10, 0x80, 0x08, 0x12, 0x2d, 0x0a, 0x28, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x47, 0x41, 0x54, - 0x45, 0x44, 0x10, 0x80, 0x04, 0x12, 0x2f, 0x0a, 0x2a, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, - 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, - 0x4e, 0x45, 0x44, 0x10, 0x80, 0x02, 0x12, 0x35, 0x0a, 0x30, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x55, 0x50, - 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x80, 0x01, 0x12, 0x2a, 0x0a, - 0x26, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x10, 0x40, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x52, 0x4f, 0x50, - 0x50, 0x49, 0x4e, 0x47, 0x10, 0x20, 0x2a, 0x8e, 0x04, 0x0a, 0x1f, 0x53, 0x4c, 0x42, 0x67, 0x70, - 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x43, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, - 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x37, 0x0a, - 0x31, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, - 0x56, 0x36, 0x10, 0x80, 0x80, 0x02, 0x12, 0x34, 0x0a, 0x2e, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, - 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x50, - 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x80, 0x80, 0x01, 0x12, 0x35, 0x0a, 0x30, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, - 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x10, 0x80, 0x40, 0x12, 0x38, 0x0a, 0x33, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, - 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x10, 0x80, 0x20, 0x12, 0x38, 0x0a, - 0x33, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, - 0x54, 0x4f, 0x50, 0x4f, 0x10, 0x80, 0x10, 0x12, 0x34, 0x0a, 0x2f, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x55, 0x53, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x10, 0x80, 0x08, 0x12, 0x32, 0x0a, - 0x2d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x10, 0x80, - 0x04, 0x12, 0x34, 0x0a, 0x2f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, - 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x43, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, - 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x42, 0x59, - 0x5f, 0x48, 0x4f, 0x50, 0x10, 0x80, 0x02, 0x2a, 0x8d, 0x04, 0x0a, 0x19, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, - 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, - 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, - 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, - 0x36, 0x10, 0x80, 0x80, 0x02, 0x12, 0x32, 0x0a, 0x2c, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, - 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, - 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, - 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x80, 0x80, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, - 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x50, - 0x55, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x80, 0x40, 0x12, 0x2c, 0x0a, 0x27, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, - 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x56, - 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x80, 0x20, 0x12, 0x2c, 0x0a, 0x27, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, - 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, - 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x80, 0x10, 0x12, 0x32, 0x0a, 0x2d, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, - 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x55, - 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x80, 0x08, 0x12, 0x32, 0x0a, 0x2d, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, - 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x10, 0x80, 0x04, - 0x12, 0x32, 0x0a, 0x2d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, - 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x50, - 0x4f, 0x10, 0x80, 0x02, 0x12, 0x31, 0x0a, 0x2c, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, - 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, - 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4d, 0x4f, 0x4e, - 0x49, 0x54, 0x4f, 0x52, 0x10, 0x80, 0x01, 0x2a, 0xb9, 0x02, 0x0a, 0x1f, 0x53, 0x4c, 0x42, 0x67, - 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x53, 0x65, 0x67, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x2e, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, - 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x39, 0x0a, 0x34, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, - 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, - 0x52, 0x49, 0x43, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4d, 0x41, 0x52, 0x47, 0x49, 0x4e, 0x5f, - 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x80, 0x01, 0x12, 0x36, 0x0a, 0x32, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, - 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, - 0x10, 0x40, 0x12, 0x37, 0x0a, 0x33, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, - 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, - 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x42, 0x4f, 0x55, 0x4e, - 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x20, 0x12, 0x36, 0x0a, 0x32, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, - 0x53, 0x45, 0x47, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x45, - 0x44, 0x10, 0x10, 0x2a, 0xf5, 0x02, 0x0a, 0x1f, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x44, 0x69, 0x73, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x4a, - 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x29, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x44, - 0x49, 0x53, 0x4a, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x53, 0x52, 0x4c, 0x47, 0x10, 0x80, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x44, - 0x49, 0x53, 0x4a, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x40, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x44, 0x49, - 0x53, 0x4a, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x20, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x44, 0x49, 0x53, - 0x4a, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x10, 0x12, 0x2c, 0x0a, 0x28, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, - 0x44, 0x49, 0x53, 0x4a, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x49, 0x47, 0x50, 0x10, 0x08, 0x12, 0x30, 0x0a, 0x2c, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x44, 0x49, - 0x53, 0x4a, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x04, 0x2a, 0xb2, 0x01, 0x0a, 0x1c, - 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x53, 0x72, 0x42, 0x69, 0x64, - 0x69, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x2a, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, - 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2f, 0x0a, 0x29, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, - 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x80, 0x80, 0x02, 0x12, 0x31, 0x0a, - 0x2b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x43, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x44, 0x10, 0x80, 0x80, 0x01, - 0x2a, 0xbf, 0x02, 0x0a, 0x22, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, - 0x53, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x30, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x52, - 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x36, 0x0a, - 0x31, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, - 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, - 0x49, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, - 0x45, 0x44, 0x10, 0x80, 0x01, 0x12, 0x3a, 0x0a, 0x36, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, - 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, - 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x4d, 0x41, 0x52, 0x47, 0x49, 0x4e, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, - 0x40, 0x12, 0x34, 0x0a, 0x30, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, - 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4e, - 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x42, 0x53, - 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x10, 0x20, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x52, - 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, - 0x10, 0x10, 0x2a, 0x80, 0x02, 0x0a, 0x22, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, - 0x70, 0x6f, 0x53, 0x72, 0x76, 0x36, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x69, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x32, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, - 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x35, 0x0a, 0x30, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, - 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x50, 0x45, 0x45, 0x52, - 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x42, - 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x80, 0x01, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x42, - 0x47, 0x50, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x44, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x40, 0x12, 0x38, 0x0a, 0x34, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x50, 0x4f, 0x5f, 0x53, 0x52, 0x56, - 0x36, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, - 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, - 0x45, 0x4e, 0x54, 0x10, 0x20, 0x32, 0x74, 0x0a, 0x0b, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, - 0x54, 0x6f, 0x70, 0x6f, 0x12, 0x65, 0x0a, 0x16, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, - 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x25, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, - 0x65, 0x71, 0x4d, 0x73, 0x67, 0x1a, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, - 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 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, -} +const file_sl_bgpls_topology_proto_rawDesc = "" + + "\n" + + "\x17sl_bgpls_topology.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x12sl_sr_common.proto\"S\n" + + "\x16SLBgplsTopoNotifReqMsg\x129\n" + + "\x05Match\x18\x01 \x03(\v2#.service_layer.SLBgplsTopoNlriMatchR\x05Match\"\xdc\x01\n" + + "\x14SLBgplsTopoNlriMatch\x12D\n" + + "\n" + + "InstanceId\x18\x01 \x01(\v2$.service_layer.SLBgplsTopoInstanceIdR\n" + + "InstanceId\x12>\n" + + "\bProtocol\x18\x02 \x01(\x0e2\".service_layer.SLBgplsTopoProtocolR\bProtocol\x12>\n" + + "\bNlriType\x18\x03 \x01(\x0e2\".service_layer.SLBgplsTopoNlriTypeR\bNlriType\"\x8b\x02\n" + + "\x13SLBgplsTopoNotifMsg\x12<\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\tErrStatus\x125\n" + + "\x04Data\x18\x02 \x01(\v2\x1f.service_layer.SLBgplsTopoNotifH\x00R\x04Data\x12=\n" + + "\x05Start\x18\x03 \x01(\v2%.service_layer.SLBgplsTopoStartMarkerH\x00R\x05Start\x127\n" + + "\x03End\x18\x04 \x01(\v2#.service_layer.SLBgplsTopoEndMarkerH\x00R\x03EndB\a\n" + + "\x05Event\"\x18\n" + + "\x16SLBgplsTopoStartMarker\"\x16\n" + + "\x14SLBgplsTopoEndMarker\"M\n" + + "\x10SLBgplsTopoNotif\x129\n" + + "\aEntries\x18\x01 \x03(\v2\x1f.service_layer.SLBgplsTopoEntryR\aEntries\"\x89\x01\n" + + "\x10SLBgplsTopoEntry\x12A\n" + + "\tOperation\x18\x01 \x01(\x0e2#.service_layer.SLBgplsTopoOperationR\tOperation\x122\n" + + "\x04Data\x18\x02 \x01(\v2\x1e.service_layer.SLBgplsTopoDataR\x04Data\"\xdc\x03\n" + + "\x0fSLBgplsTopoData\x12D\n" + + "\n" + + "InstanceId\x18\x01 \x01(\v2$.service_layer.SLBgplsTopoInstanceIdR\n" + + "InstanceId\x12>\n" + + "\bProtocol\x18\x02 \x01(\x0e2\".service_layer.SLBgplsTopoProtocolR\bProtocol\x128\n" + + "\x04Node\x18\x03 \x01(\v2\".service_layer.SLBgplsTopoNodeDataH\x00R\x04Node\x128\n" + + "\x04Link\x18\x04 \x01(\v2\".service_layer.SLBgplsTopoLinkDataH\x00R\x04Link\x12>\n" + + "\x06Prefix\x18\x05 \x01(\v2$.service_layer.SLBgplsTopoPrefixDataH\x00R\x06Prefix\x12A\n" + + "\aSrv6Sid\x18\x06 \x01(\v2%.service_layer.SLBgplsTopoSrv6SidDataH\x00R\aSrv6Sid\x12D\n" + + "\bSrPolicy\x18\a \x01(\v2&.service_layer.SLBgplsTopoSrPolicyDataH\x00R\bSrPolicyB\x06\n" + + "\x04Data\"7\n" + + "\x15SLBgplsTopoInstanceId\x12\x1e\n" + + "\n" + + "Identifier\x18\x01 \x01(\x04R\n" + + "Identifier\"\x89\x01\n" + + "\x13SLBgplsTopoNodeData\x122\n" + + "\x04Node\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoNodeR\x04Node\x12>\n" + + "\bNodeAttr\x18\x02 \x01(\v2\".service_layer.SLBgplsTopoNodeAttrR\bNodeAttr\"\x89\x01\n" + + "\x13SLBgplsTopoLinkData\x122\n" + + "\x04Link\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoLinkR\x04Link\x12>\n" + + "\bLinkAttr\x18\x02 \x01(\v2\".service_layer.SLBgplsTopoLinkAttrR\bLinkAttr\"\x97\x01\n" + + "\x15SLBgplsTopoPrefixData\x128\n" + + "\x06Prefix\x18\x01 \x01(\v2 .service_layer.SLBgplsTopoPrefixR\x06Prefix\x12D\n" + + "\n" + + "PrefixAttr\x18\x02 \x01(\v2$.service_layer.SLBgplsTopoPrefixAttrR\n" + + "PrefixAttr\"\x9e\x01\n" + + "\x16SLBgplsTopoSrv6SidData\x12;\n" + + "\aSrv6Sid\x18\x01 \x01(\v2!.service_layer.SLBgplsTopoSrv6SidR\aSrv6Sid\x12G\n" + + "\vSrv6SidAttr\x18\x02 \x01(\v2%.service_layer.SLBgplsTopoSrv6SidAttrR\vSrv6SidAttr\"\xa5\x01\n" + + "\x17SLBgplsTopoSrPolicyData\x12>\n" + + "\bSrPolicy\x18\x01 \x01(\v2\".service_layer.SLBgplsTopoSrPolicyR\bSrPolicy\x12J\n" + + "\fSrPolicyAttr\x18\x02 \x01(\v2&.service_layer.SLBgplsTopoSrPolicyAttrR\fSrPolicyAttr\"\xa4\x03\n" + + "\x0fSLBgplsTopoNode\x12\x10\n" + + "\x03Asn\x18\x01 \x01(\rR\x03Asn\x12F\n" + + "\n" + + "OspfNodeId\x18\x02 \x01(\v2$.service_layer.SLBgplsTopoOspfNodeIdH\x00R\n" + + "OspfNodeId\x12L\n" + + "\fOspfv3NodeId\x18\x03 \x01(\v2&.service_layer.SLBgplsTopoOspfv3NodeIdH\x00R\fOspfv3NodeId\x12F\n" + + "\n" + + "IsisNodeId\x18\x04 \x01(\v2$.service_layer.SLBgplsTopoIsisNodeIdH\x00R\n" + + "IsisNodeId\x12C\n" + + "\tBgpNodeId\x18\x05 \x01(\v2#.service_layer.SLBgplsTopoBgpNodeIdH\x00R\tBgpNodeId\x12R\n" + + "\x0eSrPolicyNodeId\x18\x06 \x01(\v2(.service_layer.SLBgplsTopoSrPolicyNodeIdH\x00R\x0eSrPolicyNodeIdB\b\n" + + "\x06NodeId\"\xe6\x01\n" + + "\x0fSLBgplsTopoLink\x12F\n" + + "\x0eLocalNodeDescr\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoNodeR\x0eLocalNodeDescr\x12H\n" + + "\x0fRemoteNodeDescr\x18\x02 \x01(\v2\x1e.service_layer.SLBgplsTopoNodeR\x0fRemoteNodeDescr\x12A\n" + + "\tLinkDescr\x18\x03 \x01(\v2#.service_layer.SLBgplsTopoLinkDescrR\tLinkDescr\"\x9a\x01\n" + + "\x11SLBgplsTopoPrefix\x12<\n" + + "\tNodeDescr\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoNodeR\tNodeDescr\x12G\n" + + "\vPrefixDescr\x18\x02 \x01(\v2%.service_layer.SLBgplsTopoPrefixDescrR\vPrefixDescr\"\x9e\x01\n" + + "\x12SLBgplsTopoSrv6Sid\x12<\n" + + "\tNodeDescr\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoNodeR\tNodeDescr\x12J\n" + + "\fSrv6SidDescr\x18\x02 \x01(\v2&.service_layer.SLBgplsTopoSrv6SidDescrR\fSrv6SidDescr\"\xa2\x01\n" + + "\x13SLBgplsTopoSrPolicy\x12<\n" + + "\tNodeDescr\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoNodeR\tNodeDescr\x12M\n" + + "\rSrPolicyDescr\x18\x02 \x01(\v2'.service_layer.SLBgplsTopoSrPolicyDescrR\rSrPolicyDescr\"\xfc\x01\n" + + "\x14SLBgplsTopoLinkDescr\x12\x18\n" + + "\aLocalId\x18\x01 \x01(\rR\aLocalId\x12\x1a\n" + + "\bRemoteId\x18\x02 \x01(\rR\bRemoteId\x12\x1c\n" + + "\tLocalIpv4\x18\x03 \x01(\fR\tLocalIpv4\x12\x1e\n" + + "\n" + + "RemoteIpv4\x18\x04 \x01(\fR\n" + + "RemoteIpv4\x12\x1c\n" + + "\tLocalIpv6\x18\x05 \x01(\fR\tLocalIpv6\x12\x1e\n" + + "\n" + + "RemoteIpv6\x18\x06 \x01(\fR\n" + + "RemoteIpv6\x122\n" + + "\x04MtId\x18\a \x01(\v2\x1e.service_layer.SLBgplsTopoMtIdR\x04MtId\"\xd7\x01\n" + + "\x16SLBgplsTopoPrefixDescr\x122\n" + + "\x04MtId\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoMtIdR\x04MtId\x12M\n" + + "\rOspfRouteType\x18\x02 \x01(\x0e2'.service_layer.SLBgplsTopoOspfRouteTypeR\rOspfRouteType\x12\"\n" + + "\fPrefixLength\x18\x03 \x01(\rR\fPrefixLength\x12\x16\n" + + "\x06Prefix\x18\x04 \x01(\fR\x06Prefix\"g\n" + + "\x17SLBgplsTopoSrv6SidDescr\x122\n" + + "\x04MtId\x18\x01 \x01(\v2\x1e.service_layer.SLBgplsTopoMtIdR\x04MtId\x12\x18\n" + + "\aSrv6Sid\x18\x02 \x01(\fR\aSrv6Sid\"\xb1\x03\n" + + "\x18SLBgplsTopoSrPolicyDescr\x12I\n" + + "\vProtoOrigin\x18\x01 \x01(\x0e2'.service_layer.SLSrPolicyProtocolOriginR\vProtoOrigin\x124\n" + + "\x05Flags\x18\x02 \x01(\v2\x1e.service_layer.SLSrPolicyFlagsR\x05Flags\x12\"\n" + + "\vIpv4EndAddr\x18\x03 \x01(\fH\x00R\vIpv4EndAddr\x12\"\n" + + "\vIpv6EndAddr\x18\x04 \x01(\fH\x00R\vIpv6EndAddr\x12\x14\n" + + "\x05Color\x18\x05 \x01(\rR\x05Color\x12\x1c\n" + + "\tOriginAsn\x18\x06 \x01(\rR\tOriginAsn\x12$\n" + + "\fIpv4OrigAddr\x18\a \x01(\fH\x01R\fIpv4OrigAddr\x12$\n" + + "\fIpv6OrigAddr\x18\b \x01(\fH\x01R\fIpv6OrigAddr\x12$\n" + + "\rDiscriminator\x18\t \x01(\rR\rDiscriminatorB\x11\n" + + "\x0fEndpointAddressB\x13\n" + + "\x11OriginatorAddress\"\x8f\x01\n" + + "\x15SLBgplsTopoOspfNodeId\x12\x16\n" + + "\x06AreaId\x18\x01 \x01(\rR\x06AreaId\x12\x1e\n" + + "\n" + + "IsAsScoped\x18\x02 \x01(\rR\n" + + "IsAsScoped\x12\x1a\n" + + "\bRouterId\x18\x03 \x01(\fR\bRouterId\x12\"\n" + + "\fDrIdentifier\x18\x04 \x01(\fR\fDrIdentifier\"\x8d\x01\n" + + "\x17SLBgplsTopoOspfv3NodeId\x12\x16\n" + + "\x06AreaId\x18\x01 \x01(\rR\x06AreaId\x12\x1a\n" + + "\bAsScoped\x18\x02 \x01(\rR\bAsScoped\x12\x1a\n" + + "\bRouterId\x18\x03 \x01(\fR\bRouterId\x12\"\n" + + "\fDrIdentifier\x18\x04 \x01(\rR\fDrIdentifier\"I\n" + + "\x15SLBgplsTopoIsisNodeId\x12\x1a\n" + + "\bSystemId\x18\x01 \x01(\fR\bSystemId\x12\x14\n" + + "\x05PsnId\x18\x02 \x01(\fR\x05PsnId\"P\n" + + "\x14SLBgplsTopoBgpNodeId\x12\x1a\n" + + "\bRouterId\x18\x01 \x01(\fR\bRouterId\x12\x1c\n" + + "\tMemberAsn\x18\x02 \x01(\rR\tMemberAsn\"\x9d\x01\n" + + "\x19SLBgplsTopoSrPolicyNodeId\x12\x1a\n" + + "\bRouterId\x18\x01 \x01(\fR\bRouterId\x12\x1c\n" + + "\tMemberAsn\x18\x02 \x01(\rR\tMemberAsn\x12\"\n" + + "\fIpv4RouterId\x18\x03 \x01(\fR\fIpv4RouterId\x12\"\n" + + "\fIpv6RouterId\x18\x04 \x01(\fR\fIpv6RouterId\"\x82\b\n" + + "\x13SLBgplsTopoNodeAttr\x122\n" + + "\x04MtId\x18\x01 \x03(\v2\x1e.service_layer.SLBgplsTopoMtIdR\x04MtId\x12;\n" + + "\aNodeMsd\x18\x02 \x03(\v2!.service_layer.SLBgplsTopoNodeMsdR\aNodeMsd\x12J\n" + + "\fNodeFlagBits\x18\x03 \x01(\v2&.service_layer.SLBgplsTopoNodeFlagBitsR\fNodeFlagBits\x12P\n" + + "\x0eOpaqueNodeAttr\x18\x04 \x01(\v2(.service_layer.SLBgplsTopoNodeOpaqueAttrR\x0eOpaqueNodeAttr\x12:\n" + + "\bNodeName\x18\x05 \x01(\v2\x1e.service_layer.SLBgplsNodeNameR\bNodeName\x12D\n" + + "\n" + + "IsisAreaId\x18\x06 \x03(\v2$.service_layer.SLBgplsTopoIsisAreaIdR\n" + + "IsisAreaId\x12I\n" + + "\tLocalIpv4\x18\a \x03(\v2+.service_layer.SLBgplsTopoLocalIpv4RouterIdR\tLocalIpv4\x12I\n" + + "\tLocalIpv6\x18\b \x03(\v2+.service_layer.SLBgplsTopoLocalIpv6RouterIdR\tLocalIpv6\x12M\n" + + "\rSrgbIsisFlags\x18\t \x01(\v2'.service_layer.SLBgplsTopoSrgbIsisFlagsR\rSrgbIsisFlags\x122\n" + + "\x04Srgb\x18\n" + + " \x03(\v2\x1e.service_layer.SLBgplsTopoSrgbR\x04Srgb\x12G\n" + + "\vSrAlgorithm\x18\v \x01(\v2%.service_layer.SLBgplsTopoSrAlgorithmR\vSrAlgorithm\x122\n" + + "\x04Srlb\x18\f \x03(\v2\x1e.service_layer.SLBgplsTopoSrlbR\x04Srlb\x12/\n" + + "\x03Fad\x18\r \x03(\v2\x1d.service_layer.SLBgplsTopoFadR\x03Fad\x12G\n" + + "\vUnknownAttr\x18\x0e \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\x12J\n" + + "\fSrv6CapFlags\x18\x0f \x01(\v2&.service_layer.SLBgplsTopoSrv6CapFlagsR\fSrv6CapFlags\"\x91\x15\n" + + "\x13SLBgplsTopoLinkAttr\x12I\n" + + "\fLinkLocRemId\x18\x01 \x01(\v2%.service_layer.SLBplsTopoLinkLocRemIdR\fLinkLocRemId\x12;\n" + + "\aLinkMsd\x18\x02 \x03(\v2!.service_layer.SLBgplsTopoLinkMsdR\aLinkMsd\x12Y\n" + + "\x11LocalIpv4RouterId\x18\x03 \x03(\v2+.service_layer.SLBgplsTopoLocalIpv4RouterIdR\x11LocalIpv4RouterId\x12Y\n" + + "\x11LocalIpv6RouterId\x18\x04 \x03(\v2+.service_layer.SLBgplsTopoLocalIpv6RouterIdR\x11LocalIpv6RouterId\x12\\\n" + + "\x12RemoteIpv4RouterId\x18\x05 \x03(\v2,.service_layer.SLBgplsTopoRemoteIpv4RouterIdR\x12RemoteIpv4RouterId\x12\\\n" + + "\x12RemoteIpv6RouterId\x18\x06 \x03(\v2,.service_layer.SLBgplsTopoRemoteIpv6RouterIdR\x12RemoteIpv6RouterId\x12N\n" + + "\fMaxBandwidth\x18\b \x01(\v2*.service_layer.SLBgplsTopoLinkMaxBandwidthR\fMaxBandwidth\x12Z\n" + + "\x10MaxResvBandwidth\x18\t \x01(\v2..service_layer.SLBgplsTopoLinkMaxResvBandwidthR\x10MaxResvBandwidth\x12W\n" + + "\x0fUnresvBandwidth\x18\n" + + " \x03(\v2-.service_layer.SLBgplsTopoLinkUnresvBandwidthR\x0fUnresvBandwidth\x12O\n" + + "\vTeDefMetric\x18\v \x01(\v2-.service_layer.SLBgplsTopoLinkTeDefaultMetricR\vTeDefMetric\x12T\n" + + "\x0eProtectionType\x18\f \x01(\v2,.service_layer.SLBgplsTopoLinkProtectionTypeR\x0eProtectionType\x12Q\n" + + "\rMplsProtoMask\x18\r \x01(\v2+.service_layer.SLBgplsTopoLinkMplsProtoMaskR\rMplsProtoMask\x12E\n" + + "\tIgpMetric\x18\x0e \x01(\v2'.service_layer.SLBgplsTopoLinkIgpMetricR\tIgpMetric\x126\n" + + "\x04Srlg\x18\x0f \x01(\v2\".service_layer.SLBgplsTopoLinkSrlgR\x04Srlg\x12H\n" + + "\n" + + "OpaqueAttr\x18\x10 \x01(\v2(.service_layer.SLBgplsTopoLinkOpaqueAttrR\n" + + "OpaqueAttr\x12>\n" + + "\bLinkName\x18\x11 \x01(\v2\".service_layer.SLBgplsTopoLinkNameR\bLinkName\x128\n" + + "\x06AdjSid\x18\x12 \x03(\v2 .service_layer.SLBgplsTopoAdjSidR\x06AdjSid\x12A\n" + + "\tLanAdjSid\x18\x13 \x03(\v2#.service_layer.SLBgplsTopoLanAdjSidR\tLanAdjSid\x12P\n" + + "\x0eBgpPeerNodeSid\x18\x14 \x03(\v2(.service_layer.SLBgplsTopoBgpPeerNodeSidR\x0eBgpPeerNodeSid\x12M\n" + + "\rBgpPeerAdjSid\x18\x15 \x03(\v2'.service_layer.SLBgplsTopoBgpPeerAdjSidR\rBgpPeerAdjSid\x12M\n" + + "\rBgpPeerSetSid\x18\x16 \x03(\v2'.service_layer.SLBgplsTopoBgpPeerSetSidR\rBgpPeerSetSid\x12J\n" + + "\fUniLinkDelay\x18\x17 \x01(\v2&.service_layer.SLBgplsTopoUniLinkDelayR\fUniLinkDelay\x12\\\n" + + "\x12MinMaxUniLinkDelay\x18\x18 \x01(\v2,.service_layer.SLBgplsTopoMinMaxUniLinkDelayR\x12MinMaxUniLinkDelay\x12G\n" + + "\vUniDelayVar\x18\x19 \x01(\v2%.service_layer.SLBgplsTopoUniDelayVarR\vUniDelayVar\x12G\n" + + "\vUniLinkLoss\x18\x1a \x01(\v2%.service_layer.SLBgplsTopoUniLinkLossR\vUniLinkLoss\x12S\n" + + "\x0fUniResBandwidth\x18\x1b \x01(\v2).service_layer.SLBgplsTopoUniResBandwidthR\x0fUniResBandwidth\x12Y\n" + + "\x11UniAvailBandwidth\x18\x1c \x01(\v2+.service_layer.SLBgplsTopoUniAvailBandwidthR\x11UniAvailBandwidth\x12V\n" + + "\x10UniUtilBandwidth\x18\x1d \x01(\v2*.service_layer.SLBgplsTopoUniUtilBandwidthR\x10UniUtilBandwidth\x126\n" + + "\x04Asla\x18\x1e \x03(\v2\".service_layer.SLBgplsTopoAslaAttrR\x04Asla\x12\\\n" + + "\x12L2BundleMemberAttr\x18\x1f \x03(\v2,.service_layer.SLBgplsTopoL2BundleMemberAttrR\x12L2BundleMemberAttr\x12M\n" + + "\rExtAdminGroup\x18 \x01(\v2'.service_layer.SLBgplsTopoExtAdminGroupR\rExtAdminGroup\x12G\n" + + "\vUnknownAttr\x18! \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\x12G\n" + + "\vSrv6EndXSid\x18\" \x03(\v2%.service_layer.SLBgplsTopoSrv6EndXSidR\vSrv6EndXSid\x12P\n" + + "\x0eSrv6LanEndXSid\x18# \x03(\v2(.service_layer.SLBgplsTopoSrv6LanEndXSidR\x0eSrv6LanEndXSid\"\xb1\a\n" + + "\x15SLBgplsTopoPrefixAttr\x128\n" + + "\x04Fapm\x18\x01 \x03(\v2$.service_layer.SLBgplsTopoPrefixFAPMR\x04Fapm\x12D\n" + + "\bIgpFlags\x18\x02 \x01(\v2(.service_layer.SLBgplsTopoPrefixIgpFlagsR\bIgpFlags\x12M\n" + + "\vIgpRouteTag\x18\x03 \x03(\v2+.service_layer.SLBgplsTopoPrefixIgpRouteTagR\vIgpRouteTag\x12V\n" + + "\x0eIgpExtRouteTag\x18\x04 \x03(\v2..service_layer.SLBgplsTopoPrefixIgpExtRouteTagR\x0eIgpExtRouteTag\x12>\n" + + "\x06Metric\x18\x05 \x01(\v2&.service_layer.SLBgplsTopoPrefixMetricR\x06Metric\x12M\n" + + "\vOspfFwdAddr\x18\x06 \x01(\v2+.service_layer.SLBgplsTopoPrefixOspfFwdAddrR\vOspfFwdAddr\x12J\n" + + "\n" + + "OpaqueAttr\x18\a \x01(\v2*.service_layer.SLBgplsTopoPrefixOpaqueAttrR\n" + + "OpaqueAttr\x125\n" + + "\x03Sid\x18\b \x03(\v2#.service_layer.SLBgplsTopoPrefixSidR\x03Sid\x12;\n" + + "\x05Range\x18\t \x01(\v2%.service_layer.SLBgplsTopoPrefixRangeR\x05Range\x12G\n" + + "\tAttrFlags\x18\n" + + " \x01(\v2).service_layer.SLBgplsTopoPrefixAttrFlagsR\tAttrFlags\x12M\n" + + "\vSrcRouterId\x18\v \x01(\v2+.service_layer.SLBgplsTopoPrefixSrcRouterIdR\vSrcRouterId\x12G\n" + + "\vUnknownAttr\x18\f \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\x12A\n" + + "\aSrv6Loc\x18\r \x01(\v2'.service_layer.SLBgplsTopoPrefixSrv6LocR\aSrv6Loc\"\xc8\x02\n" + + "\x16SLBgplsTopoSrv6SidAttr\x12Q\n" + + "\x10EndPointBehavior\x18\x01 \x01(\v2%.service_layer.SLSrv6EndPointBehaviorR\x10EndPointBehavior\x12T\n" + + "\x0eBgpPeerNodeSid\x18\x02 \x03(\v2,.service_layer.SLBgplsTopoSrv6BgpPeerNodeSidR\x0eBgpPeerNodeSid\x12<\n" + + "\tSidStruct\x18\x03 \x01(\v2\x1e.service_layer.SLSrv6SidStructR\tSidStruct\x12G\n" + + "\vUnknownAttr\x18\x04 \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\"\xaf\x04\n" + + "\x17SLBgplsTopoSrPolicyAttr\x12>\n" + + "\x06SrBsid\x18\x01 \x01(\v2&.service_layer.SLBgplsTopoSrBindingSidR\x06SrBsid\x12=\n" + + "\aCpState\x18\x02 \x01(\v2#.service_layer.SLBgplsTopoSrCpStateR\aCpState\x121\n" + + "\x06CpName\x18\x03 \x01(\v2\x19.service_layer.SLSrCpNameR\x06CpName\x12O\n" + + "\rCpConstraints\x18\x04 \x01(\v2).service_layer.SLBgplsTopoSrCpConstraintsR\rCpConstraints\x12?\n" + + "\bSegLists\x18\x05 \x03(\v2#.service_layer.SLBgplsTopoSrSegListR\bSegLists\x12;\n" + + "\bSrv6Bsid\x18\x06 \x03(\v2\x1f.service_layer.SLSrv6BindingSidR\bSrv6Bsid\x12J\n" + + "\fSrPolicyName\x18\a \x01(\v2&.service_layer.SLBgplsTopoSrPolicyNameR\fSrPolicyName\x12G\n" + + "\vUnknownAttr\x18\b \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\"N\n" + + "\x16SLBplsTopoLinkLocRemId\x12\x18\n" + + "\aLocalId\x18\x01 \x01(\rR\aLocalId\x12\x1a\n" + + "\bRemoteId\x18\x02 \x01(\rR\bRemoteId\"%\n" + + "\x0fSLBgplsTopoMtId\x12\x12\n" + + "\x04MtId\x18\x01 \x01(\rR\x04MtId\">\n" + + "\x12SLBgplsTopoNodeMsd\x12\x12\n" + + "\x04Type\x18\x01 \x01(\rR\x04Type\x12\x14\n" + + "\x05Value\x18\x02 \x01(\rR\x05Value\">\n" + + "\x12SLBgplsTopoLinkMsd\x12\x12\n" + + "\x04Type\x18\x01 \x01(\rR\x04Type\x12\x14\n" + + "\x05Value\x18\x02 \x01(\rR\x05Value\"/\n" + + "\x17SLBgplsTopoNodeFlagBits\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\";\n" + + "\x19SLBgplsTopoNodeOpaqueAttr\x12\x1e\n" + + "\n" + + "OpaqueAttr\x18\x01 \x01(\fR\n" + + "OpaqueAttr\"%\n" + + "\x0fSLBgplsNodeName\x12\x12\n" + + "\x04Name\x18\x01 \x01(\tR\x04Name\"/\n" + + "\x15SLBgplsTopoIsisAreaId\x12\x16\n" + + "\x06AreaId\x18\x01 \x01(\fR\x06AreaId\":\n" + + "\x1cSLBgplsTopoLocalIpv4RouterId\x12\x1a\n" + + "\bRouterId\x18\x01 \x01(\fR\bRouterId\":\n" + + "\x1cSLBgplsTopoLocalIpv6RouterId\x12\x1a\n" + + "\bRouterId\x18\x01 \x01(\fR\bRouterId\";\n" + + "\x1dSLBgplsTopoRemoteIpv4RouterId\x12\x1a\n" + + "\bRouterId\x18\x01 \x01(\fR\bRouterId\";\n" + + "\x1dSLBgplsTopoRemoteIpv6RouterId\x12\x1a\n" + + "\bRouterId\x18\x01 \x01(\fR\bRouterId\"O\n" + + "\x0fSLBgplsTopoSrgb\x12\x1e\n" + + "\n" + + "StartLabel\x18\x01 \x01(\rR\n" + + "StartLabel\x12\x1c\n" + + "\tRangeSize\x18\x02 \x01(\rR\tRangeSize\"0\n" + + "\x18SLBgplsTopoSrgbIsisFlags\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\"8\n" + + "\x16SLBgplsTopoSrAlgorithm\x12\x1e\n" + + "\n" + + "Algorithms\x18\x01 \x01(\fR\n" + + "Algorithms\"O\n" + + "\x0fSLBgplsTopoSrlb\x12\x1e\n" + + "\n" + + "StartLabel\x18\x01 \x01(\rR\n" + + "StartLabel\x12\x1c\n" + + "\tRangeSize\x18\x02 \x01(\rR\tRangeSize\"/\n" + + "\x17SLBgplsTopoSrv6CapFlags\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\"\xaa\x04\n" + + "\x0eSLBgplsTopoFad\x12\x1c\n" + + "\tAlgorithm\x18\x01 \x01(\fR\tAlgorithm\x12\x1e\n" + + "\n" + + "MetricType\x18\x02 \x01(\fR\n" + + "MetricType\x12\x1a\n" + + "\bCalcType\x18\x03 \x01(\fR\bCalcType\x12\x1a\n" + + "\bPriority\x18\x04 \x01(\fR\bPriority\x12\x1c\n" + + "\tExcAnyAff\x18\x05 \x03(\rR\tExcAnyAff\x12\x1c\n" + + "\tIncAnyAff\x18\x06 \x03(\rR\tIncAnyAff\x12\x1c\n" + + "\tIncAllAff\x18\a \x03(\rR\tIncAllAff\x12\x14\n" + + "\x05Flags\x18\b \x01(\fR\x05Flags\x12\x18\n" + + "\aExcSrlg\x18\t \x03(\rR\aExcSrlg\x12D\n" + + "\tUnsuppTlv\x18\x0f \x01(\v2&.service_layer.SLBgplsTopoFadUnsuppTlvR\tUnsuppTlv\x12\x1a\n" + + "\bExcMinBw\x18\x0e \x01(\fR\bExcMinBw\x12J\n" + + "\vExcMaxDelay\x18\r \x01(\v2(.service_layer.SLBgplsTopoFadExcMaxDelayR\vExcMaxDelay\x12\"\n" + + "\fExcAnyRevAff\x18\n" + + " \x03(\rR\fExcAnyRevAff\x12\"\n" + + "\fIncAnyRevAff\x18\v \x03(\rR\fIncAnyRevAff\x12\"\n" + + "\fIncAllRevAff\x18\f \x03(\rR\fIncAllRevAff\"a\n" + + "\x15SLBgplsTopoPrefixFAPM\x12\x1a\n" + + "\bFlexAlgo\x18\x01 \x01(\rR\bFlexAlgo\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\fR\x05Flags\x12\x16\n" + + "\x06Metric\x18\x03 \x01(\rR\x06Metric\"o\n" + + "\x17SLBgplsTopoFadUnsuppTlv\x12>\n" + + "\bProtocol\x18\x01 \x01(\x0e2\".service_layer.SLBgplsTopoProtocolR\bProtocol\x12\x14\n" + + "\x05Types\x18\x02 \x01(\fR\x05Types\"1\n" + + "\x19SLBgplsTopoFadExcMaxDelay\x12\x14\n" + + "\x05Delay\x18\x01 \x01(\rR\x05Delay\";\n" + + "\x1bSLBgplsTopoLinkMaxBandwidth\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\"?\n" + + "\x1fSLBgplsTopoLinkMaxResvBandwidth\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\"Z\n" + + "\x1eSLBgplsTopoLinkUnresvBandwidth\x12\x1a\n" + + "\bPriority\x18\x01 \x01(\rR\bPriority\x12\x1c\n" + + "\tBandwidth\x18\x02 \x01(\fR\tBandwidth\"8\n" + + "\x1eSLBgplsTopoLinkTeDefaultMetric\x12\x16\n" + + "\x06Metric\x18\x01 \x01(\rR\x06Metric\"3\n" + + "\x1dSLBgplsTopoLinkProtectionType\x12\x12\n" + + "\x04Mask\x18\x01 \x01(\rR\x04Mask\"2\n" + + "\x1cSLBgplsTopoLinkMplsProtoMask\x12\x12\n" + + "\x04Mask\x18\x01 \x01(\fR\x04Mask\"2\n" + + "\x18SLBgplsTopoLinkIgpMetric\x12\x16\n" + + "\x06Metric\x18\x01 \x01(\fR\x06Metric\"/\n" + + "\x13SLBgplsTopoLinkSrlg\x12\x18\n" + + "\aSrlgVal\x18\x01 \x03(\rR\aSrlgVal\";\n" + + "\x19SLBgplsTopoLinkOpaqueAttr\x12\x1e\n" + + "\n" + + "OpaqueAttr\x18\x01 \x01(\fR\n" + + "OpaqueAttr\")\n" + + "\x13SLBgplsTopoLinkName\x12\x12\n" + + "\x04Name\x18\x01 \x01(\tR\x04Name\"\xaa\x01\n" + + "\x11SLBgplsTopoAdjSid\x12\x1e\n" + + "\n" + + "LabelIndex\x18\x01 \x01(\rR\n" + + "LabelIndex\x12G\n" + + "\fAdjSidFormat\x18\x02 \x01(\x0e2#.service_layer.SLBgplsTopoSidFormatR\fAdjSidFormat\x12\x14\n" + + "\x05Flags\x18\x03 \x01(\fR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x04 \x01(\rR\x06Weight\"\xef\x01\n" + + "\x14SLBgplsTopoLanAdjSid\x12@\n" + + "\bNeighbor\x18\x01 \x01(\v2$.service_layer.SLBgpLsTopoNeighborIdR\bNeighbor\x12\x1e\n" + + "\n" + + "LabelIndex\x18\x02 \x01(\rR\n" + + "LabelIndex\x12G\n" + + "\fAdjSidFormat\x18\x03 \x01(\x0e2#.service_layer.SLBgplsTopoSidFormatR\fAdjSidFormat\x12\x14\n" + + "\x05Flags\x18\x04 \x01(\fR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x05 \x01(\rR\x06Weight\"\xa4\x01\n" + + "\x19SLBgplsTopoBgpPeerNodeSid\x12\x10\n" + + "\x03Sid\x18\x01 \x01(\fR\x03Sid\x12G\n" + + "\fBgpSidFormat\x18\x02 \x01(\x0e2#.service_layer.SLBgplsTopoSidFormatR\fBgpSidFormat\x12\x14\n" + + "\x05Flags\x18\x03 \x01(\fR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x04 \x01(\rR\x06Weight\"\xa3\x01\n" + + "\x18SLBgplsTopoBgpPeerAdjSid\x12\x10\n" + + "\x03Sid\x18\x01 \x01(\fR\x03Sid\x12G\n" + + "\fBgpSidFormat\x18\x02 \x01(\x0e2#.service_layer.SLBgplsTopoSidFormatR\fBgpSidFormat\x12\x14\n" + + "\x05Flags\x18\x03 \x01(\fR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x04 \x01(\rR\x06Weight\"\xa3\x01\n" + + "\x18SLBgplsTopoBgpPeerSetSid\x12\x10\n" + + "\x03Sid\x18\x01 \x01(\fR\x03Sid\x12G\n" + + "\fBgpSidFormat\x18\x02 \x01(\x0e2#.service_layer.SLBgplsTopoSidFormatR\fBgpSidFormat\x12\x14\n" + + "\x05Flags\x18\x03 \x01(\fR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x04 \x01(\rR\x06Weight\"\xe0\x01\n" + + "\x16SLBgplsTopoSrv6EndXSid\x12\x10\n" + + "\x03Sid\x18\x01 \x01(\fR\x03Sid\x12\x1c\n" + + "\tAlgorithm\x18\x02 \x01(\rR\tAlgorithm\x12\x14\n" + + "\x05Flags\x18\x03 \x01(\rR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x04 \x01(\rR\x06Weight\x12*\n" + + "\x10EndPointBehavior\x18\x05 \x01(\rR\x10EndPointBehavior\x12<\n" + + "\tSidStruct\x18\x06 \x01(\v2\x1e.service_layer.SLSrv6SidStructR\tSidStruct\"a\n" + + "\x15SLBgpLsTopoNeighborId\x12\x1c\n" + + "\bIpv4Addr\x18\x01 \x01(\fH\x00R\bIpv4Addr\x12\x1c\n" + + "\bSystemId\x18\x02 \x01(\fH\x00R\bSystemIdB\f\n" + + "\n" + + "NeighborId\"\xa5\x02\n" + + "\x19SLBgplsTopoSrv6LanEndXSid\x12@\n" + + "\bNeighbor\x18\x01 \x01(\v2$.service_layer.SLBgpLsTopoNeighborIdR\bNeighbor\x12\x10\n" + + "\x03Sid\x18\x02 \x01(\fR\x03Sid\x12\x1c\n" + + "\tAlgorithm\x18\x03 \x01(\rR\tAlgorithm\x12\x14\n" + + "\x05Flags\x18\x04 \x01(\rR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x05 \x01(\rR\x06Weight\x12*\n" + + "\x10EndPointBehavior\x18\x06 \x01(\rR\x10EndPointBehavior\x12<\n" + + "\tSidStruct\x18\a \x01(\v2\x1e.service_layer.SLSrv6SidStructR\tSidStruct\"E\n" + + "\x17SLBgplsTopoUniLinkDelay\x12\x14\n" + + "\x05Delay\x18\x01 \x01(\rR\x05Delay\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\fR\x05Flags\"Y\n" + + "\x1dSLBgplsTopoMinMaxUniLinkDelay\x12\x10\n" + + "\x03Min\x18\x01 \x01(\rR\x03Min\x12\x10\n" + + "\x03Max\x18\x02 \x01(\rR\x03Max\x12\x14\n" + + "\x05Flags\x18\x03 \x01(\fR\x05Flags\"L\n" + + "\x16SLBgplsTopoUniDelayVar\x12\x1c\n" + + "\tVariation\x18\x01 \x01(\rR\tVariation\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\fR\x05Flags\"B\n" + + "\x16SLBgplsTopoUniLinkLoss\x12\x12\n" + + "\x04Loss\x18\x01 \x01(\rR\x04Loss\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\fR\x05Flags\":\n" + + "\x1aSLBgplsTopoUniResBandwidth\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\"<\n" + + "\x1cSLBgplsTopoUniAvailBandwidth\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\";\n" + + "\x1bSLBgplsTopoUniUtilBandwidth\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\"\xaa\a\n" + + "\x13SLBgplsTopoAslaAttr\x12\x12\n" + + "\x04Sabm\x18\x01 \x01(\fR\x04Sabm\x12\x14\n" + + "\x05Udabm\x18\x02 \x01(\fR\x05Udabm\x12O\n" + + "\vTeDefMetric\x18\x04 \x01(\v2-.service_layer.SLBgplsTopoLinkTeDefaultMetricR\vTeDefMetric\x126\n" + + "\x04Srlg\x18\x05 \x01(\v2\".service_layer.SLBgplsTopoLinkSrlgR\x04Srlg\x12J\n" + + "\fUniLinkDelay\x18\x06 \x01(\v2&.service_layer.SLBgplsTopoUniLinkDelayR\fUniLinkDelay\x12V\n" + + "\x0fMinMaxLinkDelay\x18\a \x01(\v2,.service_layer.SLBgplsTopoMinMaxUniLinkDelayR\x0fMinMaxLinkDelay\x12S\n" + + "\x11UniDelayVariation\x18\b \x01(\v2%.service_layer.SLBgplsTopoUniDelayVarR\x11UniDelayVariation\x12G\n" + + "\vUniLinkLoss\x18\t \x01(\v2%.service_layer.SLBgplsTopoUniLinkLossR\vUniLinkLoss\x12S\n" + + "\x0fUniResBandwidth\x18\n" + + " \x01(\v2).service_layer.SLBgplsTopoUniResBandwidthR\x0fUniResBandwidth\x12Y\n" + + "\x11UniAvailBandwidth\x18\v \x01(\v2+.service_layer.SLBgplsTopoUniAvailBandwidthR\x11UniAvailBandwidth\x12V\n" + + "\x10UniUtilBandwidth\x18\f \x01(\v2*.service_layer.SLBgplsTopoUniUtilBandwidthR\x10UniUtilBandwidth\x12M\n" + + "\rExtAdminGroup\x18\r \x01(\v2'.service_layer.SLBgplsTopoExtAdminGroupR\rExtAdminGroup\x12G\n" + + "\vUnknownAttr\x18\x0e \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\"1\n" + + "\x19SLBgplsTopoPrefixIgpFlags\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\"0\n" + + "\x1cSLBgplsTopoPrefixIgpRouteTag\x12\x10\n" + + "\x03Tag\x18\x01 \x01(\rR\x03Tag\"3\n" + + "\x1fSLBgplsTopoPrefixIgpExtRouteTag\x12\x10\n" + + "\x03Tag\x18\x01 \x01(\x04R\x03Tag\"1\n" + + "\x17SLBgplsTopoPrefixMetric\x12\x16\n" + + "\x06Metric\x18\x01 \x01(\rR\x06Metric\"i\n" + + "\x1cSLBgplsTopoPrefixOspfFwdAddr\x12\x1c\n" + + "\bIpv4Addr\x18\x01 \x01(\fH\x00R\bIpv4Addr\x12\x1c\n" + + "\bIpv6Addr\x18\x02 \x01(\fH\x00R\bIpv6AddrB\r\n" + + "\vOspfFwdAddr\"=\n" + + "\x1bSLBgplsTopoPrefixOpaqueAttr\x12\x1e\n" + + "\n" + + "OpaqueAttr\x18\x01 \x01(\fR\n" + + "OpaqueAttr\"\xbf\x01\n" + + "\x14SLBgplsTopoPrefixSid\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\x12\x1c\n" + + "\tAlgorithm\x18\x02 \x01(\rR\tAlgorithm\x12\x1e\n" + + "\n" + + "LabelIndex\x18\x03 \x01(\rR\n" + + "LabelIndex\x12S\n" + + "\x0fPrefixSidFormat\x18\x04 \x01(\x0e2).service_layer.SLBgplsTopoPrefixSidFormatR\x0fPrefixSidFormat\"\x9c\x01\n" + + "\x16SLBgplsTopoPrefixRange\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\x12\x1c\n" + + "\tRangeSize\x18\x02 \x01(\rR\tRangeSize\x12\x1c\n" + + "\tAlgorithm\x18\x03 \x01(\rR\tAlgorithm\x12\x14\n" + + "\x05Index\x18\x04 \x01(\rR\x05Index\x12\x1a\n" + + "\bSidFlags\x18\x05 \x01(\fR\bSidFlags\"f\n" + + "\x18SLBgplsTopoPrefixSrv6Loc\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\x12\x1c\n" + + "\tAlgorithm\x18\x02 \x01(\rR\tAlgorithm\x12\x16\n" + + "\x06Metric\x18\x03 \x01(\rR\x06Metric\"2\n" + + "\x1aSLBgplsTopoPrefixAttrFlags\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\fR\x05Flags\"i\n" + + "\x1cSLBgplsTopoPrefixSrcRouterId\x12\x1c\n" + + "\bIpv4Addr\x18\x01 \x01(\fH\x00R\bIpv4Addr\x12\x1c\n" + + "\bIpv6Addr\x18\x02 \x01(\fH\x00R\bIpv6AddrB\r\n" + + "\vSrcRouterId\"\x82\v\n" + + "\x1dSLBgplsTopoL2BundleMemberAttr\x12\x1e\n" + + "\n" + + "MemberDesc\x18\x01 \x01(\rR\n" + + "MemberDesc\x12N\n" + + "\fMaxBandwidth\x18\x03 \x01(\v2*.service_layer.SLBgplsTopoLinkMaxBandwidthR\fMaxBandwidth\x12Z\n" + + "\x10MaxResvBandwidth\x18\x04 \x01(\v2..service_layer.SLBgplsTopoLinkMaxResvBandwidthR\x10MaxResvBandwidth\x12W\n" + + "\x0fUnresvBandwidth\x18\x05 \x03(\v2-.service_layer.SLBgplsTopoLinkUnresvBandwidthR\x0fUnresvBandwidth\x12O\n" + + "\vTeDefMetric\x18\x06 \x01(\v2-.service_layer.SLBgplsTopoLinkTeDefaultMetricR\vTeDefMetric\x12T\n" + + "\x0eProtectionType\x18\a \x01(\v2,.service_layer.SLBgplsTopoLinkProtectionTypeR\x0eProtectionType\x128\n" + + "\x06AdjSid\x18\b \x03(\v2 .service_layer.SLBgplsTopoAdjSidR\x06AdjSid\x12A\n" + + "\tLanAdjSid\x18\t \x03(\v2#.service_layer.SLBgplsTopoLanAdjSidR\tLanAdjSid\x12J\n" + + "\fUniLinkDelay\x18\n" + + " \x01(\v2&.service_layer.SLBgplsTopoUniLinkDelayR\fUniLinkDelay\x12V\n" + + "\x0fMinMaxLinkDelay\x18\v \x01(\v2,.service_layer.SLBgplsTopoMinMaxUniLinkDelayR\x0fMinMaxLinkDelay\x12S\n" + + "\x11UniDelayVariation\x18\f \x01(\v2%.service_layer.SLBgplsTopoUniDelayVarR\x11UniDelayVariation\x12G\n" + + "\vUniLinkLoss\x18\r \x01(\v2%.service_layer.SLBgplsTopoUniLinkLossR\vUniLinkLoss\x12S\n" + + "\x0fUniResBandwidth\x18\x0e \x01(\v2).service_layer.SLBgplsTopoUniResBandwidthR\x0fUniResBandwidth\x12Y\n" + + "\x11UniAvailBandwidth\x18\x0f \x01(\v2+.service_layer.SLBgplsTopoUniAvailBandwidthR\x11UniAvailBandwidth\x12V\n" + + "\x10UniUtilBandwidth\x18\x10 \x01(\v2*.service_layer.SLBgplsTopoUniUtilBandwidthR\x10UniUtilBandwidth\x126\n" + + "\x04Asla\x18\x11 \x03(\v2\".service_layer.SLBgplsTopoAslaAttrR\x04Asla\x12M\n" + + "\rExtAdminGroup\x18\x12 \x01(\v2'.service_layer.SLBgplsTopoExtAdminGroupR\rExtAdminGroup\x12G\n" + + "\vUnknownAttr\x18\x13 \x03(\v2%.service_layer.SLBgplsTopoUnknownAttrR\vUnknownAttr\"0\n" + + "\x18SLBgplsTopoExtAdminGroup\x12\x14\n" + + "\x05Group\x18\x01 \x03(\rR\x05Group\"\xa3\x01\n" + + "\x17SLBgplsTopoSrBindingSid\x12\x1c\n" + + "\tBsidFlags\x18\x01 \x01(\rR\tBsidFlags\x12+\n" + + "\x04Bsid\x18\x02 \x01(\v2\x17.service_layer.SLSrBsidR\x04Bsid\x12=\n" + + "\rSpecifiedBsid\x18\x03 \x01(\v2\x17.service_layer.SLSrBsidR\rSpecifiedBsid\"h\n" + + "\x14SLBgplsTopoSrCpState\x12\x1a\n" + + "\bPriority\x18\x01 \x01(\rR\bPriority\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\rR\x05Flags\x12\x1e\n" + + "\n" + + "Preference\x18\x03 \x01(\rR\n" + + "Preference\"\xaa\x04\n" + + "\x1aSLBgplsTopoSrCpConstraints\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\x12\x12\n" + + "\x04Mtid\x18\x02 \x01(\rR\x04Mtid\x12\x1c\n" + + "\tAlgorithm\x18\x03 \x01(\rR\tAlgorithm\x12K\n" + + "\bAffinity\x18\x05 \x01(\v2/.service_layer.SLBgplsTopoSrAffinityConstraintsR\bAffinity\x12?\n" + + "\x04Srlg\x18\x06 \x01(\v2+.service_layer.SLBgplsTopoSrSrlgConstraintsR\x04Srlg\x12M\n" + + "\tBandwidth\x18\x04 \x01(\v2/.service_layer.SLBgplsTopoSrBandwidthConstraintR\tBandwidth\x12O\n" + + "\bDisjoint\x18\a \x01(\v23.service_layer.SLBgplsTopoSrDisjointGroupConstraintR\bDisjoint\x12P\n" + + "\n" + + "BidirGroup\x18\b \x01(\v20.service_layer.SLBgplsTopoSrBidirGroupConstraintR\n" + + "BidirGroup\x12D\n" + + "\x06Metric\x18\t \x03(\v2,.service_layer.SLBgplsTopoSrMetricConstraintR\x06Metric\"\xbf\x02\n" + + "\x14SLBgplsTopoSrSegList\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\x12\x12\n" + + "\x04Mtid\x18\x02 \x01(\rR\x04Mtid\x12\x1c\n" + + "\tAlgorithm\x18\x03 \x01(\rR\tAlgorithm\x12\x16\n" + + "\x06Weight\x18\x04 \x01(\rR\x06Weight\x126\n" + + "\bSegments\x18\x05 \x03(\v2\x1a.service_layer.SLSrSegmentR\bSegments\x12C\n" + + "\aMetrics\x18\x06 \x03(\v2).service_layer.SLBgplsTopoSrSegListMetricR\aMetrics\x12J\n" + + "\tBandwidth\x18\a \x01(\v2,.service_layer.SLBgplsTopoSrSegListBandwidthR\tBandwidth\"\x8a\x01\n" + + "\x1aSLBgplsTopoSrSegListMetric\x12\x12\n" + + "\x04Type\x18\x01 \x01(\rR\x04Type\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\rR\x05Flags\x12\x16\n" + + "\x06Margin\x18\x03 \x01(\rR\x06Margin\x12\x14\n" + + "\x05Bound\x18\x04 \x01(\rR\x05Bound\x12\x14\n" + + "\x05Value\x18\x05 \x01(\rR\x05Value\"\x82\x01\n" + + " SLBgplsTopoSrAffinityConstraints\x12\x1e\n" + + "\n" + + "ExclAnyEag\x18\x01 \x03(\rR\n" + + "ExclAnyEag\x12\x1e\n" + + "\n" + + "InclAnyEag\x18\x02 \x03(\rR\n" + + "InclAnyEag\x12\x1e\n" + + "\n" + + "InclAllEag\x18\x03 \x03(\rR\n" + + "InclAllEag\">\n" + + "\x1cSLBgplsTopoSrSrlgConstraints\x12\x1e\n" + + "\n" + + "SrlgValues\x18\x01 \x03(\rR\n" + + "SrlgValues\"@\n" + + " SLBgplsTopoSrBandwidthConstraint\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\"\x86\x01\n" + + "$SLBgplsTopoSrDisjointGroupConstraint\x12\"\n" + + "\fRequestFlags\x18\x01 \x01(\rR\fRequestFlags\x12 \n" + + "\vStatusFlags\x18\x02 \x01(\rR\vStatusFlags\x12\x18\n" + + "\aGroupId\x18\x03 \x01(\rR\aGroupId\"-\n" + + "\x17SLBgplsTopoSrPolicyName\x12\x12\n" + + "\x04Name\x18\x01 \x01(\tR\x04Name\"S\n" + + "!SLBgplsTopoSrBidirGroupConstraint\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\x12\x18\n" + + "\aGroupId\x18\x02 \x01(\rR\aGroupId\"w\n" + + "\x1dSLBgplsTopoSrMetricConstraint\x12\x12\n" + + "\x04Type\x18\x01 \x01(\rR\x04Type\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\rR\x05Flags\x12\x16\n" + + "\x06Margin\x18\x03 \x01(\rR\x06Margin\x12\x14\n" + + "\x05Bound\x18\x04 \x01(\rR\x05Bound\"=\n" + + "\x1dSLBgplsTopoSrSegListBandwidth\x12\x1c\n" + + "\tBandwidth\x18\x01 \x01(\fR\tBandwidth\"6\n" + + "\x16SLBgplsTopoSrSegListId\x12\x1c\n" + + "\tSegListId\x18\x01 \x01(\rR\tSegListId\"\x83\x01\n" + + "\x1dSLBgplsTopoSrv6BgpPeerNodeSid\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\x12\x16\n" + + "\x06Weight\x18\x02 \x01(\rR\x06Weight\x12\x16\n" + + "\x06PeerAS\x18\x03 \x01(\rR\x06PeerAS\x12\x1c\n" + + "\tPeerBgpId\x18\x04 \x01(\fR\tPeerBgpId\"b\n" + + "\x16SLBgplsTopoUnknownAttr\x12\x18\n" + + "\aTlvType\x18\x01 \x01(\rR\aTlvType\x12\x16\n" + + "\x06TlvLen\x18\x02 \x01(\rR\x06TlvLen\x12\x16\n" + + "\x06RawTlv\x18\x03 \x01(\fR\x06RawTlv*\x84\x01\n" + + "\x14SLBgplsTopoOperation\x12$\n" + + " SL_BGPLS_TOPO_OPERATION_RESERVED\x10\x00\x12\"\n" + + "\x1eSL_BGPLS_TOPO_OPERATION_UPDATE\x10\x01\x12\"\n" + + "\x1eSL_BGPLS_TOPO_OPERATION_DELETE\x10\x02*\xad\x02\n" + + "\x13SLBgplsTopoNlriType\x12$\n" + + " SL_BGPLS_TOPO_NLRI_TYPE_RESERVED\x10\x00\x12 \n" + + "\x1cSL_BGPLS_TOPO_NLRI_TYPE_NODE\x10\x01\x12 \n" + + "\x1cSL_BGPLS_TOPO_NLRI_TYPE_LINK\x10\x02\x12'\n" + + "#SL_BGPLS_TOPO_NLRI_TYPE_IPV4_PREFIX\x10\x03\x12'\n" + + "#SL_BGPLS_TOPO_NLRI_TYPE_IPV6_PREFIX\x10\x04\x124\n" + + "0SL_BGPLS_TOPO_NLRI_TYPE_SR_POLICY_CANDIDATE_PATH\x10\x05\x12$\n" + + " SL_BGPLS_TOPO_NLRI_TYPE_SRV6_SID\x10\x06*\xf1\x02\n" + + "\x13SLBgplsTopoProtocol\x12#\n" + + "\x1fSL_BGPLS_TOPO_PROTOCOL_RESERVED\x10\x00\x12\"\n" + + "\x1eSL_BGPLS_TOPO_PROTOCOL_ISIS_L1\x10\x01\x12\"\n" + + "\x1eSL_BGPLS_TOPO_PROTOCOL_ISIS_L2\x10\x02\x12!\n" + + "\x1dSL_BGPLS_TOPO_PROTOCOL_OSPFv2\x10\x03\x12!\n" + + "\x1dSL_BGPLS_TOPO_PROTOCOL_DIRECT\x10\x04\x12!\n" + + "\x1dSL_BGPLS_TOPO_PROTOCOL_STATIC\x10\x05\x12!\n" + + "\x1dSL_BGPLS_TOPO_PROTOCOL_OSPFv3\x10\x06\x12\x1e\n" + + "\x1aSL_BGPLS_TOPO_PROTOCOL_BGP\x10\a\x12\"\n" + + "\x1eSL_BGPLS_TOPO_PROTOCOL_RSVP_TE\x10\b\x12\x1d\n" + + "\x19SL_BGPLS_TOPO_PROTOCOL_SR\x10\t*\xce\x02\n" + + "\x18SLBgplsTopoOspfRouteType\x12*\n" + + "&SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_RESERVED\x10\x00\x12,\n" + + "(SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_INTRA_AREA\x10\x01\x12,\n" + + "(SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_INTER_AREA\x10\x02\x12*\n" + + "&SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_EXTERN_1\x10\x03\x12*\n" + + "&SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_EXTERN_2\x10\x04\x12(\n" + + "$SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_NSSA_1\x10\x05\x12(\n" + + "$SL_BGPLS_TOPO_OSPF_ROUTE_TYPE_NSSA_2\x10\x06*\xab\x01\n" + + "\x14SLBgplsTopoSidFormat\x12%\n" + + "!SL_BGPLS_TOPO_SID_FORMAT_RESERVED\x10\x00\x12\"\n" + + "\x1eSL_BGPLS_TOPO_SID_FORMAT_LABEL\x10\x01\x12\"\n" + + "\x1eSL_BGPLS_TOPO_SID_FORMAT_INDEX\x10\x02\x12$\n" + + " SL_BGPLS_TOPO_SID_FORMAT_V6_ADDR\x10\x03*\xa0\x01\n" + + "\x1aSLBgplsTopoPrefixSidFormat\x12,\n" + + "(SL_BGPLS_TOPO_PREFIX_SID_FORMAT_RESERVED\x10\x00\x12)\n" + + "%SL_BGPLS_TOPO_PREFIX_SID_FORMAT_LABEL\x10\x01\x12)\n" + + "%SL_BGPLS_TOPO_PREFIX_SID_FORMAT_INDEX\x10\x02*\x9a\x02\n" + + "\x1cSLBgplsTopoSrBindingSidFlags\x12'\n" + + "#SL_BGPLS_TOPO_SR_BSID_FLAG_RESERVED\x10\x00\x12-\n" + + "'SL_BGPLS_TOPO_SR_BSID_FLAG_DATAPLANE_V6\x10\x80\x80\x02\x12*\n" + + "$SL_BGPLS_TOPO_SR_BSID_FLAG_ALLOCATED\x10\x80\x80\x01\x12'\n" + + "\"SL_BGPLS_TOPO_SR_BSID_FLAG_UNAVAIL\x10\x80@\x12$\n" + + "\x1fSL_BGPLS_TOPO_SR_BSID_FLAG_SRLB\x10\x80 \x12'\n" + + "\"SL_BGPLS_TOPO_SR_BSID_FLAG_DYNAMIC\x10\x80\x10*\xce\x04\n" + + "\x19SLBgplsTopoSrCpStateFlags\x12+\n" + + "'SL_BGPLS_TOPO_SR_CP_STATE_FLAG_RESERVED\x10\x00\x12/\n" + + ")SL_BGPLS_TOPO_SR_CP_STATE_FLAG_ADMIN_SHUT\x10\x80\x80\x02\x12+\n" + + "%SL_BGPLS_TOPO_SR_CP_STATE_FLAG_ACTIVE\x10\x80\x80\x01\x12*\n" + + "%SL_BGPLS_TOPO_SR_CP_STATE_FLAG_BACKUP\x10\x80@\x12-\n" + + "(SL_BGPLS_TOPO_SR_CP_STATE_FLAG_EVALUATED\x10\x80 \x12)\n" + + "$SL_BGPLS_TOPO_SR_CP_STATE_FLAG_VALID\x10\x80\x10\x120\n" + + "+SL_BGPLS_TOPO_SR_CP_STATE_FLAG_ON_DEMAND_NH\x10\x80\b\x12-\n" + + "(SL_BGPLS_TOPO_SR_CP_STATE_FLAG_DELEGATED\x10\x80\x04\x12/\n" + + "*SL_BGPLS_TOPO_SR_CP_STATE_FLAG_PROVISIONED\x10\x80\x02\x125\n" + + "0SL_BGPLS_TOPO_SR_CP_STATE_FLAG_DROP_UPON_INVALID\x10\x80\x01\x12*\n" + + "&SL_BGPLS_TOPO_SR_CP_STATE_FLAG_TRANSIT\x10@\x12+\n" + + "'SL_BGPLS_TOPO_SR_CP_STATE_FLAG_DROPPING\x10 *\x8e\x04\n" + + "\x1fSLBgplsTopoSrCpConstraintsFlags\x121\n" + + "-SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_RESERVED\x10\x00\x127\n" + + "1SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_DATAPLANE_V6\x10\x80\x80\x02\x124\n" + + ".SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_PROTECTED\x10\x80\x80\x01\x125\n" + + "0SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_UNPROTECTED\x10\x80@\x128\n" + + "3SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_SPECIFIED_ALGO\x10\x80 \x128\n" + + "3SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_SPECIFIED_TOPO\x10\x80\x10\x124\n" + + "/SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_USE_STRICT\x10\x80\b\x122\n" + + "-SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_FIXED_CP\x10\x80\x04\x124\n" + + "/SL_BGPLS_TOPO_SR_CP_CONSTRAINTS_FLAG_HOP_BY_HOP\x10\x80\x02*\x8d\x04\n" + + "\x19SLBgplsTopoSrSegListFlags\x12+\n" + + "'SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_RESERVED\x10\x00\x121\n" + + "+SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_DATAPLANE_V6\x10\x80\x80\x02\x122\n" + + ",SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_EXPLICIT_PATH\x10\x80\x80\x01\x121\n" + + ",SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_COMPUTED_PATH\x10\x80@\x12,\n" + + "'SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_VERIFIED\x10\x80 \x12,\n" + + "'SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_RESOLVED\x10\x80\x10\x122\n" + + "-SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_COMPUTE_FAILED\x10\x80\b\x122\n" + + "-SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_SPECIFIED_ALGO\x10\x80\x04\x122\n" + + "-SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_SPECIFIED_TOPO\x10\x80\x02\x121\n" + + ",SL_BGPLS_TOPO_SR_SEG_LIST_FLAG_FAULT_MONITOR\x10\x80\x01*\xb9\x02\n" + + "\x1fSLBgplsTopoSrSegListMetricFlags\x122\n" + + ".SL_BGPLS_TOPO_SR_SEG_LIST_METRIC_FLAG_RESERVED\x10\x00\x129\n" + + "4SL_BGPLS_TOPO_SR_SEG_LIST_METRIC_FLAG_MARGIN_ALLOWED\x10\x80\x01\x126\n" + + "2SL_BGPLS_TOPO_SR_SEG_LIST_METRIC_FLAG_ABSOLUTE_VAL\x10@\x127\n" + + "3SL_BGPLS_TOPO_SR_SEG_LIST_METRIC_FLAG_BOUND_ALLOWED\x10 \x126\n" + + "2SL_BGPLS_TOPO_SR_SEG_LIST_METRIC_FLAG_VAL_REPORTED\x10\x10*\xf5\x02\n" + + "\x1fSLBgplsTopoSrDisjointGroupFlags\x121\n" + + "-SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_RESERVED\x10\x00\x12.\n" + + ")SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_SRLG\x10\x80\x01\x12-\n" + + ")SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_NODE\x10@\x12-\n" + + ")SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_LINK\x10 \x121\n" + + "-SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_FALLBACK\x10\x10\x12,\n" + + "(SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_IGP\x10\b\x120\n" + + ",SL_BGPLS_TOPO_SR_DISJOINT_GROUP_FLAG_INVALID\x10\x04*\xb2\x01\n" + + "\x1cSLBgplsTopoSrBidirGroupFlags\x12.\n" + + "*SL_BGPLS_TOPO_SR_BIDIR_GROUP_FLAG_RESERVED\x10\x00\x12/\n" + + ")SL_BGPLS_TOPO_SR_BIDIR_GROUP_FLAG_REVERSE\x10\x80\x80\x02\x121\n" + + "+SL_BGPLS_TOPO_SR_BIDIR_GROUP_FLAG_CO_ROUTED\x10\x80\x80\x01*\xbf\x02\n" + + "\"SLBgplsTopoSrMetricConstraintFlags\x124\n" + + "0SL_BGPLS_TOPO_SR_METRIC_CONSTRAINT_FLAG_RESERVED\x10\x00\x126\n" + + "1SL_BGPLS_TOPO_SR_METRIC_CONSTRAINT_FLAG_OPTIMIZED\x10\x80\x01\x12:\n" + + "6SL_BGPLS_TOPO_SR_METRIC_CONSTRAINT_FLAG_MARGIN_ALLOWED\x10@\x124\n" + + "0SL_BGPLS_TOPO_SR_METRIC_CONSTRAINT_FLAG_ABSOLUTE\x10 \x129\n" + + "5SL_BGPLS_TOPO_SR_METRIC_CONSTRAINT_FLAG_BOUND_ALLOWED\x10\x10*\x80\x02\n" + + "\"SLBgplsTopoSrv6BgpPeerNodeSidFlags\x126\n" + + "2SL_BGPLS_TOPO_SRV6_BGP_PEER_NODE_SID_FLAG_RESERVED\x10\x00\x125\n" + + "0SL_BGPLS_TOPO_SRV6_BGP_PEER_NODE_SID_FLAG_BACKUP\x10\x80\x01\x121\n" + + "-SL_BGPLS_TOPO_SRV6_BGP_PEER_NODE_SID_FLAG_SET\x10@\x128\n" + + "4SL_BGPLS_TOPO_SRV6_BGP_PEER_NODE_SID_FLAG_PERSISTENT\x10 2t\n" + + "\vSLBgplsTopo\x12e\n" + + "\x16SLBgplsTopoNotifStream\x12%.service_layer.SLBgplsTopoNotifReqMsg\x1a\".service_layer.SLBgplsTopoNotifMsg0\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_bgpls_topology_proto_rawDescOnce sync.Once - file_sl_bgpls_topology_proto_rawDescData = file_sl_bgpls_topology_proto_rawDesc + file_sl_bgpls_topology_proto_rawDescData []byte ) func file_sl_bgpls_topology_proto_rawDescGZIP() []byte { file_sl_bgpls_topology_proto_rawDescOnce.Do(func() { - file_sl_bgpls_topology_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_bgpls_topology_proto_rawDescData) + file_sl_bgpls_topology_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_bgpls_topology_proto_rawDesc), len(file_sl_bgpls_topology_proto_rawDesc))) }) return file_sl_bgpls_topology_proto_rawDescData } var file_sl_bgpls_topology_proto_enumTypes = make([]protoimpl.EnumInfo, 15) var file_sl_bgpls_topology_proto_msgTypes = make([]protoimpl.MessageInfo, 109) -var file_sl_bgpls_topology_proto_goTypes = []interface{}{ +var file_sl_bgpls_topology_proto_goTypes = []any{ (SLBgplsTopoOperation)(0), // 0: service_layer.SLBgplsTopoOperation (SLBgplsTopoNlriType)(0), // 1: service_layer.SLBgplsTopoNlriType (SLBgplsTopoProtocol)(0), // 2: service_layer.SLBgplsTopoProtocol @@ -11790,1351 +10560,41 @@ func file_sl_bgpls_topology_proto_init() { } file_sl_common_types_proto_init() file_sl_sr_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_bgpls_topology_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNotifReqMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNlriMatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNotifMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoStartMarker); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoEndMarker); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoInstanceId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNodeData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6SidData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrPolicyData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLink); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefix); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6Sid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkDescr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixDescr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6SidDescr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrPolicyDescr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoOspfNodeId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoOspfv3NodeId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoIsisNodeId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoBgpNodeId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrPolicyNodeId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNodeAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6SidAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrPolicyAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBplsTopoLinkLocRemId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoMtId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNodeMsd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkMsd); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNodeFlagBits); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoNodeOpaqueAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsNodeName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoIsisAreaId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLocalIpv4RouterId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLocalIpv6RouterId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoRemoteIpv4RouterId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoRemoteIpv6RouterId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrgb); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrgbIsisFlags); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrAlgorithm); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrlb); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6CapFlags); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoFad); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixFAPM); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoFadUnsuppTlv); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoFadExcMaxDelay); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkMaxBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkMaxResvBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkUnresvBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkTeDefaultMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkProtectionType); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkMplsProtoMask); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkIgpMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkSrlg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkOpaqueAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLinkName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoAdjSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoLanAdjSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoBgpPeerNodeSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoBgpPeerAdjSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoBgpPeerSetSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6EndXSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgpLsTopoNeighborId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6LanEndXSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUniLinkDelay); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoMinMaxUniLinkDelay); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUniDelayVar); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUniLinkLoss); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUniResBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUniAvailBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUniUtilBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoAslaAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixIgpFlags); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixIgpRouteTag); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixIgpExtRouteTag); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixOspfFwdAddr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixOpaqueAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixSrv6Loc); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixAttrFlags); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoPrefixSrcRouterId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoL2BundleMemberAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoExtAdminGroup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrBindingSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrCpState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrCpConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrSegList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrSegListMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrAffinityConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrSrlgConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrBandwidthConstraint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrDisjointGroupConstraint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrPolicyName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrBidirGroupConstraint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrMetricConstraint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrSegListBandwidth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrSegListId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoSrv6BgpPeerNodeSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_bgpls_topology_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLBgplsTopoUnknownAttr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_bgpls_topology_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[2].OneofWrappers = []any{ (*SLBgplsTopoNotifMsg_ErrStatus)(nil), (*SLBgplsTopoNotifMsg_Data)(nil), (*SLBgplsTopoNotifMsg_Start)(nil), (*SLBgplsTopoNotifMsg_End)(nil), } - file_sl_bgpls_topology_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[7].OneofWrappers = []any{ (*SLBgplsTopoData_Node)(nil), (*SLBgplsTopoData_Link)(nil), (*SLBgplsTopoData_Prefix)(nil), (*SLBgplsTopoData_Srv6Sid)(nil), (*SLBgplsTopoData_SrPolicy)(nil), } - file_sl_bgpls_topology_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[14].OneofWrappers = []any{ (*SLBgplsTopoNode_OspfNodeId)(nil), (*SLBgplsTopoNode_Ospfv3NodeId)(nil), (*SLBgplsTopoNode_IsisNodeId)(nil), (*SLBgplsTopoNode_BgpNodeId)(nil), (*SLBgplsTopoNode_SrPolicyNodeId)(nil), } - file_sl_bgpls_topology_proto_msgTypes[22].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[22].OneofWrappers = []any{ (*SLBgplsTopoSrPolicyDescr_Ipv4EndAddr)(nil), (*SLBgplsTopoSrPolicyDescr_Ipv6EndAddr)(nil), (*SLBgplsTopoSrPolicyDescr_Ipv4OrigAddr)(nil), (*SLBgplsTopoSrPolicyDescr_Ipv6OrigAddr)(nil), } - file_sl_bgpls_topology_proto_msgTypes[70].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[70].OneofWrappers = []any{ (*SLBgpLsTopoNeighborId_Ipv4Addr)(nil), (*SLBgpLsTopoNeighborId_SystemId)(nil), } - file_sl_bgpls_topology_proto_msgTypes[84].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[84].OneofWrappers = []any{ (*SLBgplsTopoPrefixOspfFwdAddr_Ipv4Addr)(nil), (*SLBgplsTopoPrefixOspfFwdAddr_Ipv6Addr)(nil), } - file_sl_bgpls_topology_proto_msgTypes[90].OneofWrappers = []interface{}{ + file_sl_bgpls_topology_proto_msgTypes[90].OneofWrappers = []any{ (*SLBgplsTopoPrefixSrcRouterId_Ipv4Addr)(nil), (*SLBgplsTopoPrefixSrcRouterId_Ipv6Addr)(nil), } @@ -13142,7 +10602,7 @@ func file_sl_bgpls_topology_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_bgpls_topology_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_bgpls_topology_proto_rawDesc), len(file_sl_bgpls_topology_proto_rawDesc)), NumEnums: 15, NumMessages: 109, NumExtensions: 0, @@ -13154,7 +10614,6 @@ func file_sl_bgpls_topology_proto_init() { MessageInfos: file_sl_bgpls_topology_proto_msgTypes, }.Build() File_sl_bgpls_topology_proto = out.File - file_sl_bgpls_topology_proto_rawDesc = nil file_sl_bgpls_topology_proto_goTypes = nil file_sl_bgpls_topology_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_bgpls_topology_grpc.pb.go b/grpc/go/src/gengo/sl_bgpls_topology_grpc.pb.go index d1f6da4b..59ef345b 100644 --- a/grpc/go/src/gengo/sl_bgpls_topology_grpc.pb.go +++ b/grpc/go/src/gengo/sl_bgpls_topology_grpc.pb.go @@ -1,7 +1,23 @@ +// @file +// @brief RPC proto file for BGP-LS Topology Subscription Service. +// +// The RPCs and messages defined here are experimental and subject to +// change without notice and such changes can break backwards compatibility. +// +// ---------------------------------------------------------------- +// Copyright (c) 2024 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +//@defgroup BGP-LS Topology Service +//@brief BGP-LS Topology Service definitions. + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_bgpls_topology.proto package service_layer @@ -15,12 +31,20 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLBgplsTopo_SLBgplsTopoNotifStream_FullMethodName = "/service_layer.SLBgplsTopo/SLBgplsTopoNotifStream" +) // SLBgplsTopoClient is the client API for SLBgplsTopo service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLBgplsTopo +// Defines RPC calls for BGP-LS Topology updates. +// @{ type SLBgplsTopoClient interface { // This call is used to get a stream of BGP-LS Topology updates. // It can be used to get "push" information for BGP-LS @@ -44,7 +68,7 @@ type SLBgplsTopoClient interface { // get a Start marker, any BGP-LS Topology if present, and an End Marker. // Upon receiving the Start marker, the caller must perform a mark and // sweep operation on the data it received from this subscription. - SLBgplsTopoNotifStream(ctx context.Context, in *SLBgplsTopoNotifReqMsg, opts ...grpc.CallOption) (SLBgplsTopo_SLBgplsTopoNotifStreamClient, error) + SLBgplsTopoNotifStream(ctx context.Context, in *SLBgplsTopoNotifReqMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLBgplsTopoNotifMsg], error) } type sLBgplsTopoClient struct { @@ -55,12 +79,13 @@ func NewSLBgplsTopoClient(cc grpc.ClientConnInterface) SLBgplsTopoClient { return &sLBgplsTopoClient{cc} } -func (c *sLBgplsTopoClient) SLBgplsTopoNotifStream(ctx context.Context, in *SLBgplsTopoNotifReqMsg, opts ...grpc.CallOption) (SLBgplsTopo_SLBgplsTopoNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLBgplsTopo_ServiceDesc.Streams[0], "/service_layer.SLBgplsTopo/SLBgplsTopoNotifStream", opts...) +func (c *sLBgplsTopoClient) SLBgplsTopoNotifStream(ctx context.Context, in *SLBgplsTopoNotifReqMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLBgplsTopoNotifMsg], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLBgplsTopo_ServiceDesc.Streams[0], SLBgplsTopo_SLBgplsTopoNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLBgplsTopoSLBgplsTopoNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLBgplsTopoNotifReqMsg, SLBgplsTopoNotifMsg]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -70,26 +95,16 @@ func (c *sLBgplsTopoClient) SLBgplsTopoNotifStream(ctx context.Context, in *SLBg return x, nil } -type SLBgplsTopo_SLBgplsTopoNotifStreamClient interface { - Recv() (*SLBgplsTopoNotifMsg, error) - grpc.ClientStream -} - -type sLBgplsTopoSLBgplsTopoNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLBgplsTopoSLBgplsTopoNotifStreamClient) Recv() (*SLBgplsTopoNotifMsg, error) { - m := new(SLBgplsTopoNotifMsg) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBgplsTopo_SLBgplsTopoNotifStreamClient = grpc.ServerStreamingClient[SLBgplsTopoNotifMsg] // SLBgplsTopoServer is the server API for SLBgplsTopo service. // All implementations must embed UnimplementedSLBgplsTopoServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLBgplsTopo +// Defines RPC calls for BGP-LS Topology updates. +// @{ type SLBgplsTopoServer interface { // This call is used to get a stream of BGP-LS Topology updates. // It can be used to get "push" information for BGP-LS @@ -113,18 +128,22 @@ type SLBgplsTopoServer interface { // get a Start marker, any BGP-LS Topology if present, and an End Marker. // Upon receiving the Start marker, the caller must perform a mark and // sweep operation on the data it received from this subscription. - SLBgplsTopoNotifStream(*SLBgplsTopoNotifReqMsg, SLBgplsTopo_SLBgplsTopoNotifStreamServer) error + SLBgplsTopoNotifStream(*SLBgplsTopoNotifReqMsg, grpc.ServerStreamingServer[SLBgplsTopoNotifMsg]) error mustEmbedUnimplementedSLBgplsTopoServer() } -// UnimplementedSLBgplsTopoServer must be embedded to have forward compatible implementations. -type UnimplementedSLBgplsTopoServer struct { -} +// UnimplementedSLBgplsTopoServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLBgplsTopoServer struct{} -func (UnimplementedSLBgplsTopoServer) SLBgplsTopoNotifStream(*SLBgplsTopoNotifReqMsg, SLBgplsTopo_SLBgplsTopoNotifStreamServer) error { +func (UnimplementedSLBgplsTopoServer) SLBgplsTopoNotifStream(*SLBgplsTopoNotifReqMsg, grpc.ServerStreamingServer[SLBgplsTopoNotifMsg]) error { return status.Errorf(codes.Unimplemented, "method SLBgplsTopoNotifStream not implemented") } func (UnimplementedSLBgplsTopoServer) mustEmbedUnimplementedSLBgplsTopoServer() {} +func (UnimplementedSLBgplsTopoServer) testEmbeddedByValue() {} // UnsafeSLBgplsTopoServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLBgplsTopoServer will @@ -134,6 +153,13 @@ type UnsafeSLBgplsTopoServer interface { } func RegisterSLBgplsTopoServer(s grpc.ServiceRegistrar, srv SLBgplsTopoServer) { + // If the following call pancis, it indicates UnimplementedSLBgplsTopoServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLBgplsTopo_ServiceDesc, srv) } @@ -142,21 +168,11 @@ func _SLBgplsTopo_SLBgplsTopoNotifStream_Handler(srv interface{}, stream grpc.Se if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLBgplsTopoServer).SLBgplsTopoNotifStream(m, &sLBgplsTopoSLBgplsTopoNotifStreamServer{stream}) -} - -type SLBgplsTopo_SLBgplsTopoNotifStreamServer interface { - Send(*SLBgplsTopoNotifMsg) error - grpc.ServerStream + return srv.(SLBgplsTopoServer).SLBgplsTopoNotifStream(m, &grpc.GenericServerStream[SLBgplsTopoNotifReqMsg, SLBgplsTopoNotifMsg]{ServerStream: stream}) } -type sLBgplsTopoSLBgplsTopoNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLBgplsTopoSLBgplsTopoNotifStreamServer) Send(m *SLBgplsTopoNotifMsg) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLBgplsTopo_SLBgplsTopoNotifStreamServer = grpc.ServerStreamingServer[SLBgplsTopoNotifMsg] // SLBgplsTopo_ServiceDesc is the grpc.ServiceDesc for SLBgplsTopo service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_common_types.pb.go b/grpc/go/src/gengo/sl_common_types.pb.go index fef745d9..70ec1992 100644 --- a/grpc/go/src/gengo/sl_common_types.pb.go +++ b/grpc/go/src/gengo/sl_common_types.pb.go @@ -13,8 +13,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_common_types.proto package service_layer @@ -24,6 +24,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -422,10 +423,16 @@ const ( SLRspACKType_RIB_AND_FIB_ACK SLRspACKType = 1 // 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. + // additional response of type SL_FIB_INUSE_SUCCESS or SL_FIB_INUSE_FAILED. + // SL_FIB_INUSE_SUCCESS indicates that an object has been successfully + // programmed in FIB and is being actively used by one or more forwarding + // chains. + // SL_FIB_INUSE_FAILED indicates that there was a failure in programming at + // least one of the forwarding chains this object is part of. + // *Note: SL_FIB_INUSE_FAILED is a terminal state for an object; the object + // has to be removed and reprogrammed to recover from the + // SL_FIB_INUSE_FAILED state. + // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup. SLRspACKType_RIB_FIB_INUSE_ACK SLRspACKType = 2 ) @@ -489,6 +496,10 @@ const ( // and is in-use by at least one referencing object that is also // programmed in hardware. SLAFFibStatus_SL_FIB_INUSE_SUCCESS SLAFFibStatus = 4 + // The forwarding chain using this object is not active in hardware + // as at least one referencing object failed to be + // programmed in hardware. + SLAFFibStatus_SL_FIB_INUSE_FAILED SLAFFibStatus = 5 ) // Enum value maps for SLAFFibStatus. @@ -499,6 +510,7 @@ var ( 2: "SL_FIB_FAILED", 3: "SL_FIB_INELIGIBLE", 4: "SL_FIB_INUSE_SUCCESS", + 5: "SL_FIB_INUSE_FAILED", } SLAFFibStatus_value = map[string]int32{ "SL_FIB_UNKNOWN": 0, @@ -506,6 +518,7 @@ var ( "SL_FIB_FAILED": 2, "SL_FIB_INELIGIBLE": 3, "SL_FIB_INUSE_SUCCESS": 4, + "SL_FIB_INUSE_FAILED": 5, } ) @@ -560,6 +573,8 @@ const ( 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 + // Permits SL_FIB_INUSE_FAILED to be relayed to client + SLRspACKPermit_SL_PERMIT_FIB_INUSE_FAILED SLRspACKPermit = 5 ) // Enum value maps for SLRspACKPermit. @@ -570,6 +585,7 @@ var ( 2: "SL_PERMIT_FIB_FAILED", 3: "SL_PERMIT_FIB_INELIGIBLE", 4: "SL_PERMIT_FIB_INUSE_SUCCESS", + 5: "SL_PERMIT_FIB_INUSE_FAILED", } SLRspACKPermit_value = map[string]int32{ "SL_PERMIT_FIB_STATUS_ALL": 0, @@ -577,6 +593,7 @@ var ( "SL_PERMIT_FIB_FAILED": 2, "SL_PERMIT_FIB_INELIGIBLE": 3, "SL_PERMIT_FIB_INUSE_SUCCESS": 4, + "SL_PERMIT_FIB_INUSE_FAILED": 5, } ) @@ -743,6 +760,12 @@ const ( SLErrorStatus_SL_AUTH_FAIL SLErrorStatus_SLErrno = 13 // Ack type not supported error. 0xe SLErrorStatus_SL_ACK_TYPE_NOT_SUPPORTED SLErrorStatus_SLErrno = 14 + // No such client. + // The specified client-id does not exist. 0xf + SLErrorStatus_SL_NO_SUCH_CLIENT SLErrorStatus_SLErrno = 15 + // No entries found. + // No entries are present matching the input parameters. 0x10 + SLErrorStatus_SL_NO_ENTRIES_FOUND SLErrorStatus_SLErrno = 16 // Offset for INIT errors. 0x500 SLErrorStatus_SL_INIT_START_OFFSET SLErrorStatus_SLErrno = 1280 // Success, no errors detected - clear state. @@ -810,6 +833,9 @@ const ( // IPv6 routes in VRF were played to Routing Information Base // on a process restart or connection re-establishment. 0x2013 SLErrorStatus_SL_VRF_V6_ROUTE_REPLAY_OK SLErrorStatus_SLErrno = 8211 + // Client Name specified in message does not match current + // name used for this client. 0x2014 + SLErrorStatus_SL_VRF_TABLE_CLIENT_NAME_MISMATCH SLErrorStatus_SLErrno = 8212 // Offset for Route operation errors. 0x3000 SLErrorStatus_SL_RPC_ROUTE_START_OFFSET SLErrorStatus_SLErrno = 12288 // Operation rejected for ALL routes due to too many routes in the @@ -892,6 +918,8 @@ const ( SLErrorStatus_SL_ROUTE_INVALID_FLAGS SLErrorStatus_SLErrno = 16404 // Invalid route priority. 0x4015 SLErrorStatus_SL_ROUTE_INVALID_PRIORITY SLErrorStatus_SLErrno = 16405 + // Invalid route metric. 0x4016 + SLErrorStatus_SL_ROUTE_INVALID_METRIC SLErrorStatus_SLErrno = 16406 // Offset for route path errors. 0x5000 SLErrorStatus_SL_PATH_START_OFFSET SLErrorStatus_SLErrno = 20480 // VRF table for the path could not be determined. 0x5001 @@ -953,6 +981,26 @@ const ( // Path Encap type attribute does not match specified encapsulation. // 0x501c SLErrorStatus_SL_PATH_ENCAP_TYPE_MISMATCH SLErrorStatus_SLErrno = 20508 + // Path list mixes incompatible bitmap-FRR and index-FRR evidence. + // 0x501d + SLErrorStatus_SL_PATH_INVALID_PATH_LIST_MODEL SLErrorStatus_SLErrno = 20509 + // Duplicate path_index specified in the path list of a route. + // 0x501e + SLErrorStatus_SL_PATH_PRIMARY_INDEX_REPEATED SLErrorStatus_SLErrno = 20510 + // A path index value exceeds the maximum supported path-id range. + // 0x501f + SLErrorStatus_SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE SLErrorStatus_SLErrno = 20511 + // A backup index value exceeds the maximum supported path-id range. + // 0x5020 + SLErrorStatus_SL_PATH_BACKUP_INDEX_OUT_OF_RANGE SLErrorStatus_SLErrno = 20512 + // A path with pure backup flag set is not referenced by as a + // backup by any other path in the same route. + // 0x5021 + SLErrorStatus_SL_PATH_BACKUP_FLAGGED_UNREFERENCED SLErrorStatus_SLErrno = 20513 + // A backup index in a path's backup index list equals the path's + // own path_index (self-reference). + // 0x5022 + SLErrorStatus_SL_PATH_BACKUP_INDEX_SELF_REFERENCE SLErrorStatus_SLErrno = 20514 // Offset for BFD operation errors. 0x6000 SLErrorStatus_SL_RPC_BFD_START_OFFSET SLErrorStatus_SLErrno = 24576 // BFD Operation rejected for ALL Sessions as the BFD Session count @@ -1557,6 +1605,139 @@ const ( SLErrorStatus_SL_SRTE_POLICY_SERVICE_NOT_UP SLErrorStatus_SLErrno = 110599 // Request message bigger than supported size. 0x1b008 SLErrorStatus_SL_SRTE_POLICY_EXCEED_MSG_SIZE SLErrorStatus_SLErrno = 110600 + // Performance Measurement session error + SLErrorStatus_SL_PERF_MEAS_START_OFFSET SLErrorStatus_SLErrno = 114688 + // Performance Measurement session creation failure + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED SLErrorStatus_SLErrno = 114689 + // Performance Measurement session deletion failure + SLErrorStatus_SL_PERF_MEAS_SESSION_DELETE_FAILED SLErrorStatus_SLErrno = 114690 + // Performance Measurement session get stats failure + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_STATS_FAILED SLErrorStatus_SLErrno = 114691 + // Performance Measurement session get info failure + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_INFO_FAILED SLErrorStatus_SLErrno = 114692 + // Request sent is not a valid request type + SLErrorStatus_SL_PERF_MEAS_INVALID_REQUEST SLErrorStatus_SLErrno = 114693 + // Performance Measurement session flush Max Rtt failure + SLErrorStatus_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED SLErrorStatus_SLErrno = 114694 + // Performance Measurement session creation failed due to invalid source IP + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP SLErrorStatus_SLErrno = 114695 + // Performance Measurement session creation failed due to invalid destination IP + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP SLErrorStatus_SLErrno = 114696 + // Performance Measurement session creation failed due to invalid nexthop IP + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP SLErrorStatus_SLErrno = 114697 + // Performance Measurement session creation failed due to invalid label stack + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK SLErrorStatus_SLErrno = 114698 + // Performance Measurement session creation failed due to invalid probe interval + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL SLErrorStatus_SLErrno = 114699 + // Performance Measurement session creation failed due to invalid timeout count + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT SLErrorStatus_SLErrno = 114700 + // Performance Measurement session creation failed due to invalid DSCP + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP SLErrorStatus_SLErrno = 114701 + // Performance Measurement session creation failed due to invalid interface + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE SLErrorStatus_SLErrno = 114702 + // Performance Measurement session creation failed to send request to perf_meas process + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED SLErrorStatus_SLErrno = 114703 + // Performance Measurement session creation failed due to internal error + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR SLErrorStatus_SLErrno = 114704 + // Performance Measurement session deletion failed to send request to perf_meas process + SLErrorStatus_SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED SLErrorStatus_SLErrno = 114705 + // Performance Measurement session deletion failed due to internal error + SLErrorStatus_SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR SLErrorStatus_SLErrno = 114706 + // Performance Measurement session get stats failed to send request to perf_meas process + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED SLErrorStatus_SLErrno = 114707 + // Performance Measurement session get stats failed due to internal error + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR SLErrorStatus_SLErrno = 114708 + // Performance Measurement session get info failed to send request to perf_meas process + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED SLErrorStatus_SLErrno = 114709 + // Performance Measurement session get info failed due to internal error + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR SLErrorStatus_SLErrno = 114710 + // Performance Measurement flush max RTT failed to send request to perf_meas process + SLErrorStatus_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED SLErrorStatus_SLErrno = 114711 + // Performance Measurement flush max RTT failed due to internal error + SLErrorStatus_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR SLErrorStatus_SLErrno = 114712 + // Performance Measurement session not found for delete operation. 0x1c019 + SLErrorStatus_SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND SLErrorStatus_SLErrno = 114713 + // Performance Measurement session not found for get stats operation. 0x1c01a + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND SLErrorStatus_SLErrno = 114714 + // Performance Measurement session not found for get info operation. 0x1c01b + SLErrorStatus_SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND SLErrorStatus_SLErrno = 114715 + // Performance Measurement session not found for flush operation. 0x1c01c + SLErrorStatus_SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND SLErrorStatus_SLErrno = 114716 + // Performance Measurement session creation failed due to invalid session name. 0x1c01d + SLErrorStatus_SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME SLErrorStatus_SLErrno = 114717 + // PM notification server not initialized + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 114718 + // PM notification client not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND SLErrorStatus_SLErrno = 114719 + // PM notification client not connected + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED SLErrorStatus_SLErrno = 114720 + // PM message allocation failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED SLErrorStatus_SLErrno = 114721 + // PM Parameter validation errors (returned by PM during session create) + // PM rejected: session name invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID SLErrorStatus_SLErrno = 114722 + // PM rejected: probe interval invalid (e.g., CPU session < 50ms) + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID SLErrorStatus_SLErrno = 114723 + // PM rejected: timeout count invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID SLErrorStatus_SLErrno = 114724 + // PM rejected: TOS/DSCP value invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID SLErrorStatus_SLErrno = 114725 + // PM rejected: number of labels invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID SLErrorStatus_SLErrno = 114726 + // PM rejected: source address not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND SLErrorStatus_SLErrno = 114727 + // PM rejected: destination address not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND SLErrorStatus_SLErrno = 114728 + // PM rejected: nexthop not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND SLErrorStatus_SLErrno = 114729 + // PM rejected: source address invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID SLErrorStatus_SLErrno = 114730 + // PM rejected: destination address invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID SLErrorStatus_SLErrno = 114731 + // PM rejected: nexthop address invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID SLErrorStatus_SLErrno = 114732 + // PM rejected: address type mismatch (src/dst/nexthop not same AF) + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH SLErrorStatus_SLErrno = 114733 + // PM rejected: output interface name invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID SLErrorStatus_SLErrno = 114734 + // PM Message validation errors + // PM rejected: session name missing in message + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING SLErrorStatus_SLErrno = 114735 + // PM rejected: liveness state missing in message + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING SLErrorStatus_SLErrno = 114736 + // PM Server-level errors + // PM internal: system in inconsistent state + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT SLErrorStatus_SLErrno = 114737 + // PM Session create notification errors + // PM create failed: invalid parameters + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS SLErrorStatus_SLErrno = 114738 + // PM create failed: interface handle (IFH) lookup failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED SLErrorStatus_SLErrno = 114739 + // PM create failed: MAC address invalid + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID SLErrorStatus_SLErrno = 114740 + // PM create failed: delay-measurement DR create failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED SLErrorStatus_SLErrno = 114741 + // PM create failed: delay-measurement DR update failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED SLErrorStatus_SLErrno = 114742 + // PM create failed: no memory for DR session + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM SLErrorStatus_SLErrno = 114743 + // PM create failed: DR session insert failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED SLErrorStatus_SLErrno = 114744 + // PM create failed: NPU offload failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED SLErrorStatus_SLErrno = 114745 + // PM create failed: CPU session create failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED SLErrorStatus_SLErrno = 114746 + // PM create failed: session setup failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED SLErrorStatus_SLErrno = 114747 + // PM Session get/flush notification errors + // PM get/flush failed: interface not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND SLErrorStatus_SLErrno = 114748 + // PM get/flush failed: SCB (session control block) not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND SLErrorStatus_SLErrno = 114749 + // PM get/flush failed: liveness session not found + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND SLErrorStatus_SLErrno = 114750 + // PM get/flush failed: counter update failed + SLErrorStatus_SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED SLErrorStatus_SLErrno = 114751 // Offset for Internal errors. 0x100000 SLErrorStatus_SL_INTERNAL_START_OFFSET SLErrorStatus_SLErrno = 1048576 ) @@ -1579,6 +1760,8 @@ var ( 12: "SL_NOTIF_TERM", 13: "SL_AUTH_FAIL", 14: "SL_ACK_TYPE_NOT_SUPPORTED", + 15: "SL_NO_SUCH_CLIENT", + 16: "SL_NO_ENTRIES_FOUND", 1280: "SL_INIT_START_OFFSET", 1281: "SL_INIT_STATE_CLEAR", 1282: "SL_INIT_STATE_READY", @@ -1603,6 +1786,7 @@ var ( 8209: "SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR", 8210: "SL_VRF_V4_ROUTE_REPLAY_OK", 8211: "SL_VRF_V6_ROUTE_REPLAY_OK", + 8212: "SL_VRF_TABLE_CLIENT_NAME_MISMATCH", 12288: "SL_RPC_ROUTE_START_OFFSET", 12289: "SL_RPC_ROUTE_TOO_MANY_ROUTES", 12290: "SL_RPC_ROUTE_VRF_NAME_TOOLONG", @@ -1638,6 +1822,7 @@ var ( 16403: "SL_ROUTE_INVALID_LOCAL_LABEL", 16404: "SL_ROUTE_INVALID_FLAGS", 16405: "SL_ROUTE_INVALID_PRIORITY", + 16406: "SL_ROUTE_INVALID_METRIC", 20480: "SL_PATH_START_OFFSET", 20481: "SL_PATH_NH_NO_TABLE", 20482: "SL_PATH_NH_INTF_NOT_FOUND", @@ -1667,6 +1852,12 @@ var ( 20506: "SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH", 20507: "SL_PATH_RTR_MAC_NOSUP", 20508: "SL_PATH_ENCAP_TYPE_MISMATCH", + 20509: "SL_PATH_INVALID_PATH_LIST_MODEL", + 20510: "SL_PATH_PRIMARY_INDEX_REPEATED", + 20511: "SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE", + 20512: "SL_PATH_BACKUP_INDEX_OUT_OF_RANGE", + 20513: "SL_PATH_BACKUP_FLAGGED_UNREFERENCED", + 20514: "SL_PATH_BACKUP_INDEX_SELF_REFERENCE", 24576: "SL_RPC_BFD_START_OFFSET", 24577: "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS", 24578: "SL_RPC_BFD_API_BAD_PARAMETER", @@ -1953,399 +2144,537 @@ var ( 110598: "SL_SRTE_POLICY_CLIENT_MISMATCH", 110599: "SL_SRTE_POLICY_SERVICE_NOT_UP", 110600: "SL_SRTE_POLICY_EXCEED_MSG_SIZE", + 114688: "SL_PERF_MEAS_START_OFFSET", + 114689: "SL_PERF_MEAS_SESSION_CREATE_FAILED", + 114690: "SL_PERF_MEAS_SESSION_DELETE_FAILED", + 114691: "SL_PERF_MEAS_SESSION_GET_STATS_FAILED", + 114692: "SL_PERF_MEAS_SESSION_GET_INFO_FAILED", + 114693: "SL_PERF_MEAS_INVALID_REQUEST", + 114694: "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED", + 114695: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP", + 114696: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP", + 114697: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP", + 114698: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK", + 114699: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL", + 114700: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT", + 114701: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP", + 114702: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE", + 114703: "SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED", + 114704: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR", + 114705: "SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED", + 114706: "SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR", + 114707: "SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED", + 114708: "SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR", + 114709: "SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED", + 114710: "SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR", + 114711: "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED", + 114712: "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR", + 114713: "SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND", + 114714: "SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND", + 114715: "SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND", + 114716: "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND", + 114717: "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME", + 114718: "SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED", + 114719: "SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND", + 114720: "SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED", + 114721: "SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED", + 114722: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID", + 114723: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID", + 114724: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID", + 114725: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID", + 114726: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID", + 114727: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND", + 114728: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND", + 114729: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND", + 114730: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID", + 114731: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID", + 114732: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID", + 114733: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH", + 114734: "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID", + 114735: "SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING", + 114736: "SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING", + 114737: "SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT", + 114738: "SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS", + 114739: "SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED", + 114740: "SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID", + 114741: "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED", + 114742: "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED", + 114743: "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM", + 114744: "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED", + 114745: "SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED", + 114746: "SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED", + 114747: "SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED", + 114748: "SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND", + 114749: "SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND", + 114750: "SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND", + 114751: "SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED", 1048576: "SL_INTERNAL_START_OFFSET", } SLErrorStatus_SLErrno_value = map[string]int32{ - "SL_SUCCESS": 0, - "SL_NOT_CONNECTED": 1, - "SL_EAGAIN": 2, - "SL_ENOMEM": 3, - "SL_EBUSY": 4, - "SL_EINVAL": 5, - "SL_UNSUPPORTED_VER": 6, - "SL_NOT_AVAILABLE": 7, - "SL_STREAM_NOT_SUPPORTED": 8, - "SL_ENOTSUP": 9, - "SL_SOME_ERR": 10, - "SL_TIMEOUT": 11, - "SL_NOTIF_TERM": 12, - "SL_AUTH_FAIL": 13, - "SL_ACK_TYPE_NOT_SUPPORTED": 14, - "SL_INIT_START_OFFSET": 1280, - "SL_INIT_STATE_CLEAR": 1281, - "SL_INIT_STATE_READY": 1282, - "SL_INIT_UNSUPPORTED_VER": 1283, - "SL_INIT_SERVER_NOT_INITIALIZED": 1284, - "SL_INIT_SERVER_MODE_CHANGE_FAILED": 1285, - "SL_RPC_VRF_START_OFFSET": 4096, - "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS": 4097, - "SL_RPC_VRF_SERVER_NOT_INITIALIZED": 4098, - "SL_RPC_VRF_OP_NOTSUP_WITH_AUTOREG": 4099, - "SL_VRF_START_OFFSET": 8192, - "SL_VRF_NAME_TOOLONG": 8193, - "SL_VRF_NOT_FOUND": 8194, - "SL_VRF_NO_TABLE_ID": 8195, - "SL_VRF_REG_INVALID_ADMIN_DISTANCE": 8196, - "SL_VRF_TABLE_ADD_ERR": 8197, - "SL_VRF_TABLE_REGISTRATION_ERR": 8198, - "SL_VRF_TABLE_UNREGISTRATION_ERR": 8199, - "SL_VRF_TABLE_EOF_ERR": 8200, - "SL_VRF_REG_VRF_NAME_MISSING": 8201, - "SL_VRF_V4_ROUTE_REPLAY_FATAL_ERROR": 8208, - "SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR": 8209, - "SL_VRF_V4_ROUTE_REPLAY_OK": 8210, - "SL_VRF_V6_ROUTE_REPLAY_OK": 8211, - "SL_RPC_ROUTE_START_OFFSET": 12288, - "SL_RPC_ROUTE_TOO_MANY_ROUTES": 12289, - "SL_RPC_ROUTE_VRF_NAME_TOOLONG": 12290, - "SL_RPC_ROUTE_VRF_NOT_FOUND": 12291, - "SL_RPC_ROUTE_VRF_NO_TABLE": 12292, - "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED": 12293, - "SL_RPC_ROUTE_VRF_NAME_MISSING": 12294, - "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE": 12295, - "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED": 12296, - "SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG": 12297, - "SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG": 12298, - "SL_RPC_ROUTE_GET_MATCH_INVALID": 12299, - "SL_RPC_ROUTE_GET_MATCH_NOTSUP": 12300, - "SL_ROUTE_START_OFFSET": 16384, - "SL_ROUTE_ADD_NO_PATHS": 16385, - "SL_ROUTE_UPDATE_NO_PATHS": 16386, - "SL_ROUTE_INVALID_PREFIX_LEN": 16387, - "SL_ROUTE_INVALID_ADMIN_DISTANCE": 16388, - "SL_ROUTE_INVALID_NUM_PATHS": 16389, - "SL_ROUTE_INVALID_PREFIX_SZ": 16390, - "SL_ROUTE_INVALID_PREFIX": 16391, - "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED": 16392, - "SL_ROUTE_ERR_RIB_INVALID_ARGS": 16393, - "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT": 16394, - "SL_ROUTE_ERR_RIB_TOOMANYPATHS": 16395, - "SL_ROUTE_EEXIST": 16396, - "SL_ROUTE_HOST_BITS_SET": 16397, - "SL_ROUTE_INVALID_PREFIX_MCAST": 16398, - "SL_ROUTE_PATH_AFI_MISMATCH": 16399, - "SL_ROUTE_TOOMANY_PRIMARY_PATHS": 16400, - "SL_ROUTE_TOOMANY_BACKUP_PATHS": 16401, - "SL_ROUTE_DB_NOMEM": 16402, - "SL_ROUTE_INVALID_LOCAL_LABEL": 16403, - "SL_ROUTE_INVALID_FLAGS": 16404, - "SL_ROUTE_INVALID_PRIORITY": 16405, - "SL_PATH_START_OFFSET": 20480, - "SL_PATH_NH_NO_TABLE": 20481, - "SL_PATH_NH_INTF_NOT_FOUND": 20482, - "SL_PATH_INVALID_LABEL_COUNT": 20483, - "SL_PATH_INVALID_ID": 20484, - "SL_PATH_VRF_NAME_TOOLONG": 20485, - "SL_PATH_NH_INTF_NAME_TOOLONG": 20486, - "SL_PATH_NH_INVALID_ADDR_SZ": 20487, - "SL_PATH_NH_INF_NAME_MISSING": 20488, - "SL_PATH_INVALID_NEXT_HOP_ADDR": 20489, - "SL_PATH_INVALID_REMOTE_ADDR_COUNT": 20490, - "SL_PATH_REMOTE_ADDR_INVALID_SZ": 20491, - "SL_PATH_REMOTE_ADDR_AFI_MISMATCH": 20492, - "SL_PATH_INVALID_PROTECTED_BITMAP": 20493, - "SL_PATH_BACKUP_MISSING_PRIMARY_PATH": 20494, - "SL_PATH_PRIMARY_ID_REPEATED": 20495, - "SL_PATH_BACKUP_ID_REPEATED": 20496, - "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS": 20497, - "SL_PATH_PRIMARY_TOOMANY_LABELS": 20498, - "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR": 20499, - "SL_PATH_REMOTE_ADDR_INVALID": 20500, - "SL_PATH_INVALID_LABEL": 20501, - "SL_PATH_ROUTER_MAC_ADDR_INVALID_SZ": 20502, - "SL_PATH_BACKUP_TOOMANY_LABELS": 20503, - "SL_PATH_INVALID_VNI": 20504, - "SL_PATH_INVALID_ENCAP_ADDR": 20505, - "SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH": 20506, - "SL_PATH_RTR_MAC_NOSUP": 20507, - "SL_PATH_ENCAP_TYPE_MISMATCH": 20508, - "SL_RPC_BFD_START_OFFSET": 24576, - "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS": 24577, - "SL_RPC_BFD_API_BAD_PARAMETER": 24578, - "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED": 24579, - "SL_RPC_BFD_API_INTERNAL_ERROR": 24580, - "SL_RPC_BFD_SERVER_NOT_INITIALIZED": 24581, - "SL_RPC_BFD_V4_NOT_REGISTERED": 24582, - "SL_RPC_BFD_V6_NOT_REGISTERED": 24583, - "SL_BFD_START_OFFSET": 28672, - "SL_BFD_INTF_NAME_TOOLONG": 28673, - "SL_BFD_INTF_NOT_FOUND": 28674, - "SL_BFD_INVALID_ATTRIBUTE": 28675, - "SL_BFD_INTF_NAME_MISSING": 28676, - "SL_BFD_INVALID_NBR_MCAST": 28677, - "SL_BFD_INVALID_NBR": 28678, - "SL_BFD_VRF_NAME_TOOLONG": 28679, - "SL_BFD_BAD_PARAMETER": 28680, - "SL_BFD_API_INTERNAL_ERROR": 28681, - "SL_BFD_VRF_NOT_FOUND": 28682, - "SL_BFD_INVALID_PREFIX_SIZE": 28683, - "SL_BFD_INVALID_SESSION_TYPE": 28684, - "SL_BFD_INVALID_VRF": 28685, - "SL_BFD_SESSION_NOT_FOUND": 28686, - "SL_BFD_SESSION_EXISTS": 28687, - "SL_BFD_INTERNAL_DB_ERROR": 28688, - "SL_BFD_RECOVERY_ERROR": 28689, - "SL_RPC_MPLS_START_OFFSET": 32768, - "SL_RPC_MPLS_ILM_TOO_MANY_ILMS": 32769, - "SL_RPC_MPLS_SERVER_NOT_INITIALIZED": 32770, - "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE": 32771, - "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS": 32772, - "SL_RPC_MPLS_NOT_REGISTERED": 32773, - "SL_ILM_ERR_OFFSET": 36864, - "SL_ILM_ADD_FAILED": 36865, - "SL_ILM_LSD_ADD_FAILED": 36866, - "SL_ILM_INVALID_NUM_NHLFE": 36867, - "SL_ILM_INVALID_LABEL": 36868, - "SL_ILM_DELETE_FAILED": 36869, - "SL_ILM_LSD_DELETE_FAILED": 36870, - "SL_ILM_TOOMANY_PRIMARY_NHLFES": 36871, - "SL_ILM_TOOMANY_BACKUP_NHLFES": 36872, - "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED": 36873, - "SL_ILM_LSD_NHLFE_INVALID_ATTRIB": 36874, - "SL_ILM_EEXIST": 36875, - "SL_ILM_DB_NOMEM": 36876, - "SL_ILM_INVALID_ELSP_EXP": 36877, - "SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET": 36878, - "SL_ILM_ADD_NO_PATHS": 36879, - "SL_ILM_UPDATE_NO_PATHS": 36880, - "SL_ILM_UNSUPPORTED_ELSP": 36881, - "SL_ILM_LABEL_TOOMANY_EXP_CLASSES": 36882, - "SL_ILM_REPLAY_FATAL_ERROR": 36883, - "SL_ILM_REPLAY_OK": 36884, - "SL_ILM_INVALID_PREFIX_LEN": 36885, - "SL_ILM_HOST_BITS_SET": 36886, - "SL_ILM_INVALID_PREFIX_SZ": 36887, - "SL_ILM_INVALID_PREFIX": 36888, - "SL_ILM_INVALID_PREFIX_MCAST": 36889, - "SL_ILM_VRF_NAME_TOOLONG": 36896, - "SL_ILM_VRF_NO_TABLE_ID": 36897, - "SL_ILM_VRF_NAME_MISSING": 36898, - "SL_NHLFE_ERR_OFFSET": 40960, - "SL_NHLFE_NH_NO_TABLE": 40961, - "SL_NHLFE_NH_INVALID_ADDR_SZ": 40962, - "SL_NHLFE_INVALID_NEXT_HOP_ADDR": 40963, - "SL_NHLFE_VRF_NAME_TOOLONG": 40964, - "SL_NHLFE_NH_INF_NAME_MISSING": 40965, - "SL_NHLFE_NH_INTF_NAME_TOOLONG": 40966, - "SL_NHLFE_INVALID_LABEL_COUNT": 40967, - "SL_NHLFE_INVALID_PATH_ID": 40968, - "SL_NHLFE_INVALID_LABEL": 40969, - "SL_NHLFE_INVALID_PROTECTED_BITMAP": 40970, - "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT": 40971, - "SL_NHLFE_REMOTE_ADDR_INVALID_SZ": 40972, - "SL_NHLFE_PRIMARY_TOOMANY_LABELS": 40973, - "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR": 40974, - "SL_NHLFE_BACKUP_ID_REPEATED": 40975, - "SL_NHLFE_PRIMARY_ID_REPEATED": 40976, - "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY": 40977, - "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS": 40978, - "SL_NHLFE_REMOTE_ADDR_INVALID": 40979, - "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH": 40980, - "SL_NHLFE_NEXT_HOP_MISSING": 40981, - "SL_NHLFE_LABEL_ACTION_INVALID": 40982, - "SL_NHLFE_NH_INTF_NOT_FOUND": 40983, - "SL_NHLFE_OPER_FAILED": 40984, - "SL_NHLFE_LABEL_ACTION_MISSING": 40985, - "SL_NHLFE_EXP_SET_FAILED": 40986, - "SL_NHLFE_ELSP_PROTECTION_UNSUPPORTED": 40987, - "SL_NHLFE_INVALID_ELSP_EXP": 40988, - "SL_NHLFE_INVALID_PATH_PRIORITY": 40989, - "SL_NHLFE_INVALID_LOAD_METRIC": 40990, - "SL_NHLFE_INVALID_SETID": 40991, - "SL_NHLFE_INVALID_SETID_PRIORITY": 40992, - "SL_NHLFE_INVALID_MULTIPLE_PRIMARY_SETIDS": 40993, - "SL_NHLFE_NON_CONTIGUOUS_SETIDS": 40994, - "SL_NHLFE_NON_CONTIGUOUS_EXP": 40995, - "SL_NHLFE_INCONSISTENT_EXP_ON_PATH": 40996, - "SL_LABEL_BLK_ERR_OFFSET": 45056, - "SL_LABEL_BLK_LSD_ADD_FAILED": 45057, - "SL_LABEL_BLK_LSD_DELETE_FAILED": 45058, - "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND": 45059, - "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE": 45060, - "SL_LABEL_BLK_LSD_INVALID_ATTRIB": 45061, - "SL_LABEL_BLK_INVALID_BLOCK_SIZE": 45062, - "SL_LABEL_BLK_INVALID_START_LABEL": 45063, - "SL_LABEL_BLK_EEXIST": 45064, - "SL_LABEL_BLK_DB_NOMEM": 45065, - "SL_LABEL_BLK_TYPE_INVALID": 45066, - "SL_LABEL_BLK_CLIENT_NAME_TOOLONG": 45067, - "SL_MPLS_REG_ERR_OFFSET": 49152, - "SL_MPLS_REG_ERR": 49153, - "SL_MPLS_UNREG_ERR": 49154, - "SL_MPLS_EOF_ERR": 49155, - "SL_RPC_INTF_START_OFFSET": 53248, - "SL_RPC_INTF_TOO_MANY_INTERFACES": 53249, - "SL_RPC_INTF_SERVER_NOT_INITIALIZED": 53250, - "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED": 53251, - "SL_INTF_START_OFFSET": 57344, - "SL_INTF_INTERFACE_NAME_MISSING": 57345, - "SL_INTF_INTERFACE_NAME_TOOLONG": 57346, - "SL_INTF_INTERFACE_REG_ERR": 57347, - "SL_INTF_INTERNAL_DB_ERROR": 57348, - "SL_INTF_RECOVERY_ERROR": 57349, - "SL_INTF_INTERFACE_EXISTS": 57350, - "SL_INTF_INTERFACE_NOT_FOUND": 57351, - "SL_INTF_INTERFACE_STATE_NOT_SUPPORTED": 57352, - "SL_L2_REG_START_OFFSET": 61440, - "SL_L2_REGISTRATION_ERR": 61441, - "SL_L2_UNREGISTRATION_ERR": 61442, - "SL_L2_EOF_ERR": 61443, - "SL_L2_REG_INVALID_ADMIN_DISTANCE": 61444, - "SL_L2_REG_IS_DUPLICATE": 61445, - "SL_L2_REG_SERVER_NOT_INITIALIZED": 61446, - "SL_RPC_L2_BD_REG_START_OFFSET": 65536, - "SL_RPC_L2_BD_REG_NAME_MISSING": 65537, - "SL_RPC_L2_BD_REG_TOO_MANY_MSGS": 65538, - "SL_RPC_L2_BD_REG_SERVER_NOT_INITIALIZED": 65539, - "SL_RPC_L2_BD_REG_CLIENT_NOT_REGISTERED": 65540, - "SL_L2_BD_REG_START_OFFSET": 69632, - "SL_L2_BD_REGISTRATION_ERR": 69633, - "SL_L2_BD_UNREGISTRATION_ERR": 69634, - "SL_L2_BD_EOF_ERR": 69635, - "SL_L2_BD_REG_NAME_TOO_LONG": 69636, - "SL_L2_BD_REG_BD_NOT_FOUND": 69637, - "SL_RPC_L2_ROUTE_START_OFFSET": 73728, - "SL_RPC_L2_ROUTE_TOO_MANY_MSGS": 73729, - "SL_RPC_L2_ROUTE_SERVER_NOT_INITIALIZED": 73730, - "SL_RPC_L2_ROUTE_CLIENT_NOT_REGISTERED": 73731, - "SL_L2_ROUTE_START_OFFSET": 77824, - "SL_L2_ROUTE_BD_NAME_MISSING": 77825, - "SL_L2_ROUTE_BD_NAME_TOOLONG": 77826, - "SL_L2_ROUTE_BD_NOT_FOUND": 77827, - "SL_L2_ROUTE_BD_NOT_REGISTERED": 77828, - "SL_L2_ROUTE_INVALID_ARGS": 77829, - "SL_RPC_L2_NOTIF_START_OFFSET": 81921, - "SL_RPC_L2_NOTIF_SERVER_NOT_INITIALIZED": 81922, - "SL_RPC_L2_NOTIF_CLIENT_NOT_REGISTERED": 81923, - "SL_RPC_L2_NOTIF_ENABLE_ERR": 81924, - "SL_RPC_L2_NOTIF_DISABLE_ERR": 81925, - "SL_RPC_L2_NOTIF_EOF_ERR": 81926, - "SL_RPC_L2_NOTIF_BD_NAME_MISSING": 81927, - "SL_RPC_L2_NOTIF_BD_NAME_TOOLONG": 81928, - "SL_RPC_L2_NOTIF_BD_NOT_FOUND": 81929, - "SL_PG_VRF_ADD_ERR": 86017, - "SL_PG_VRF_NO_VRFID": 86018, - "SL_PG_STR_KEY_TOOLONG": 86019, - "SL_PG_TARGET_VRF_NO_VRFID": 86020, - "SL_PG_STR_KEY_INVALID": 86021, - "SL_NEXT_HOP_START_OFFSET": 90112, - "SL_NEXT_HOP_INVALID_PREFIX_LEN": 90113, - "SL_NEXT_HOP_HOST_BITS_SET": 90114, - "SL_NEXT_HOP_INVALID_PREFIX_MCAST": 90115, - "SL_NEXT_HOP_INVALID_PREFIX": 90116, - "SL_NEXT_HOP_INVALID_NEXT_HOP_ADDR": 90117, - "SL_NEXT_HOP_INVALID_PREFIX_SZ": 90118, - "SL_NEXT_HOP_RIB_ADD_FAILED": 90119, - "SL_ROUTE_REDIST_RIB_ADD_FAILED": 90120, - "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, - "SL_POLICY_DELETE_ERR": 98307, - "SL_POLICY_RULE_ADD_ERR": 98308, - "SL_POLICY_RULE_EXISTS_ERR": 98309, - "SL_POLICY_RULE_DELETE_ERR": 98310, - "SL_POLICY_APPLY_ERR": 98311, - "SL_POLICY_UNAPPLY_ERR": 98312, - "SL_POLICY_TOO_MANY_POLICIES": 98313, - "SL_POLICY_NAME_TOO_LONG": 98314, - "SL_POLICY_RULE_NAME_TOO_LONG": 98315, - "SL_POLICY_DUPLICATE_PRIORITY_IN_RULE": 98316, - "SL_POLICY_RULE_MOD_NOT_ALLOWED": 98317, - "SL_POLICY_INVALID_RULE": 98318, - "SL_POLICY_RULE_ADD_NO_RULES": 98319, - "SL_POLICY_INVALID_MATCH_COUNT_IN_RULE": 98320, - "SL_POLICY_INVALID_ACTION_COUNT_IN_RULE": 98321, - "SL_POLICY_NOT_FOUND": 98322, - "SL_POLICY_INVALID": 98323, - "SL_POLICY_NAME_MISSING": 98324, - "SL_POLICY_RULE_NAME_MISSING": 98325, - "SL_POLICY_PRIORITY_MISSING_IN_RULE": 98326, - "SL_POLICY_TYPE_INVALID": 98327, - "SL_POLICY_INVALID_DIRECTION": 98328, - "SL_POLICY_INTF_NAME_TOOLONG": 98329, - "SL_POLICY_INTF_NAME_MISSING": 98330, - "SL_POLICY_MAX_RULE_LIMIT_REACHED": 98331, - "SL_POLICY_VRF_NAME_TOO_LONG": 98332, - "SL_POLICY_VRF_NAME_MISSING": 98333, - "SL_POLICY_PATH_GRP_NAME_TOO_LONG": 98334, - "SL_POLICY_PATH_GRP_NAME_MISSING": 98335, - "SL_POLICY_INVALID_DSCP_VALUE": 98336, - "SL_POLICY_PRIORITY_STR_TOO_LONG": 98337, - "SL_POLICY_MAX_INTF_LIMIT_REACHED": 98338, - "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, - "SL_BGPLS_MAX_STREAMS_EXCEEDED": 102403, - "SL_BGP_START_OFFSET": 106496, - "SL_BGP_INST_NAME_TOOLONG": 106497, - "SL_BGP_INST_NAME_EMPTY": 106498, - "SL_BGP_INST_NOT_INITIALIZED": 106499, - "SL_BGP_INVALID_OBJ_TYPE": 106500, - "SL_BGP_VRF_NAME_TOOLONG_V4": 106501, - "SL_BGP_VRF_NAME_TOOLONG_V6": 106502, - "SL_BGP_UNSUPPORTED_VRF_NAME": 106503, - "SL_BGP_INVALID_NBR_ADDR_MCAST": 106504, - "SL_BGP_INVALID_NBR_ADDR_EXP": 106505, - "SL_BGP_INVALID_NBR_ADDR": 106506, - "SL_BGP_INVALID_NBR_V6_SZ": 106507, - "SL_BGP_INVALID_NBR_KEY": 106508, - "SL_BGP_INVALID_MPATH_ADDR_MCAST": 106509, - "SL_BGP_INVALID_MPATH_ADDR_EXP": 106510, - "SL_BGP_INVALID_MPATH_ADDR": 106511, - "SL_BGP_INVALID_MPATH_V6_SZ": 106512, - "SL_BGP_INVALID_NBRSAFI_LIST": 106513, - "SL_BGP_UNSUPPORTED_BGP_AFI_SAFI": 106514, - "SL_BGP_UNSUPPORTED_AFI": 106515, - "SL_BGP_UNSUPPORTED_SAFI": 106516, - "SL_BGP_EMPTY_OBJECTS": 106517, - "SL_BGP_EMPTY_OBJECT_LIST": 106518, - "SL_BGP_UPDATE_BW_GRP_FAILED": 106519, - "SL_BGP_UPDATE_MPATH_ADDR_FAILED": 106520, - "SL_BGP_DELETE_BW_GRP_FAILED": 106521, - "SL_BGP_DELETE_NBR_FAILED": 106522, - "SL_BGP_DELETE_AFI_FAILED": 106523, - "SL_BGP_DELETE_MPATH_ADDR_FAILED": 106524, - "SL_BGP_DELETE_FAILED": 106525, - "SL_BGP_BW_GRP_NUM_OUT_OF_RANGE": 106526, - "SL_BGP_IN_BW_GRP_COUNT_EXCEEDED": 106527, - "SL_BGP_OUT_BW_GRP_COUNT_EXCEEDED": 106528, - "SL_BGP_INVALID_IN_BWGRP_LIST": 106529, - "SL_BGP_INVALID_OUT_BWGRP_LIST": 106530, - "SL_BGP_LINK_BW_OUT_OF_RANGE": 106531, - "SL_BGP_NBR_IDX_OUT_OF_RANGE": 106532, - "SL_BGP_INVALID_BW_TYPE": 106533, - "SL_BGP_BW_GRP_LIST_NULL": 106534, - "SL_BGP_NBRSAFI_LIST_NULL": 106535, - "SL_BGP_INST_NOT_CONFIG_IN_SLAPI": 106536, - "SL_BGP_OBJ_LIST_IDX_OUT_OF_RANGE": 106537, - "SL_BGP_ASN_OUT_OF_RANGE": 106538, - "SL_BGP_INVALID_BW_UNIT": 106539, - "SL_BGP_OBJECT_TYPE_REQUIRED": 106540, - "SL_BGP_OBJECT_KEY_REQUIRED": 106541, - "SL_BGP_INVALID_OBJECT_TYPE": 106542, - "SL_BGP_GET_EXACT_MATCH_NOT_FOUND": 106543, - "SL_BGP_MAX_NEIGHBORS_IN_SYSDB": 106544, - "SL_BGP_MAX_OBJECTS_IN_PAYLOAD": 106545, - "SL_BGP_INTERNAL_ERR_1": 106753, - "SL_BGP_INTERNAL_ERR_2": 106754, - "SL_BGP_INTERNAL_ERR_3": 106755, - "SL_SRTE_POLICY_START_OFFSET": 110592, - "SL_SRTE_POLICY_REQUEST_INVALID": 110593, - "SL_SRTE_POLICY_POLICY_KEY_INVALID": 110594, - "SL_SRTE_POLICY_POLICY_ATTR_INVALID": 110595, - "SL_SRTE_POLICY_CP_KEY_INVALID": 110596, - "SL_SRTE_POLICY_CP_ATTR_INVALID": 110597, - "SL_SRTE_POLICY_CLIENT_MISMATCH": 110598, - "SL_SRTE_POLICY_SERVICE_NOT_UP": 110599, - "SL_SRTE_POLICY_EXCEED_MSG_SIZE": 110600, - "SL_INTERNAL_START_OFFSET": 1048576, + "SL_SUCCESS": 0, + "SL_NOT_CONNECTED": 1, + "SL_EAGAIN": 2, + "SL_ENOMEM": 3, + "SL_EBUSY": 4, + "SL_EINVAL": 5, + "SL_UNSUPPORTED_VER": 6, + "SL_NOT_AVAILABLE": 7, + "SL_STREAM_NOT_SUPPORTED": 8, + "SL_ENOTSUP": 9, + "SL_SOME_ERR": 10, + "SL_TIMEOUT": 11, + "SL_NOTIF_TERM": 12, + "SL_AUTH_FAIL": 13, + "SL_ACK_TYPE_NOT_SUPPORTED": 14, + "SL_NO_SUCH_CLIENT": 15, + "SL_NO_ENTRIES_FOUND": 16, + "SL_INIT_START_OFFSET": 1280, + "SL_INIT_STATE_CLEAR": 1281, + "SL_INIT_STATE_READY": 1282, + "SL_INIT_UNSUPPORTED_VER": 1283, + "SL_INIT_SERVER_NOT_INITIALIZED": 1284, + "SL_INIT_SERVER_MODE_CHANGE_FAILED": 1285, + "SL_RPC_VRF_START_OFFSET": 4096, + "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS": 4097, + "SL_RPC_VRF_SERVER_NOT_INITIALIZED": 4098, + "SL_RPC_VRF_OP_NOTSUP_WITH_AUTOREG": 4099, + "SL_VRF_START_OFFSET": 8192, + "SL_VRF_NAME_TOOLONG": 8193, + "SL_VRF_NOT_FOUND": 8194, + "SL_VRF_NO_TABLE_ID": 8195, + "SL_VRF_REG_INVALID_ADMIN_DISTANCE": 8196, + "SL_VRF_TABLE_ADD_ERR": 8197, + "SL_VRF_TABLE_REGISTRATION_ERR": 8198, + "SL_VRF_TABLE_UNREGISTRATION_ERR": 8199, + "SL_VRF_TABLE_EOF_ERR": 8200, + "SL_VRF_REG_VRF_NAME_MISSING": 8201, + "SL_VRF_V4_ROUTE_REPLAY_FATAL_ERROR": 8208, + "SL_VRF_V6_ROUTE_REPLAY_FATAL_ERROR": 8209, + "SL_VRF_V4_ROUTE_REPLAY_OK": 8210, + "SL_VRF_V6_ROUTE_REPLAY_OK": 8211, + "SL_VRF_TABLE_CLIENT_NAME_MISMATCH": 8212, + "SL_RPC_ROUTE_START_OFFSET": 12288, + "SL_RPC_ROUTE_TOO_MANY_ROUTES": 12289, + "SL_RPC_ROUTE_VRF_NAME_TOOLONG": 12290, + "SL_RPC_ROUTE_VRF_NOT_FOUND": 12291, + "SL_RPC_ROUTE_VRF_NO_TABLE": 12292, + "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED": 12293, + "SL_RPC_ROUTE_VRF_NAME_MISSING": 12294, + "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE": 12295, + "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED": 12296, + "SL_RPC_ROUTE_NOTIF_SRC_PROTO_TOOLONG": 12297, + "SL_RPC_ROUTE_NOTIF_SRC_PROTO_TAG_TOOLONG": 12298, + "SL_RPC_ROUTE_GET_MATCH_INVALID": 12299, + "SL_RPC_ROUTE_GET_MATCH_NOTSUP": 12300, + "SL_ROUTE_START_OFFSET": 16384, + "SL_ROUTE_ADD_NO_PATHS": 16385, + "SL_ROUTE_UPDATE_NO_PATHS": 16386, + "SL_ROUTE_INVALID_PREFIX_LEN": 16387, + "SL_ROUTE_INVALID_ADMIN_DISTANCE": 16388, + "SL_ROUTE_INVALID_NUM_PATHS": 16389, + "SL_ROUTE_INVALID_PREFIX_SZ": 16390, + "SL_ROUTE_INVALID_PREFIX": 16391, + "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED": 16392, + "SL_ROUTE_ERR_RIB_INVALID_ARGS": 16393, + "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT": 16394, + "SL_ROUTE_ERR_RIB_TOOMANYPATHS": 16395, + "SL_ROUTE_EEXIST": 16396, + "SL_ROUTE_HOST_BITS_SET": 16397, + "SL_ROUTE_INVALID_PREFIX_MCAST": 16398, + "SL_ROUTE_PATH_AFI_MISMATCH": 16399, + "SL_ROUTE_TOOMANY_PRIMARY_PATHS": 16400, + "SL_ROUTE_TOOMANY_BACKUP_PATHS": 16401, + "SL_ROUTE_DB_NOMEM": 16402, + "SL_ROUTE_INVALID_LOCAL_LABEL": 16403, + "SL_ROUTE_INVALID_FLAGS": 16404, + "SL_ROUTE_INVALID_PRIORITY": 16405, + "SL_ROUTE_INVALID_METRIC": 16406, + "SL_PATH_START_OFFSET": 20480, + "SL_PATH_NH_NO_TABLE": 20481, + "SL_PATH_NH_INTF_NOT_FOUND": 20482, + "SL_PATH_INVALID_LABEL_COUNT": 20483, + "SL_PATH_INVALID_ID": 20484, + "SL_PATH_VRF_NAME_TOOLONG": 20485, + "SL_PATH_NH_INTF_NAME_TOOLONG": 20486, + "SL_PATH_NH_INVALID_ADDR_SZ": 20487, + "SL_PATH_NH_INF_NAME_MISSING": 20488, + "SL_PATH_INVALID_NEXT_HOP_ADDR": 20489, + "SL_PATH_INVALID_REMOTE_ADDR_COUNT": 20490, + "SL_PATH_REMOTE_ADDR_INVALID_SZ": 20491, + "SL_PATH_REMOTE_ADDR_AFI_MISMATCH": 20492, + "SL_PATH_INVALID_PROTECTED_BITMAP": 20493, + "SL_PATH_BACKUP_MISSING_PRIMARY_PATH": 20494, + "SL_PATH_PRIMARY_ID_REPEATED": 20495, + "SL_PATH_BACKUP_ID_REPEATED": 20496, + "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS": 20497, + "SL_PATH_PRIMARY_TOOMANY_LABELS": 20498, + "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR": 20499, + "SL_PATH_REMOTE_ADDR_INVALID": 20500, + "SL_PATH_INVALID_LABEL": 20501, + "SL_PATH_ROUTER_MAC_ADDR_INVALID_SZ": 20502, + "SL_PATH_BACKUP_TOOMANY_LABELS": 20503, + "SL_PATH_INVALID_VNI": 20504, + "SL_PATH_INVALID_ENCAP_ADDR": 20505, + "SL_PATH_ENCAP_SRC_DST_AFI_MISMATCH": 20506, + "SL_PATH_RTR_MAC_NOSUP": 20507, + "SL_PATH_ENCAP_TYPE_MISMATCH": 20508, + "SL_PATH_INVALID_PATH_LIST_MODEL": 20509, + "SL_PATH_PRIMARY_INDEX_REPEATED": 20510, + "SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE": 20511, + "SL_PATH_BACKUP_INDEX_OUT_OF_RANGE": 20512, + "SL_PATH_BACKUP_FLAGGED_UNREFERENCED": 20513, + "SL_PATH_BACKUP_INDEX_SELF_REFERENCE": 20514, + "SL_RPC_BFD_START_OFFSET": 24576, + "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS": 24577, + "SL_RPC_BFD_API_BAD_PARAMETER": 24578, + "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED": 24579, + "SL_RPC_BFD_API_INTERNAL_ERROR": 24580, + "SL_RPC_BFD_SERVER_NOT_INITIALIZED": 24581, + "SL_RPC_BFD_V4_NOT_REGISTERED": 24582, + "SL_RPC_BFD_V6_NOT_REGISTERED": 24583, + "SL_BFD_START_OFFSET": 28672, + "SL_BFD_INTF_NAME_TOOLONG": 28673, + "SL_BFD_INTF_NOT_FOUND": 28674, + "SL_BFD_INVALID_ATTRIBUTE": 28675, + "SL_BFD_INTF_NAME_MISSING": 28676, + "SL_BFD_INVALID_NBR_MCAST": 28677, + "SL_BFD_INVALID_NBR": 28678, + "SL_BFD_VRF_NAME_TOOLONG": 28679, + "SL_BFD_BAD_PARAMETER": 28680, + "SL_BFD_API_INTERNAL_ERROR": 28681, + "SL_BFD_VRF_NOT_FOUND": 28682, + "SL_BFD_INVALID_PREFIX_SIZE": 28683, + "SL_BFD_INVALID_SESSION_TYPE": 28684, + "SL_BFD_INVALID_VRF": 28685, + "SL_BFD_SESSION_NOT_FOUND": 28686, + "SL_BFD_SESSION_EXISTS": 28687, + "SL_BFD_INTERNAL_DB_ERROR": 28688, + "SL_BFD_RECOVERY_ERROR": 28689, + "SL_RPC_MPLS_START_OFFSET": 32768, + "SL_RPC_MPLS_ILM_TOO_MANY_ILMS": 32769, + "SL_RPC_MPLS_SERVER_NOT_INITIALIZED": 32770, + "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE": 32771, + "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS": 32772, + "SL_RPC_MPLS_NOT_REGISTERED": 32773, + "SL_ILM_ERR_OFFSET": 36864, + "SL_ILM_ADD_FAILED": 36865, + "SL_ILM_LSD_ADD_FAILED": 36866, + "SL_ILM_INVALID_NUM_NHLFE": 36867, + "SL_ILM_INVALID_LABEL": 36868, + "SL_ILM_DELETE_FAILED": 36869, + "SL_ILM_LSD_DELETE_FAILED": 36870, + "SL_ILM_TOOMANY_PRIMARY_NHLFES": 36871, + "SL_ILM_TOOMANY_BACKUP_NHLFES": 36872, + "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED": 36873, + "SL_ILM_LSD_NHLFE_INVALID_ATTRIB": 36874, + "SL_ILM_EEXIST": 36875, + "SL_ILM_DB_NOMEM": 36876, + "SL_ILM_INVALID_ELSP_EXP": 36877, + "SL_ILM_ELSP_EXP_OR_DFLT_ALREADY_SET": 36878, + "SL_ILM_ADD_NO_PATHS": 36879, + "SL_ILM_UPDATE_NO_PATHS": 36880, + "SL_ILM_UNSUPPORTED_ELSP": 36881, + "SL_ILM_LABEL_TOOMANY_EXP_CLASSES": 36882, + "SL_ILM_REPLAY_FATAL_ERROR": 36883, + "SL_ILM_REPLAY_OK": 36884, + "SL_ILM_INVALID_PREFIX_LEN": 36885, + "SL_ILM_HOST_BITS_SET": 36886, + "SL_ILM_INVALID_PREFIX_SZ": 36887, + "SL_ILM_INVALID_PREFIX": 36888, + "SL_ILM_INVALID_PREFIX_MCAST": 36889, + "SL_ILM_VRF_NAME_TOOLONG": 36896, + "SL_ILM_VRF_NO_TABLE_ID": 36897, + "SL_ILM_VRF_NAME_MISSING": 36898, + "SL_NHLFE_ERR_OFFSET": 40960, + "SL_NHLFE_NH_NO_TABLE": 40961, + "SL_NHLFE_NH_INVALID_ADDR_SZ": 40962, + "SL_NHLFE_INVALID_NEXT_HOP_ADDR": 40963, + "SL_NHLFE_VRF_NAME_TOOLONG": 40964, + "SL_NHLFE_NH_INF_NAME_MISSING": 40965, + "SL_NHLFE_NH_INTF_NAME_TOOLONG": 40966, + "SL_NHLFE_INVALID_LABEL_COUNT": 40967, + "SL_NHLFE_INVALID_PATH_ID": 40968, + "SL_NHLFE_INVALID_LABEL": 40969, + "SL_NHLFE_INVALID_PROTECTED_BITMAP": 40970, + "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT": 40971, + "SL_NHLFE_REMOTE_ADDR_INVALID_SZ": 40972, + "SL_NHLFE_PRIMARY_TOOMANY_LABELS": 40973, + "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR": 40974, + "SL_NHLFE_BACKUP_ID_REPEATED": 40975, + "SL_NHLFE_PRIMARY_ID_REPEATED": 40976, + "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY": 40977, + "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS": 40978, + "SL_NHLFE_REMOTE_ADDR_INVALID": 40979, + "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH": 40980, + "SL_NHLFE_NEXT_HOP_MISSING": 40981, + "SL_NHLFE_LABEL_ACTION_INVALID": 40982, + "SL_NHLFE_NH_INTF_NOT_FOUND": 40983, + "SL_NHLFE_OPER_FAILED": 40984, + "SL_NHLFE_LABEL_ACTION_MISSING": 40985, + "SL_NHLFE_EXP_SET_FAILED": 40986, + "SL_NHLFE_ELSP_PROTECTION_UNSUPPORTED": 40987, + "SL_NHLFE_INVALID_ELSP_EXP": 40988, + "SL_NHLFE_INVALID_PATH_PRIORITY": 40989, + "SL_NHLFE_INVALID_LOAD_METRIC": 40990, + "SL_NHLFE_INVALID_SETID": 40991, + "SL_NHLFE_INVALID_SETID_PRIORITY": 40992, + "SL_NHLFE_INVALID_MULTIPLE_PRIMARY_SETIDS": 40993, + "SL_NHLFE_NON_CONTIGUOUS_SETIDS": 40994, + "SL_NHLFE_NON_CONTIGUOUS_EXP": 40995, + "SL_NHLFE_INCONSISTENT_EXP_ON_PATH": 40996, + "SL_LABEL_BLK_ERR_OFFSET": 45056, + "SL_LABEL_BLK_LSD_ADD_FAILED": 45057, + "SL_LABEL_BLK_LSD_DELETE_FAILED": 45058, + "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND": 45059, + "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE": 45060, + "SL_LABEL_BLK_LSD_INVALID_ATTRIB": 45061, + "SL_LABEL_BLK_INVALID_BLOCK_SIZE": 45062, + "SL_LABEL_BLK_INVALID_START_LABEL": 45063, + "SL_LABEL_BLK_EEXIST": 45064, + "SL_LABEL_BLK_DB_NOMEM": 45065, + "SL_LABEL_BLK_TYPE_INVALID": 45066, + "SL_LABEL_BLK_CLIENT_NAME_TOOLONG": 45067, + "SL_MPLS_REG_ERR_OFFSET": 49152, + "SL_MPLS_REG_ERR": 49153, + "SL_MPLS_UNREG_ERR": 49154, + "SL_MPLS_EOF_ERR": 49155, + "SL_RPC_INTF_START_OFFSET": 53248, + "SL_RPC_INTF_TOO_MANY_INTERFACES": 53249, + "SL_RPC_INTF_SERVER_NOT_INITIALIZED": 53250, + "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED": 53251, + "SL_INTF_START_OFFSET": 57344, + "SL_INTF_INTERFACE_NAME_MISSING": 57345, + "SL_INTF_INTERFACE_NAME_TOOLONG": 57346, + "SL_INTF_INTERFACE_REG_ERR": 57347, + "SL_INTF_INTERNAL_DB_ERROR": 57348, + "SL_INTF_RECOVERY_ERROR": 57349, + "SL_INTF_INTERFACE_EXISTS": 57350, + "SL_INTF_INTERFACE_NOT_FOUND": 57351, + "SL_INTF_INTERFACE_STATE_NOT_SUPPORTED": 57352, + "SL_L2_REG_START_OFFSET": 61440, + "SL_L2_REGISTRATION_ERR": 61441, + "SL_L2_UNREGISTRATION_ERR": 61442, + "SL_L2_EOF_ERR": 61443, + "SL_L2_REG_INVALID_ADMIN_DISTANCE": 61444, + "SL_L2_REG_IS_DUPLICATE": 61445, + "SL_L2_REG_SERVER_NOT_INITIALIZED": 61446, + "SL_RPC_L2_BD_REG_START_OFFSET": 65536, + "SL_RPC_L2_BD_REG_NAME_MISSING": 65537, + "SL_RPC_L2_BD_REG_TOO_MANY_MSGS": 65538, + "SL_RPC_L2_BD_REG_SERVER_NOT_INITIALIZED": 65539, + "SL_RPC_L2_BD_REG_CLIENT_NOT_REGISTERED": 65540, + "SL_L2_BD_REG_START_OFFSET": 69632, + "SL_L2_BD_REGISTRATION_ERR": 69633, + "SL_L2_BD_UNREGISTRATION_ERR": 69634, + "SL_L2_BD_EOF_ERR": 69635, + "SL_L2_BD_REG_NAME_TOO_LONG": 69636, + "SL_L2_BD_REG_BD_NOT_FOUND": 69637, + "SL_RPC_L2_ROUTE_START_OFFSET": 73728, + "SL_RPC_L2_ROUTE_TOO_MANY_MSGS": 73729, + "SL_RPC_L2_ROUTE_SERVER_NOT_INITIALIZED": 73730, + "SL_RPC_L2_ROUTE_CLIENT_NOT_REGISTERED": 73731, + "SL_L2_ROUTE_START_OFFSET": 77824, + "SL_L2_ROUTE_BD_NAME_MISSING": 77825, + "SL_L2_ROUTE_BD_NAME_TOOLONG": 77826, + "SL_L2_ROUTE_BD_NOT_FOUND": 77827, + "SL_L2_ROUTE_BD_NOT_REGISTERED": 77828, + "SL_L2_ROUTE_INVALID_ARGS": 77829, + "SL_RPC_L2_NOTIF_START_OFFSET": 81921, + "SL_RPC_L2_NOTIF_SERVER_NOT_INITIALIZED": 81922, + "SL_RPC_L2_NOTIF_CLIENT_NOT_REGISTERED": 81923, + "SL_RPC_L2_NOTIF_ENABLE_ERR": 81924, + "SL_RPC_L2_NOTIF_DISABLE_ERR": 81925, + "SL_RPC_L2_NOTIF_EOF_ERR": 81926, + "SL_RPC_L2_NOTIF_BD_NAME_MISSING": 81927, + "SL_RPC_L2_NOTIF_BD_NAME_TOOLONG": 81928, + "SL_RPC_L2_NOTIF_BD_NOT_FOUND": 81929, + "SL_PG_VRF_ADD_ERR": 86017, + "SL_PG_VRF_NO_VRFID": 86018, + "SL_PG_STR_KEY_TOOLONG": 86019, + "SL_PG_TARGET_VRF_NO_VRFID": 86020, + "SL_PG_STR_KEY_INVALID": 86021, + "SL_NEXT_HOP_START_OFFSET": 90112, + "SL_NEXT_HOP_INVALID_PREFIX_LEN": 90113, + "SL_NEXT_HOP_HOST_BITS_SET": 90114, + "SL_NEXT_HOP_INVALID_PREFIX_MCAST": 90115, + "SL_NEXT_HOP_INVALID_PREFIX": 90116, + "SL_NEXT_HOP_INVALID_NEXT_HOP_ADDR": 90117, + "SL_NEXT_HOP_INVALID_PREFIX_SZ": 90118, + "SL_NEXT_HOP_RIB_ADD_FAILED": 90119, + "SL_ROUTE_REDIST_RIB_ADD_FAILED": 90120, + "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, + "SL_POLICY_DELETE_ERR": 98307, + "SL_POLICY_RULE_ADD_ERR": 98308, + "SL_POLICY_RULE_EXISTS_ERR": 98309, + "SL_POLICY_RULE_DELETE_ERR": 98310, + "SL_POLICY_APPLY_ERR": 98311, + "SL_POLICY_UNAPPLY_ERR": 98312, + "SL_POLICY_TOO_MANY_POLICIES": 98313, + "SL_POLICY_NAME_TOO_LONG": 98314, + "SL_POLICY_RULE_NAME_TOO_LONG": 98315, + "SL_POLICY_DUPLICATE_PRIORITY_IN_RULE": 98316, + "SL_POLICY_RULE_MOD_NOT_ALLOWED": 98317, + "SL_POLICY_INVALID_RULE": 98318, + "SL_POLICY_RULE_ADD_NO_RULES": 98319, + "SL_POLICY_INVALID_MATCH_COUNT_IN_RULE": 98320, + "SL_POLICY_INVALID_ACTION_COUNT_IN_RULE": 98321, + "SL_POLICY_NOT_FOUND": 98322, + "SL_POLICY_INVALID": 98323, + "SL_POLICY_NAME_MISSING": 98324, + "SL_POLICY_RULE_NAME_MISSING": 98325, + "SL_POLICY_PRIORITY_MISSING_IN_RULE": 98326, + "SL_POLICY_TYPE_INVALID": 98327, + "SL_POLICY_INVALID_DIRECTION": 98328, + "SL_POLICY_INTF_NAME_TOOLONG": 98329, + "SL_POLICY_INTF_NAME_MISSING": 98330, + "SL_POLICY_MAX_RULE_LIMIT_REACHED": 98331, + "SL_POLICY_VRF_NAME_TOO_LONG": 98332, + "SL_POLICY_VRF_NAME_MISSING": 98333, + "SL_POLICY_PATH_GRP_NAME_TOO_LONG": 98334, + "SL_POLICY_PATH_GRP_NAME_MISSING": 98335, + "SL_POLICY_INVALID_DSCP_VALUE": 98336, + "SL_POLICY_PRIORITY_STR_TOO_LONG": 98337, + "SL_POLICY_MAX_INTF_LIMIT_REACHED": 98338, + "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, + "SL_BGPLS_MAX_STREAMS_EXCEEDED": 102403, + "SL_BGP_START_OFFSET": 106496, + "SL_BGP_INST_NAME_TOOLONG": 106497, + "SL_BGP_INST_NAME_EMPTY": 106498, + "SL_BGP_INST_NOT_INITIALIZED": 106499, + "SL_BGP_INVALID_OBJ_TYPE": 106500, + "SL_BGP_VRF_NAME_TOOLONG_V4": 106501, + "SL_BGP_VRF_NAME_TOOLONG_V6": 106502, + "SL_BGP_UNSUPPORTED_VRF_NAME": 106503, + "SL_BGP_INVALID_NBR_ADDR_MCAST": 106504, + "SL_BGP_INVALID_NBR_ADDR_EXP": 106505, + "SL_BGP_INVALID_NBR_ADDR": 106506, + "SL_BGP_INVALID_NBR_V6_SZ": 106507, + "SL_BGP_INVALID_NBR_KEY": 106508, + "SL_BGP_INVALID_MPATH_ADDR_MCAST": 106509, + "SL_BGP_INVALID_MPATH_ADDR_EXP": 106510, + "SL_BGP_INVALID_MPATH_ADDR": 106511, + "SL_BGP_INVALID_MPATH_V6_SZ": 106512, + "SL_BGP_INVALID_NBRSAFI_LIST": 106513, + "SL_BGP_UNSUPPORTED_BGP_AFI_SAFI": 106514, + "SL_BGP_UNSUPPORTED_AFI": 106515, + "SL_BGP_UNSUPPORTED_SAFI": 106516, + "SL_BGP_EMPTY_OBJECTS": 106517, + "SL_BGP_EMPTY_OBJECT_LIST": 106518, + "SL_BGP_UPDATE_BW_GRP_FAILED": 106519, + "SL_BGP_UPDATE_MPATH_ADDR_FAILED": 106520, + "SL_BGP_DELETE_BW_GRP_FAILED": 106521, + "SL_BGP_DELETE_NBR_FAILED": 106522, + "SL_BGP_DELETE_AFI_FAILED": 106523, + "SL_BGP_DELETE_MPATH_ADDR_FAILED": 106524, + "SL_BGP_DELETE_FAILED": 106525, + "SL_BGP_BW_GRP_NUM_OUT_OF_RANGE": 106526, + "SL_BGP_IN_BW_GRP_COUNT_EXCEEDED": 106527, + "SL_BGP_OUT_BW_GRP_COUNT_EXCEEDED": 106528, + "SL_BGP_INVALID_IN_BWGRP_LIST": 106529, + "SL_BGP_INVALID_OUT_BWGRP_LIST": 106530, + "SL_BGP_LINK_BW_OUT_OF_RANGE": 106531, + "SL_BGP_NBR_IDX_OUT_OF_RANGE": 106532, + "SL_BGP_INVALID_BW_TYPE": 106533, + "SL_BGP_BW_GRP_LIST_NULL": 106534, + "SL_BGP_NBRSAFI_LIST_NULL": 106535, + "SL_BGP_INST_NOT_CONFIG_IN_SLAPI": 106536, + "SL_BGP_OBJ_LIST_IDX_OUT_OF_RANGE": 106537, + "SL_BGP_ASN_OUT_OF_RANGE": 106538, + "SL_BGP_INVALID_BW_UNIT": 106539, + "SL_BGP_OBJECT_TYPE_REQUIRED": 106540, + "SL_BGP_OBJECT_KEY_REQUIRED": 106541, + "SL_BGP_INVALID_OBJECT_TYPE": 106542, + "SL_BGP_GET_EXACT_MATCH_NOT_FOUND": 106543, + "SL_BGP_MAX_NEIGHBORS_IN_SYSDB": 106544, + "SL_BGP_MAX_OBJECTS_IN_PAYLOAD": 106545, + "SL_BGP_INTERNAL_ERR_1": 106753, + "SL_BGP_INTERNAL_ERR_2": 106754, + "SL_BGP_INTERNAL_ERR_3": 106755, + "SL_SRTE_POLICY_START_OFFSET": 110592, + "SL_SRTE_POLICY_REQUEST_INVALID": 110593, + "SL_SRTE_POLICY_POLICY_KEY_INVALID": 110594, + "SL_SRTE_POLICY_POLICY_ATTR_INVALID": 110595, + "SL_SRTE_POLICY_CP_KEY_INVALID": 110596, + "SL_SRTE_POLICY_CP_ATTR_INVALID": 110597, + "SL_SRTE_POLICY_CLIENT_MISMATCH": 110598, + "SL_SRTE_POLICY_SERVICE_NOT_UP": 110599, + "SL_SRTE_POLICY_EXCEED_MSG_SIZE": 110600, + "SL_PERF_MEAS_START_OFFSET": 114688, + "SL_PERF_MEAS_SESSION_CREATE_FAILED": 114689, + "SL_PERF_MEAS_SESSION_DELETE_FAILED": 114690, + "SL_PERF_MEAS_SESSION_GET_STATS_FAILED": 114691, + "SL_PERF_MEAS_SESSION_GET_INFO_FAILED": 114692, + "SL_PERF_MEAS_INVALID_REQUEST": 114693, + "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED": 114694, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP": 114695, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP": 114696, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP": 114697, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK": 114698, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL": 114699, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT": 114700, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP": 114701, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE": 114702, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED": 114703, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR": 114704, + "SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED": 114705, + "SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR": 114706, + "SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED": 114707, + "SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR": 114708, + "SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED": 114709, + "SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR": 114710, + "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED": 114711, + "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR": 114712, + "SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND": 114713, + "SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND": 114714, + "SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND": 114715, + "SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND": 114716, + "SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME": 114717, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED": 114718, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND": 114719, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED": 114720, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED": 114721, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID": 114722, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID": 114723, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID": 114724, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID": 114725, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID": 114726, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND": 114727, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND": 114728, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND": 114729, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID": 114730, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID": 114731, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID": 114732, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH": 114733, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID": 114734, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING": 114735, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING": 114736, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT": 114737, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS": 114738, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED": 114739, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID": 114740, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED": 114741, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED": 114742, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM": 114743, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED": 114744, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED": 114745, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED": 114746, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED": 114747, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND": 114748, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND": 114749, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND": 114750, + "SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED": 114751, + "SL_INTERNAL_START_OFFSET": 1048576, } ) @@ -2379,20 +2708,17 @@ func (SLErrorStatus_SLErrno) EnumDescriptor() ([]byte, []int) { // Status codes, including errors and success codes. // All service layer errors are defined below. type SLErrorStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Status SLErrorStatus_SLErrno `protobuf:"varint,1,opt,name=Status,proto3,enum=service_layer.SLErrorStatus_SLErrno" json:"Status,omitempty"` unknownFields protoimpl.UnknownFields - - Status SLErrorStatus_SLErrno `protobuf:"varint,1,opt,name=Status,proto3,enum=service_layer.SLErrorStatus_SLErrno" json:"Status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLErrorStatus) Reset() { *x = SLErrorStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLErrorStatus) String() string { @@ -2403,7 +2729,7 @@ func (*SLErrorStatus) ProtoMessage() {} func (x *SLErrorStatus) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2427,26 +2753,23 @@ func (x *SLErrorStatus) GetStatus() SLErrorStatus_SLErrno { // Interface info. type SLInterface struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // One of Interface name or handle // - // Types that are assignable to Interface: + // Types that are valid to be assigned to Interface: // // *SLInterface_Name // *SLInterface_Handle - Interface isSLInterface_Interface `protobuf_oneof:"Interface"` + Interface isSLInterface_Interface `protobuf_oneof:"Interface"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterface) Reset() { *x = SLInterface{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterface) String() string { @@ -2457,7 +2780,7 @@ func (*SLInterface) ProtoMessage() {} func (x *SLInterface) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2472,23 +2795,27 @@ func (*SLInterface) Descriptor() ([]byte, []int) { return file_sl_common_types_proto_rawDescGZIP(), []int{1} } -func (m *SLInterface) GetInterface() isSLInterface_Interface { - if m != nil { - return m.Interface +func (x *SLInterface) GetInterface() isSLInterface_Interface { + if x != nil { + return x.Interface } return nil } func (x *SLInterface) GetName() string { - if x, ok := x.GetInterface().(*SLInterface_Name); ok { - return x.Name + if x != nil { + if x, ok := x.Interface.(*SLInterface_Name); ok { + return x.Name + } } return "" } func (x *SLInterface) GetHandle() uint32 { - if x, ok := x.GetInterface().(*SLInterface_Handle); ok { - return x.Handle + if x != nil { + if x, ok := x.Interface.(*SLInterface_Handle); ok { + return x.Handle + } } return 0 } @@ -2513,26 +2840,23 @@ func (*SLInterface_Handle) isSLInterface_Interface() {} // One of IPv4 or IPv6 addresses. type SLIpAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // One of IPv4 or IPv6 address. V4Address must be in host byte order. // - // Types that are assignable to Address: + // Types that are valid to be assigned to Address: // // *SLIpAddress_V4Address // *SLIpAddress_V6Address - Address isSLIpAddress_Address `protobuf_oneof:"Address"` + Address isSLIpAddress_Address `protobuf_oneof:"Address"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLIpAddress) Reset() { *x = SLIpAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLIpAddress) String() string { @@ -2543,7 +2867,7 @@ func (*SLIpAddress) ProtoMessage() {} func (x *SLIpAddress) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2558,23 +2882,27 @@ func (*SLIpAddress) Descriptor() ([]byte, []int) { return file_sl_common_types_proto_rawDescGZIP(), []int{2} } -func (m *SLIpAddress) GetAddress() isSLIpAddress_Address { - if m != nil { - return m.Address +func (x *SLIpAddress) GetAddress() isSLIpAddress_Address { + if x != nil { + return x.Address } return nil } func (x *SLIpAddress) GetV4Address() uint32 { - if x, ok := x.GetAddress().(*SLIpAddress_V4Address); ok { - return x.V4Address + if x != nil { + if x, ok := x.Address.(*SLIpAddress_V4Address); ok { + return x.V4Address + } } return 0 } func (x *SLIpAddress) GetV6Address() []byte { - if x, ok := x.GetAddress().(*SLIpAddress_V6Address); ok { - return x.V6Address + if x != nil { + if x, ok := x.Address.(*SLIpAddress_V6Address); ok { + return x.V6Address + } } return nil } @@ -2597,21 +2925,18 @@ func (*SLIpAddress_V6Address) isSLIpAddress_Address() {} // IPv6 address. type SLIpv6Address struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Address must have length of 16 bytes. - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLIpv6Address) Reset() { *x = SLIpv6Address{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLIpv6Address) String() string { @@ -2622,7 +2947,7 @@ func (*SLIpv6Address) ProtoMessage() {} func (x *SLIpv6Address) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2646,22 +2971,19 @@ func (x *SLIpv6Address) GetAddress() []byte { // Autonomous System Number (ASN) type SLAutonomousSystemNumber struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // If 2-byte ASNs are in use, the low-order 16 bits MUST be used, // and the high-order bits MUST be set to 0. - Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` + Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLAutonomousSystemNumber) Reset() { *x = SLAutonomousSystemNumber{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLAutonomousSystemNumber) String() string { @@ -2672,7 +2994,7 @@ func (*SLAutonomousSystemNumber) ProtoMessage() {} func (x *SLAutonomousSystemNumber) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2696,25 +3018,22 @@ func (x *SLAutonomousSystemNumber) GetAsn() uint32 { // Common Object Identifier. type SLObjectId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // One of Object name or handle // - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLObjectId_Name - Entry isSLObjectId_Entry `protobuf_oneof:"entry"` + Entry isSLObjectId_Entry `protobuf_oneof:"entry"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLObjectId) Reset() { *x = SLObjectId{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLObjectId) String() string { @@ -2725,7 +3044,7 @@ func (*SLObjectId) ProtoMessage() {} func (x *SLObjectId) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2740,16 +3059,18 @@ func (*SLObjectId) Descriptor() ([]byte, []int) { return file_sl_common_types_proto_rawDescGZIP(), []int{5} } -func (m *SLObjectId) GetEntry() isSLObjectId_Entry { - if m != nil { - return m.Entry +func (x *SLObjectId) GetEntry() isSLObjectId_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLObjectId) GetName() string { - if x, ok := x.GetEntry().(*SLObjectId_Name); ok { - return x.Name + if x != nil { + if x, ok := x.Entry.(*SLObjectId_Name); ok { + return x.Name + } } return "" } @@ -2769,23 +3090,20 @@ func (*SLObjectId_Name) isSLObjectId_Entry() {} // Path group reference key. This can be used by route, label // or policy objects to refer a path group object. type SLPathGroupRefKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Path Group ID - PathGroupId *SLObjectId `protobuf:"bytes,2,opt,name=PathGroupId,proto3" json:"PathGroupId,omitempty"` + PathGroupId *SLObjectId `protobuf:"bytes,2,opt,name=PathGroupId,proto3" json:"PathGroupId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPathGroupRefKey) Reset() { *x = SLPathGroupRefKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_common_types_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPathGroupRefKey) String() string { @@ -2796,7 +3114,7 @@ func (*SLPathGroupRefKey) ProtoMessage() {} func (x *SLPathGroupRefKey) ProtoReflect() protoreflect.Message { mi := &file_sl_common_types_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2827,961 +3145,575 @@ func (x *SLPathGroupRefKey) GetPathGroupId() *SLObjectId { 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, 0x91, 0x68, 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, 0xc1, 0x67, 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, - 0x41, 0x47, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x5f, 0x45, 0x4e, - 0x4f, 0x4d, 0x45, 0x4d, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4c, 0x5f, 0x45, 0x42, 0x55, - 0x53, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x5f, 0x45, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, - 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x53, - 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0e, - 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x4f, 0x54, 0x53, 0x55, 0x50, 0x10, 0x09, 0x12, 0x0f, - 0x0a, 0x0b, 0x53, 0x4c, 0x5f, 0x53, 0x4f, 0x4d, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x0a, 0x12, - 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0b, 0x12, - 0x11, 0x0a, 0x0d, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x54, 0x45, 0x52, 0x4d, - 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x10, 0x0d, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x41, 0x43, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, - 0x44, 0x10, 0x0e, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x0a, 0x12, 0x18, - 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x4c, 0x45, 0x41, 0x52, 0x10, 0x81, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, - 0x82, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x55, 0x4e, - 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x10, 0x83, 0x0a, - 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, - 0x45, 0x44, 0x10, 0x84, 0x0a, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x48, 0x41, - 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x85, 0x0a, 0x12, 0x1c, 0x0a, - 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x20, 0x12, 0x25, 0x0a, 0x20, 0x53, - 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, - 0x4e, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x4d, 0x53, 0x47, 0x53, 0x10, - 0x81, 0x20, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, - 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x20, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x53, - 0x55, 0x50, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x52, 0x45, 0x47, 0x10, - 0x83, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x40, 0x12, 0x18, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, - 0x4f, 0x4e, 0x47, 0x10, 0x81, 0x40, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x82, 0x40, 0x12, 0x17, 0x0a, - 0x12, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x49, 0x44, 0x10, 0x83, 0x40, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, - 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x84, 0x40, 0x12, 0x19, - 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x85, 0x40, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, - 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x86, 0x40, 0x12, 0x24, 0x0a, - 0x1f, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, - 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x87, 0x40, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x88, 0x40, 0x12, 0x20, - 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x56, 0x52, 0x46, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x89, 0x40, - 0x12, 0x27, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x56, 0x34, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x90, 0x40, 0x12, 0x27, 0x0a, 0x22, 0x53, 0x4c, 0x5f, - 0x56, 0x52, 0x46, 0x5f, 0x56, 0x36, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, - 0x4c, 0x41, 0x59, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x91, 0x40, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x56, 0x34, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4f, 0x4b, 0x10, - 0x92, 0x40, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x56, 0x36, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4f, 0x4b, 0x10, - 0x93, 0x40, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, - 0x80, 0x60, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x53, 0x10, 0x81, 0x60, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, - 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x82, 0x60, 0x12, 0x1f, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, - 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x83, 0x60, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, - 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x84, 0x60, 0x12, 0x2a, 0x0a, 0x25, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, - 0x52, 0x45, 0x44, 0x10, 0x85, 0x60, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x86, 0x60, 0x12, 0x28, 0x0a, 0x23, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, - 0x45, 0x10, 0x87, 0x60, 0x12, 0x28, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, - 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x88, 0x60, 0x12, 0x29, - 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x54, - 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x89, 0x60, 0x12, 0x2d, 0x0a, 0x28, 0x53, 0x4c, 0x5f, - 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, - 0x53, 0x52, 0x43, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x4f, - 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x8a, 0x60, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, - 0x43, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x8b, 0x60, 0x12, 0x22, 0x0a, - 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x47, 0x45, - 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x53, 0x55, 0x50, 0x10, 0x8c, - 0x60, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x01, 0x12, 0x1b, - 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4e, - 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x81, 0x80, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, - 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, - 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x82, 0x80, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, - 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4c, 0x45, 0x4e, 0x10, 0x83, 0x80, 0x01, 0x12, 0x25, - 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, - 0x45, 0x10, 0x84, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x53, 0x10, 0x85, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, - 0x49, 0x58, 0x5f, 0x53, 0x5a, 0x10, 0x86, 0x80, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, - 0x45, 0x46, 0x49, 0x58, 0x10, 0x87, 0x80, 0x01, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x52, - 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, - 0x10, 0x88, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x41, 0x52, 0x47, 0x53, 0x10, 0x89, 0x80, 0x01, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x8a, - 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, - 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x50, 0x41, - 0x54, 0x48, 0x53, 0x10, 0x8b, 0x80, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x8c, 0x80, 0x01, 0x12, 0x1c, - 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, - 0x42, 0x49, 0x54, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x8d, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, - 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x10, 0x8e, 0x80, - 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, - 0x8f, 0x80, 0x01, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, - 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x90, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, - 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x91, 0x80, 0x01, 0x12, 0x17, - 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, - 0x4d, 0x45, 0x4d, 0x10, 0x92, 0x80, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, - 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x93, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, - 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x53, 0x10, 0x94, 0x80, 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, - 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x95, 0x80, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, - 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, - 0x45, 0x54, 0x10, 0x80, 0xa0, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, - 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0xa0, - 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, - 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x82, - 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x10, 0x83, 0xa0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x44, 0x10, 0x84, 0xa0, 0x01, 0x12, - 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x85, 0xa0, 0x01, 0x12, - 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, - 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, - 0x86, 0xa0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, - 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x53, - 0x5a, 0x10, 0x87, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4e, 0x47, 0x10, 0x88, 0xa0, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x50, - 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, - 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x89, 0xa0, 0x01, 0x12, 0x27, 0x0a, - 0x21, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x10, 0x8a, 0xa0, 0x01, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, - 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, 0x8b, 0xa0, 0x01, 0x12, 0x26, 0x0a, 0x20, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, - 0x10, 0x8c, 0xa0, 0x01, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, - 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x10, 0x8d, 0xa0, 0x01, 0x12, 0x29, 0x0a, 0x23, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, - 0x41, 0x54, 0x48, 0x10, 0x8e, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, - 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x8f, 0xa0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, - 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x5f, - 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x90, 0xa0, 0x01, 0x12, 0x2a, 0x0a, 0x24, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, - 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, - 0x41, 0x54, 0x48, 0x53, 0x10, 0x91, 0xa0, 0x01, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, - 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, - 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x92, 0xa0, 0x01, 0x12, 0x29, - 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, - 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, - 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x93, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, - 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x94, 0xa0, 0x01, 0x12, 0x1b, 0x0a, 0x15, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x95, 0xa0, 0x01, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, - 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x43, 0x5f, - 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, - 0x96, 0xa0, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, - 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x53, 0x10, 0x97, 0xa0, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x50, - 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x56, 0x4e, 0x49, 0x10, - 0x98, 0xa0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x41, 0x44, 0x44, - 0x52, 0x10, 0x99, 0xa0, 0x01, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x41, - 0x46, 0x49, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x9a, 0xa0, 0x01, 0x12, - 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x54, 0x52, 0x5f, 0x4d, - 0x41, 0x43, 0x5f, 0x4e, 0x4f, 0x53, 0x55, 0x50, 0x10, 0x9b, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x9c, 0xa0, 0x01, 0x12, - 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, 0x01, 0x12, 0x26, - 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x54, 0x4f, 0x4f, - 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x53, 0x10, 0x81, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x52, - 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x82, 0xc0, 0x01, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x4c, 0x49, - 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, - 0x45, 0x44, 0x10, 0x83, 0xc0, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x84, 0xc0, 0x01, 0x12, 0x27, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, - 0x10, 0x85, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, - 0x46, 0x44, 0x5f, 0x56, 0x34, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, - 0x45, 0x52, 0x45, 0x44, 0x10, 0x86, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x87, 0xc0, 0x01, 0x12, 0x19, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, - 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, - 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, - 0x4f, 0x4e, 0x47, 0x10, 0x81, 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, - 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, - 0x10, 0x82, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, - 0x10, 0x83, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, - 0x10, 0x84, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, - 0x10, 0x85, 0xe0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x10, 0x86, 0xe0, 0x01, 0x12, 0x1d, - 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x87, 0xe0, 0x01, 0x12, 0x1a, 0x0a, - 0x14, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x41, - 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x88, 0xe0, 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, - 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x89, 0xe0, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, - 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x8a, 0xe0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, - 0x53, 0x49, 0x5a, 0x45, 0x10, 0x8b, 0xe0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, - 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x8c, 0xe0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, - 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x56, 0x52, - 0x46, 0x10, 0x8d, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, - 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, - 0x44, 0x10, 0x8e, 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, - 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x8f, - 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x42, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x90, - 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x52, 0x45, 0x43, - 0x4f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x91, 0xe0, 0x01, 0x12, - 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x02, 0x12, - 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x49, - 0x4c, 0x4d, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x49, 0x4c, 0x4d, 0x53, - 0x10, 0x81, 0x80, 0x02, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, - 0x50, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x80, 0x02, 0x12, 0x28, - 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, - 0x49, 0x42, 0x4c, 0x45, 0x10, 0x83, 0x80, 0x02, 0x12, 0x2f, 0x0a, 0x29, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, - 0x4b, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, - 0x5f, 0x42, 0x4c, 0x4b, 0x53, 0x10, 0x84, 0x80, 0x02, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, - 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x85, 0x80, 0x02, 0x12, 0x17, 0x0a, 0x11, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, - 0x10, 0x80, 0xa0, 0x02, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x81, 0xa0, 0x02, 0x12, 0x1b, 0x0a, - 0x15, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, - 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, - 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x10, 0x83, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, - 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, - 0x45, 0x4c, 0x10, 0x84, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x85, - 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x86, - 0xa0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x54, 0x4f, 0x4f, - 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x53, 0x10, 0x87, 0xa0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x49, 0x4c, - 0x4d, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, - 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x53, 0x10, 0x88, 0xa0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x10, 0x89, 0xa0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, - 0x53, 0x44, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x10, 0x8a, 0xa0, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x8b, 0xa0, 0x02, - 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, - 0x4d, 0x45, 0x4d, 0x10, 0x8c, 0xa0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x49, 0x4c, - 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4c, 0x53, 0x50, 0x5f, 0x45, - 0x58, 0x50, 0x10, 0x8d, 0xa0, 0x02, 0x12, 0x29, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, - 0x5f, 0x45, 0x4c, 0x53, 0x50, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4f, 0x52, 0x5f, 0x44, 0x46, 0x4c, - 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x8e, 0xa0, - 0x02, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x5f, - 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x8f, 0xa0, 0x02, 0x12, 0x1c, 0x0a, 0x16, - 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, - 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x90, 0xa0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, - 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, - 0x5f, 0x45, 0x4c, 0x53, 0x50, 0x10, 0x91, 0xa0, 0x02, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, - 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, - 0x59, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x45, 0x53, 0x10, 0x92, 0xa0, - 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x52, 0x45, 0x50, 0x4c, - 0x41, 0x59, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x93, - 0xa0, 0x02, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x52, 0x45, 0x50, - 0x4c, 0x41, 0x59, 0x5f, 0x4f, 0x4b, 0x10, 0x94, 0xa0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, - 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, - 0x46, 0x49, 0x58, 0x5f, 0x4c, 0x45, 0x4e, 0x10, 0x95, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x53, 0x5f, - 0x53, 0x45, 0x54, 0x10, 0x96, 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4c, - 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, - 0x5f, 0x53, 0x5a, 0x10, 0x97, 0xa0, 0x02, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x49, 0x4c, - 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, - 0x10, 0x98, 0xa0, 0x02, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x43, - 0x41, 0x53, 0x54, 0x10, 0x99, 0xa0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x49, 0x4c, - 0x4d, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, - 0x4e, 0x47, 0x10, 0xa0, 0xa0, 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, - 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x49, 0x44, - 0x10, 0xa1, 0xa0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x56, - 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, - 0xa2, 0xa0, 0x02, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, 0x02, 0x12, 0x1a, - 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x4e, 0x4f, - 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0xc0, 0x02, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, - 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x53, 0x5a, 0x10, 0x82, 0xc0, 0x02, 0x12, 0x24, 0x0a, - 0x1e, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, - 0x83, 0xc0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, - 0x10, 0x84, 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, - 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4e, 0x47, 0x10, 0x85, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, - 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x86, 0xc0, 0x02, 0x12, 0x22, 0x0a, - 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x87, 0xc0, - 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x44, 0x10, 0x88, 0xc0, - 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x89, 0xc0, 0x02, 0x12, - 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x49, - 0x54, 0x4d, 0x41, 0x50, 0x10, 0x8a, 0xc0, 0x02, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x4e, - 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x8b, - 0xc0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, 0x8c, 0xc0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, - 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, - 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x8d, 0xc0, 0x02, - 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x50, 0x52, 0x49, - 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x8e, 0xc0, 0x02, 0x12, 0x21, 0x0a, 0x1b, - 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, - 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x8f, 0xc0, 0x02, 0x12, - 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, - 0x41, 0x52, 0x59, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, - 0x90, 0xc0, 0x02, 0x12, 0x2c, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x91, 0xc0, - 0x02, 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x50, 0x52, - 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, - 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x92, 0xc0, 0x02, 0x12, 0x22, - 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, - 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x93, - 0xc0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x42, - 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, - 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x94, 0xc0, 0x02, 0x12, 0x1f, - 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, - 0x48, 0x4f, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x95, 0xc0, 0x02, 0x12, - 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4c, 0x41, 0x42, 0x45, - 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0x96, 0xc0, 0x02, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, - 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x97, 0xc0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x98, - 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4c, - 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x53, 0x53, - 0x49, 0x4e, 0x47, 0x10, 0x99, 0xc0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x4e, 0x48, - 0x4c, 0x46, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x9a, 0xc0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x5f, 0x45, 0x4c, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x9b, - 0xc0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, 0x4c, 0x53, 0x50, 0x5f, 0x45, 0x58, 0x50, 0x10, - 0x9c, 0xc0, 0x02, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, - 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x9d, 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, - 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x9e, 0xc0, 0x02, 0x12, 0x1c, 0x0a, - 0x16, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x53, 0x45, 0x54, 0x49, 0x44, 0x10, 0x9f, 0xc0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, - 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x53, 0x45, 0x54, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0xa0, - 0xc0, 0x02, 0x12, 0x2e, 0x0a, 0x28, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, - 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x54, 0x49, 0x44, 0x53, 0x10, 0xa1, - 0xc0, 0x02, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, - 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x47, 0x55, 0x4f, 0x55, 0x53, 0x5f, 0x53, 0x45, - 0x54, 0x49, 0x44, 0x53, 0x10, 0xa2, 0xc0, 0x02, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4e, - 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x47, 0x55, - 0x4f, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x10, 0xa3, 0xc0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, - 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x10, 0xa4, 0xc0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, - 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, - 0x80, 0xe0, 0x02, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, - 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x81, 0xe0, 0x02, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, - 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x82, 0xe0, 0x02, 0x12, 0x2a, 0x0a, 0x24, - 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, - 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, - 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x83, 0xe0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4c, - 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x4c, 0x41, 0x42, - 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x84, 0xe0, - 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, - 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x49, 0x42, 0x10, 0x85, 0xe0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, - 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x86, 0xe0, 0x02, 0x12, - 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x10, 0x87, 0xe0, 0x02, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x88, - 0xe0, 0x02, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, - 0x4c, 0x4b, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, 0x4d, 0x45, 0x4d, 0x10, 0x89, 0xe0, 0x02, 0x12, - 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x8a, 0xe0, 0x02, - 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, - 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, - 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x8b, 0xe0, 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4d, - 0x50, 0x4c, 0x53, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, - 0x45, 0x54, 0x10, 0x80, 0x80, 0x03, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, - 0x53, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x81, 0x80, 0x03, 0x12, 0x17, 0x0a, - 0x11, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x5f, 0x45, - 0x52, 0x52, 0x10, 0x82, 0x80, 0x03, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, - 0x53, 0x5f, 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, 0x80, 0x03, 0x12, 0x1e, 0x0a, - 0x18, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x03, 0x12, 0x25, 0x0a, - 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x54, 0x4f, 0x4f, - 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x53, - 0x10, 0x81, 0xa0, 0x03, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, - 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x03, 0x12, 0x2b, - 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x83, 0xa0, 0x03, 0x12, 0x1a, 0x0a, 0x14, 0x53, - 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, - 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, 0x03, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, - 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x81, 0xc0, 0x03, 0x12, 0x24, 0x0a, - 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, - 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, - 0x82, 0xc0, 0x03, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x83, 0xc0, 0x03, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x42, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x84, 0xc0, 0x03, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, - 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x85, 0xc0, 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, - 0x86, 0xc0, 0x03, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x87, 0xc0, 0x03, 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, - 0x46, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, - 0x88, 0xc0, 0x03, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x45, 0x47, - 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, - 0x03, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x81, 0xe0, 0x03, 0x12, - 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x82, 0xe0, 0x03, 0x12, - 0x13, 0x0a, 0x0d, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x83, 0xe0, 0x03, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x45, - 0x47, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, - 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x84, 0xe0, 0x03, 0x12, 0x1c, 0x0a, 0x16, - 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x49, 0x53, 0x5f, 0x44, 0x55, 0x50, - 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x85, 0xe0, 0x03, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, - 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x86, - 0xe0, 0x03, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, - 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, - 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x04, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, - 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x81, 0x80, 0x04, 0x12, 0x24, 0x0a, 0x1e, - 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, - 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4d, 0x53, 0x47, 0x53, 0x10, 0x82, - 0x80, 0x04, 0x12, 0x2d, 0x0a, 0x27, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, - 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x83, 0x80, - 0x04, 0x12, 0x2c, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x42, - 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x84, 0x80, 0x04, 0x12, - 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, - 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x04, - 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x81, 0xa0, - 0x04, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x55, 0x4e, - 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x82, 0xa0, 0x04, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, - 0x5f, 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, 0xa0, 0x04, 0x12, 0x20, 0x0a, 0x1a, - 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x84, 0xa0, 0x04, 0x12, 0x1f, - 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x42, - 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x85, 0xa0, 0x04, 0x12, - 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, - 0x80, 0xc0, 0x04, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, - 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, - 0x4d, 0x53, 0x47, 0x53, 0x10, 0x81, 0xc0, 0x04, 0x12, 0x2c, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, - 0x45, 0x44, 0x10, 0x82, 0xc0, 0x04, 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, - 0x83, 0xc0, 0x04, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, - 0x80, 0xe0, 0x04, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x42, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, - 0x4e, 0x47, 0x10, 0x81, 0xe0, 0x04, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x42, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, - 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x82, 0xe0, 0x04, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, - 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x42, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x83, 0xe0, 0x04, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, - 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x42, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x84, 0xe0, 0x04, 0x12, 0x1e, - 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x53, 0x10, 0x85, 0xe0, 0x04, 0x12, 0x22, - 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x4f, 0x54, 0x49, - 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x81, - 0x80, 0x05, 0x12, 0x2c, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, - 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x80, 0x05, - 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x4f, - 0x54, 0x49, 0x46, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, - 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x83, 0x80, 0x05, 0x12, 0x20, 0x0a, - 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, - 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x84, 0x80, 0x05, 0x12, - 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x46, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x85, - 0x80, 0x05, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, - 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x86, 0x80, - 0x05, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x42, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4e, 0x47, 0x10, 0x87, 0x80, 0x05, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x42, 0x44, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x88, 0x80, 0x05, 0x12, - 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x46, 0x5f, 0x42, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, - 0x89, 0x80, 0x05, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x50, 0x47, 0x5f, 0x56, 0x52, 0x46, - 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x81, 0xa0, 0x05, 0x12, 0x18, 0x0a, 0x12, - 0x53, 0x4c, 0x5f, 0x50, 0x47, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x56, 0x52, 0x46, - 0x49, 0x44, 0x10, 0x82, 0xa0, 0x05, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x47, 0x5f, - 0x53, 0x54, 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, - 0x83, 0xa0, 0x05, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x50, 0x47, 0x5f, 0x54, 0x41, 0x52, - 0x47, 0x45, 0x54, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x56, 0x52, 0x46, 0x49, 0x44, - 0x10, 0x84, 0xa0, 0x05, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x47, 0x5f, 0x53, 0x54, - 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x85, 0xa0, - 0x05, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, - 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, - 0x05, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, - 0x4c, 0x45, 0x4e, 0x10, 0x81, 0xc0, 0x05, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x45, - 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x53, - 0x5f, 0x53, 0x45, 0x54, 0x10, 0x82, 0xc0, 0x05, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x4e, - 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x10, 0x83, 0xc0, 0x05, - 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x84, - 0xc0, 0x05, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, - 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, - 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x85, 0xc0, 0x05, 0x12, 0x23, 0x0a, 0x1d, 0x53, - 0x4c, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x53, 0x5a, 0x10, 0x86, 0xc0, 0x05, - 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x52, 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, 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, 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, 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, 0x19, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, - 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, - 0x4f, 0x4e, 0x47, 0x10, 0x81, 0xc0, 0x06, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x45, 0x4d, 0x50, 0x54, - 0x59, 0x10, 0x82, 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, - 0x49, 0x5a, 0x45, 0x44, 0x10, 0x83, 0xc0, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x84, 0xc0, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, - 0x4e, 0x47, 0x5f, 0x56, 0x34, 0x10, 0x85, 0xc0, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, - 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x56, 0x36, 0x10, 0x86, 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, - 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x87, 0xc0, 0x06, 0x12, 0x23, - 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x10, - 0x88, 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, - 0x58, 0x50, 0x10, 0x89, 0xc0, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x41, 0x44, 0x44, - 0x52, 0x10, 0x8a, 0xc0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x56, 0x36, 0x5f, 0x53, - 0x5a, 0x10, 0x8b, 0xc0, 0x06, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x4b, 0x45, 0x59, 0x10, - 0x8c, 0xc0, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x41, 0x44, 0x44, 0x52, - 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x10, 0x8d, 0xc0, 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x10, 0x8e, 0xc0, 0x06, 0x12, - 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x4d, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x8f, 0xc0, 0x06, - 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x5f, 0x4d, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x56, 0x36, 0x5f, 0x53, 0x5a, 0x10, 0x90, - 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x49, 0x53, - 0x54, 0x10, 0x91, 0xc0, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x41, 0x46, 0x49, 0x5f, 0x53, 0x41, 0x46, 0x49, 0x10, 0x92, 0xc0, 0x06, 0x12, 0x1c, 0x0a, 0x16, - 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, - 0x45, 0x44, 0x5f, 0x41, 0x46, 0x49, 0x10, 0x93, 0xc0, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, - 0x5f, 0x53, 0x41, 0x46, 0x49, 0x10, 0x94, 0xc0, 0x06, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x53, 0x10, 0x95, 0xc0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x49, 0x53, - 0x54, 0x10, 0x96, 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x57, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x97, 0xc0, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x50, 0x41, 0x54, 0x48, 0x5f, - 0x41, 0x44, 0x44, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x98, 0xc0, 0x06, 0x12, - 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x5f, 0x42, 0x57, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x99, - 0xc0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x9a, - 0xc0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x9b, - 0xc0, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x45, 0x5f, 0x4d, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x9c, 0xc0, 0x06, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x9d, 0xc0, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x42, 0x57, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, - 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x9e, 0xc0, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x42, 0x57, 0x5f, 0x47, 0x52, 0x50, 0x5f, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x9f, - 0xc0, 0x06, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x4f, 0x55, 0x54, - 0x5f, 0x42, 0x57, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x45, 0x58, - 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0xa0, 0xc0, 0x06, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, - 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x5f, - 0x42, 0x57, 0x47, 0x52, 0x50, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xa1, 0xc0, 0x06, 0x12, 0x23, - 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x42, 0x57, 0x47, 0x52, 0x50, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, - 0xa2, 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x42, 0x57, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, - 0x47, 0x45, 0x10, 0xa3, 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x49, 0x44, 0x58, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, - 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xa4, 0xc0, 0x06, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x42, 0x57, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0xa5, 0xc0, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x5f, 0x42, 0x57, 0x5f, 0x47, 0x52, 0x50, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4e, 0x55, - 0x4c, 0x4c, 0x10, 0xa6, 0xc0, 0x06, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x5f, 0x4e, 0x42, 0x52, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4e, 0x55, - 0x4c, 0x4c, 0x10, 0xa7, 0xc0, 0x06, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, - 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x4c, 0x41, 0x50, 0x49, 0x10, 0xa8, 0xc0, 0x06, 0x12, 0x26, 0x0a, - 0x20, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x4f, 0x42, 0x4a, 0x5f, 0x4c, 0x49, 0x53, 0x54, - 0x5f, 0x49, 0x44, 0x58, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, - 0x45, 0x10, 0xa9, 0xc0, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x41, 0x53, 0x4e, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, - 0x10, 0xaa, 0xc0, 0x06, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x42, 0x57, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x10, 0xab, - 0xc0, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, - 0x44, 0x10, 0xac, 0xc0, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, - 0x52, 0x45, 0x44, 0x10, 0xad, 0xc0, 0x06, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x47, - 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xae, 0xc0, 0x06, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, - 0x42, 0x47, 0x50, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x58, 0x41, 0x43, 0x54, 0x5f, 0x4d, 0x41, - 0x54, 0x43, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xaf, 0xc0, - 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x4d, 0x41, 0x58, 0x5f, - 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x59, 0x53, - 0x44, 0x42, 0x10, 0xb0, 0xc0, 0x06, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, - 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x5f, 0x49, 0x4e, 0x5f, - 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0xb1, 0xc0, 0x06, 0x12, 0x1b, 0x0a, 0x15, 0x53, - 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, - 0x52, 0x52, 0x5f, 0x31, 0x10, 0x81, 0xc2, 0x06, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, - 0x47, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x5f, - 0x32, 0x10, 0x82, 0xc2, 0x06, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x33, 0x10, 0x83, - 0xc2, 0x06, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, - 0x54, 0x10, 0x80, 0xe0, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x81, 0xe0, 0x06, 0x12, 0x27, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0x82, 0xe0, 0x06, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x83, 0xe0, 0x06, 0x12, 0x23, - 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, - 0x5f, 0x43, 0x50, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, - 0x84, 0xe0, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, 0x50, - 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x85, 0xe0, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, - 0x53, 0x52, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x4c, 0x49, 0x45, - 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x86, 0xe0, 0x06, 0x12, - 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, - 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, - 0x10, 0x87, 0xe0, 0x06, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x54, 0x45, 0x5f, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4d, 0x53, - 0x47, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x88, 0xe0, 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, 0x29, 0x0a, 0x0d, 0x53, 0x4c, 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2c, 0x0a, 0x18, 0x53, - 0x4c, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 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, 0x54, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, - 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x52, 0x53, 0x50, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x5f, - 0x45, 0x41, 0x43, 0x48, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4c, 0x5f, 0x52, 0x53, 0x50, - 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 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, -} +const file_sl_common_types_proto_rawDesc = "" + + "\n" + + "\x15sl_common_types.proto\x12\rservice_layer\"ׇ\x01\n" + + "\rSLErrorStatus\x12<\n" + + "\x06Status\x18\x01 \x01(\x0e2$.service_layer.SLErrorStatus.SLErrnoR\x06Status\"\x86\x87\x01\n" + + "\aSLErrno\x12\x0e\n" + + "\n" + + "SL_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\f\n" + + "\bSL_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\a\x12\x1b\n" + + "\x17SL_STREAM_NOT_SUPPORTED\x10\b\x12\x0e\n" + + "\n" + + "SL_ENOTSUP\x10\t\x12\x0f\n" + + "\vSL_SOME_ERR\x10\n" + + "\x12\x0e\n" + + "\n" + + "SL_TIMEOUT\x10\v\x12\x11\n" + + "\rSL_NOTIF_TERM\x10\f\x12\x10\n" + + "\fSL_AUTH_FAIL\x10\r\x12\x1d\n" + + "\x19SL_ACK_TYPE_NOT_SUPPORTED\x10\x0e\x12\x15\n" + + "\x11SL_NO_SUCH_CLIENT\x10\x0f\x12\x17\n" + + "\x13SL_NO_ENTRIES_FOUND\x10\x10\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&\n" + + "!SL_VRF_TABLE_CLIENT_NAME_MISMATCH\x10\x94@\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\x1f\n" + + "\x19SL_ROUTE_INVALID_PRIORITY\x10\x95\x80\x01\x12\x1d\n" + + "\x17SL_ROUTE_INVALID_METRIC\x10\x96\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%\n" + + "\x1fSL_PATH_INVALID_PATH_LIST_MODEL\x10\x9d\xa0\x01\x12$\n" + + "\x1eSL_PATH_PRIMARY_INDEX_REPEATED\x10\x9e\xa0\x01\x12(\n" + + "\"SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE\x10\x9f\xa0\x01\x12'\n" + + "!SL_PATH_BACKUP_INDEX_OUT_OF_RANGE\x10\xa0\xa0\x01\x12)\n" + + "#SL_PATH_BACKUP_FLAGGED_UNREFERENCED\x10\xa1\xa0\x01\x12)\n" + + "#SL_PATH_BACKUP_INDEX_SELF_REFERENCE\x10\xa2\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\x19\n" + + "\x13SL_BGP_START_OFFSET\x10\x80\xc0\x06\x12\x1e\n" + + "\x18SL_BGP_INST_NAME_TOOLONG\x10\x81\xc0\x06\x12\x1c\n" + + "\x16SL_BGP_INST_NAME_EMPTY\x10\x82\xc0\x06\x12!\n" + + "\x1bSL_BGP_INST_NOT_INITIALIZED\x10\x83\xc0\x06\x12\x1d\n" + + "\x17SL_BGP_INVALID_OBJ_TYPE\x10\x84\xc0\x06\x12 \n" + + "\x1aSL_BGP_VRF_NAME_TOOLONG_V4\x10\x85\xc0\x06\x12 \n" + + "\x1aSL_BGP_VRF_NAME_TOOLONG_V6\x10\x86\xc0\x06\x12!\n" + + "\x1bSL_BGP_UNSUPPORTED_VRF_NAME\x10\x87\xc0\x06\x12#\n" + + "\x1dSL_BGP_INVALID_NBR_ADDR_MCAST\x10\x88\xc0\x06\x12!\n" + + "\x1bSL_BGP_INVALID_NBR_ADDR_EXP\x10\x89\xc0\x06\x12\x1d\n" + + "\x17SL_BGP_INVALID_NBR_ADDR\x10\x8a\xc0\x06\x12\x1e\n" + + "\x18SL_BGP_INVALID_NBR_V6_SZ\x10\x8b\xc0\x06\x12\x1c\n" + + "\x16SL_BGP_INVALID_NBR_KEY\x10\x8c\xc0\x06\x12%\n" + + "\x1fSL_BGP_INVALID_MPATH_ADDR_MCAST\x10\x8d\xc0\x06\x12#\n" + + "\x1dSL_BGP_INVALID_MPATH_ADDR_EXP\x10\x8e\xc0\x06\x12\x1f\n" + + "\x19SL_BGP_INVALID_MPATH_ADDR\x10\x8f\xc0\x06\x12 \n" + + "\x1aSL_BGP_INVALID_MPATH_V6_SZ\x10\x90\xc0\x06\x12!\n" + + "\x1bSL_BGP_INVALID_NBRSAFI_LIST\x10\x91\xc0\x06\x12%\n" + + "\x1fSL_BGP_UNSUPPORTED_BGP_AFI_SAFI\x10\x92\xc0\x06\x12\x1c\n" + + "\x16SL_BGP_UNSUPPORTED_AFI\x10\x93\xc0\x06\x12\x1d\n" + + "\x17SL_BGP_UNSUPPORTED_SAFI\x10\x94\xc0\x06\x12\x1a\n" + + "\x14SL_BGP_EMPTY_OBJECTS\x10\x95\xc0\x06\x12\x1e\n" + + "\x18SL_BGP_EMPTY_OBJECT_LIST\x10\x96\xc0\x06\x12!\n" + + "\x1bSL_BGP_UPDATE_BW_GRP_FAILED\x10\x97\xc0\x06\x12%\n" + + "\x1fSL_BGP_UPDATE_MPATH_ADDR_FAILED\x10\x98\xc0\x06\x12!\n" + + "\x1bSL_BGP_DELETE_BW_GRP_FAILED\x10\x99\xc0\x06\x12\x1e\n" + + "\x18SL_BGP_DELETE_NBR_FAILED\x10\x9a\xc0\x06\x12\x1e\n" + + "\x18SL_BGP_DELETE_AFI_FAILED\x10\x9b\xc0\x06\x12%\n" + + "\x1fSL_BGP_DELETE_MPATH_ADDR_FAILED\x10\x9c\xc0\x06\x12\x1a\n" + + "\x14SL_BGP_DELETE_FAILED\x10\x9d\xc0\x06\x12$\n" + + "\x1eSL_BGP_BW_GRP_NUM_OUT_OF_RANGE\x10\x9e\xc0\x06\x12%\n" + + "\x1fSL_BGP_IN_BW_GRP_COUNT_EXCEEDED\x10\x9f\xc0\x06\x12&\n" + + " SL_BGP_OUT_BW_GRP_COUNT_EXCEEDED\x10\xa0\xc0\x06\x12\"\n" + + "\x1cSL_BGP_INVALID_IN_BWGRP_LIST\x10\xa1\xc0\x06\x12#\n" + + "\x1dSL_BGP_INVALID_OUT_BWGRP_LIST\x10\xa2\xc0\x06\x12!\n" + + "\x1bSL_BGP_LINK_BW_OUT_OF_RANGE\x10\xa3\xc0\x06\x12!\n" + + "\x1bSL_BGP_NBR_IDX_OUT_OF_RANGE\x10\xa4\xc0\x06\x12\x1c\n" + + "\x16SL_BGP_INVALID_BW_TYPE\x10\xa5\xc0\x06\x12\x1d\n" + + "\x17SL_BGP_BW_GRP_LIST_NULL\x10\xa6\xc0\x06\x12\x1e\n" + + "\x18SL_BGP_NBRSAFI_LIST_NULL\x10\xa7\xc0\x06\x12%\n" + + "\x1fSL_BGP_INST_NOT_CONFIG_IN_SLAPI\x10\xa8\xc0\x06\x12&\n" + + " SL_BGP_OBJ_LIST_IDX_OUT_OF_RANGE\x10\xa9\xc0\x06\x12\x1d\n" + + "\x17SL_BGP_ASN_OUT_OF_RANGE\x10\xaa\xc0\x06\x12\x1c\n" + + "\x16SL_BGP_INVALID_BW_UNIT\x10\xab\xc0\x06\x12!\n" + + "\x1bSL_BGP_OBJECT_TYPE_REQUIRED\x10\xac\xc0\x06\x12 \n" + + "\x1aSL_BGP_OBJECT_KEY_REQUIRED\x10\xad\xc0\x06\x12 \n" + + "\x1aSL_BGP_INVALID_OBJECT_TYPE\x10\xae\xc0\x06\x12&\n" + + " SL_BGP_GET_EXACT_MATCH_NOT_FOUND\x10\xaf\xc0\x06\x12#\n" + + "\x1dSL_BGP_MAX_NEIGHBORS_IN_SYSDB\x10\xb0\xc0\x06\x12#\n" + + "\x1dSL_BGP_MAX_OBJECTS_IN_PAYLOAD\x10\xb1\xc0\x06\x12\x1b\n" + + "\x15SL_BGP_INTERNAL_ERR_1\x10\x81\xc2\x06\x12\x1b\n" + + "\x15SL_BGP_INTERNAL_ERR_2\x10\x82\xc2\x06\x12\x1b\n" + + "\x15SL_BGP_INTERNAL_ERR_3\x10\x83\xc2\x06\x12!\n" + + "\x1bSL_SRTE_POLICY_START_OFFSET\x10\x80\xe0\x06\x12$\n" + + "\x1eSL_SRTE_POLICY_REQUEST_INVALID\x10\x81\xe0\x06\x12'\n" + + "!SL_SRTE_POLICY_POLICY_KEY_INVALID\x10\x82\xe0\x06\x12(\n" + + "\"SL_SRTE_POLICY_POLICY_ATTR_INVALID\x10\x83\xe0\x06\x12#\n" + + "\x1dSL_SRTE_POLICY_CP_KEY_INVALID\x10\x84\xe0\x06\x12$\n" + + "\x1eSL_SRTE_POLICY_CP_ATTR_INVALID\x10\x85\xe0\x06\x12$\n" + + "\x1eSL_SRTE_POLICY_CLIENT_MISMATCH\x10\x86\xe0\x06\x12#\n" + + "\x1dSL_SRTE_POLICY_SERVICE_NOT_UP\x10\x87\xe0\x06\x12$\n" + + "\x1eSL_SRTE_POLICY_EXCEED_MSG_SIZE\x10\x88\xe0\x06\x12\x1f\n" + + "\x19SL_PERF_MEAS_START_OFFSET\x10\x80\x80\a\x12(\n" + + "\"SL_PERF_MEAS_SESSION_CREATE_FAILED\x10\x81\x80\a\x12(\n" + + "\"SL_PERF_MEAS_SESSION_DELETE_FAILED\x10\x82\x80\a\x12+\n" + + "%SL_PERF_MEAS_SESSION_GET_STATS_FAILED\x10\x83\x80\a\x12*\n" + + "$SL_PERF_MEAS_SESSION_GET_INFO_FAILED\x10\x84\x80\a\x12\"\n" + + "\x1cSL_PERF_MEAS_INVALID_REQUEST\x10\x85\x80\a\x12'\n" + + "!SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED\x10\x86\x80\a\x12:\n" + + "4SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP\x10\x87\x80\a\x128\n" + + "2SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP\x10\x88\x80\a\x12;\n" + + "5SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP\x10\x89\x80\a\x12<\n" + + "6SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK\x10\x8a\x80\a\x12?\n" + + "9SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL\x10\x8b\x80\a\x12>\n" + + "8SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT\x10\x8c\x80\a\x125\n" + + "/SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP\x10\x8d\x80\a\x12:\n" + + "4SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE\x10\x8e\x80\a\x127\n" + + "1SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED\x10\x8f\x80\a\x127\n" + + "1SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR\x10\x90\x80\a\x127\n" + + "1SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED\x10\x91\x80\a\x127\n" + + "1SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR\x10\x92\x80\a\x12:\n" + + "4SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED\x10\x93\x80\a\x12:\n" + + "4SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR\x10\x94\x80\a\x129\n" + + "3SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED\x10\x95\x80\a\x129\n" + + "3SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR\x10\x96\x80\a\x126\n" + + "0SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED\x10\x97\x80\a\x126\n" + + "0SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR\x10\x98\x80\a\x12:\n" + + "4SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND\x10\x99\x80\a\x12=\n" + + "7SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND\x10\x9a\x80\a\x12<\n" + + "6SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND\x10\x9b\x80\a\x129\n" + + "3SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND\x10\x9c\x80\a\x12=\n" + + "7SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME\x10\x9d\x80\a\x12;\n" + + "5SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED\x10\x9e\x80\a\x125\n" + + "/SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND\x10\x9f\x80\a\x129\n" + + "3SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED\x10\xa0\x80\a\x125\n" + + "/SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED\x10\xa1\x80\a\x12<\n" + + "6SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID\x10\xa2\x80\a\x12A\n" + + ";SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID\x10\xa3\x80\a\x12@\n" + + ":SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID\x10\xa4\x80\a\x12;\n" + + "5SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID\x10\xa5\x80\a\x12=\n" + + "7SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID\x10\xa6\x80\a\x12=\n" + + "7SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND\x10\xa7\x80\a\x12>\n" + + "8SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND\x10\xa8\x80\a\x12<\n" + + "6SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND\x10\xa9\x80\a\x12;\n" + + "5SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID\x10\xaa\x80\a\x12<\n" + + "6SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID\x10\xab\x80\a\x12:\n" + + "4SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID\x10\xac\x80\a\x12=\n" + + "7SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH\x10\xad\x80\a\x12@\n" + + ":SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID\x10\xae\x80\a\x12:\n" + + "4SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING\x10\xaf\x80\a\x12?\n" + + "9SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING\x10\xb0\x80\a\x128\n" + + "2SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT\x10\xb1\x80\a\x123\n" + + "-SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS\x10\xb2\x80\a\x126\n" + + "0SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED\x10\xb3\x80\a\x125\n" + + "/SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID\x10\xb4\x80\a\x125\n" + + "/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED\x10\xb5\x80\a\x125\n" + + "/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED\x10\xb6\x80\a\x125\n" + + "/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM\x10\xb7\x80\a\x12=\n" + + "7SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED\x10\xb8\x80\a\x127\n" + + "1SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED\x10\xb9\x80\a\x126\n" + + "0SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED\x10\xba\x80\a\x129\n" + + "3SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED\x10\xbb\x80\a\x123\n" + + "-SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND\x10\xbc\x80\a\x122\n" + + ",SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND\x10\xbd\x80\a\x127\n" + + "1SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND\x10\xbe\x80\a\x12:\n" + + "4SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED\x10\xbf\x80\a\x12\x1e\n" + + "\x18SL_INTERNAL_START_OFFSET\x10\x80\x80@\"J\n" + + "\vSLInterface\x12\x14\n" + + "\x04Name\x18\x01 \x01(\tH\x00R\x04Name\x12\x18\n" + + "\x06Handle\x18\x02 \x01(\rH\x00R\x06HandleB\v\n" + + "\tInterface\"X\n" + + "\vSLIpAddress\x12\x1e\n" + + "\tV4Address\x18\x01 \x01(\rH\x00R\tV4Address\x12\x1e\n" + + "\tV6Address\x18\x02 \x01(\fH\x00R\tV6AddressB\t\n" + + "\aAddress\")\n" + + "\rSLIpv6Address\x12\x18\n" + + "\aaddress\x18\x01 \x01(\fR\aaddress\",\n" + + "\x18SLAutonomousSystemNumber\x12\x10\n" + + "\x03asn\x18\x01 \x01(\rR\x03asn\"+\n" + + "\n" + + "SLObjectId\x12\x14\n" + + "\x04Name\x18\x01 \x01(\tH\x00R\x04NameB\a\n" + + "\x05entry\"j\n" + + "\x11SLPathGroupRefKey\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x12;\n" + + "\vPathGroupId\x18\x02 \x01(\v2\x19.service_layer.SLObjectIdR\vPathGroupId*b\n" + + "\aSLRegOp\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" + + "\fSL_REGOP_EOF\x10\x03*_\n" + + "\n" + + "SLObjectOp\x12\x15\n" + + "\x11SL_OBJOP_RESERVED\x10\x00\x12\x10\n" + + "\fSL_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\b\x12\x16\n" + + "\x12SL_PRIORITY_MEDIUM\x10\f\x12\x13\n" + + "\x0fSL_PRIORITY_LOW\x10\x10*K\n" + + "\vSLEncapType\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" + + "\vSLTableType\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" + + "\fSLRspACKType\x12\v\n" + + "\aRIB_ACK\x10\x00\x12\x13\n" + + "\x0fRIB_AND_FIB_ACK\x10\x01\x12\x15\n" + + "\x11RIB_FIB_INUSE_ACK\x10\x02*\x94\x01\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\x12\x17\n" + + "\x13SL_FIB_INUSE_FAILED\x10\x05*\xc2\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\x12\x1e\n" + + "\x1aSL_PERMIT_FIB_INUSE_FAILED\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" + + "\vSL_RSP_NONE\x10\x03BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_common_types_proto_rawDescOnce sync.Once - file_sl_common_types_proto_rawDescData = file_sl_common_types_proto_rawDesc + file_sl_common_types_proto_rawDescData []byte ) func file_sl_common_types_proto_rawDescGZIP() []byte { file_sl_common_types_proto_rawDescOnce.Do(func() { - file_sl_common_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_common_types_proto_rawDescData) + file_sl_common_types_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_common_types_proto_rawDesc), len(file_sl_common_types_proto_rawDesc))) }) return file_sl_common_types_proto_rawDescData } var file_sl_common_types_proto_enumTypes = make([]protoimpl.EnumInfo, 11) var file_sl_common_types_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_sl_common_types_proto_goTypes = []interface{}{ +var file_sl_common_types_proto_goTypes = []any{ (SLRegOp)(0), // 0: service_layer.SLRegOp (SLObjectOp)(0), // 1: service_layer.SLObjectOp (SLNotifOp)(0), // 2: service_layer.SLNotifOp @@ -3816,108 +3748,22 @@ func file_sl_common_types_proto_init() { if File_sl_common_types_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_sl_common_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLErrorStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterface); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLIpAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLIpv6Address); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLAutonomousSystemNumber); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLObjectId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPathGroupRefKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_common_types_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_sl_common_types_proto_msgTypes[1].OneofWrappers = []any{ (*SLInterface_Name)(nil), (*SLInterface_Handle)(nil), } - file_sl_common_types_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_sl_common_types_proto_msgTypes[2].OneofWrappers = []any{ (*SLIpAddress_V4Address)(nil), (*SLIpAddress_V6Address)(nil), } - file_sl_common_types_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_sl_common_types_proto_msgTypes[5].OneofWrappers = []any{ (*SLObjectId_Name)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_common_types_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_common_types_proto_rawDesc), len(file_sl_common_types_proto_rawDesc)), NumEnums: 11, NumMessages: 7, NumExtensions: 0, @@ -3929,7 +3775,6 @@ func file_sl_common_types_proto_init() { MessageInfos: file_sl_common_types_proto_msgTypes, }.Build() File_sl_common_types_proto = out.File - file_sl_common_types_proto_rawDesc = nil file_sl_common_types_proto_goTypes = nil file_sl_common_types_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_global.pb.go b/grpc/go/src/gengo/sl_global.pb.go index cf44fd85..ccabc0f7 100644 --- a/grpc/go/src/gengo/sl_global.pb.go +++ b/grpc/go/src/gengo/sl_global.pb.go @@ -11,8 +11,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_global.proto package service_layer @@ -22,6 +22,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -93,25 +94,22 @@ func (SLGlobalNotifType) EnumDescriptor() ([]byte, []int) { // connection will be made and the server response will be received // with a successful status code. type SLInitMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Client's Major version of service-layer API (refer to sl_version.proto) MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer,proto3" json:"MajorVer,omitempty"` // Minor Version MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer,proto3" json:"MinorVer,omitempty"` // Sub-Version - SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` + SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInitMsg) Reset() { *x = SLInitMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_global_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInitMsg) String() string { @@ -122,7 +120,7 @@ func (*SLInitMsg) ProtoMessage() {} func (x *SLInitMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_global_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -162,10 +160,7 @@ func (x *SLInitMsg) GetSubVer() uint32 { // On Success (ErrStatus), the session with the server is established // and the client is allowed to proceed. type SLInitMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Server's version of service-layer API (refer to sl_version.proto) // Major-number revisions are NOT backwards compatible, // unless otherwise specified. The Server may reject a session if there @@ -174,16 +169,16 @@ type SLInitMsgRsp struct { // Minor Version MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer,proto3" json:"MinorVer,omitempty"` // Sub-Version - SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` + SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInitMsgRsp) Reset() { *x = SLInitMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_global_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInitMsgRsp) String() string { @@ -194,7 +189,7 @@ func (*SLInitMsgRsp) ProtoMessage() {} func (x *SLInitMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_global_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -232,21 +227,18 @@ func (x *SLInitMsgRsp) GetSubVer() uint32 { // Routes replay error notification. type SLVrfRouteReplayErrorNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF Name. - VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfRouteReplayErrorNotif) Reset() { *x = SLVrfRouteReplayErrorNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_global_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfRouteReplayErrorNotif) String() string { @@ -257,7 +249,7 @@ func (*SLVrfRouteReplayErrorNotif) ProtoMessage() {} func (x *SLVrfRouteReplayErrorNotif) ProtoReflect() protoreflect.Message { mi := &file_sl_global_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -281,10 +273,7 @@ func (x *SLVrfRouteReplayErrorNotif) GetVrfName() string { // Globals query message. type SLGlobalNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Event Type. EventType SLGlobalNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=service_layer.SLGlobalNotifType" json:"EventType,omitempty"` // Status code, interpreted based on the Event Type. @@ -315,20 +304,20 @@ type SLGlobalNotif struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Further info based on EventType. // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLGlobalNotif_InitRspMsg // *SLGlobalNotif_VrfReplayErrorNotif - Event isSLGlobalNotif_Event `protobuf_oneof:"Event"` + Event isSLGlobalNotif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLGlobalNotif) Reset() { *x = SLGlobalNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_global_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLGlobalNotif) String() string { @@ -339,7 +328,7 @@ func (*SLGlobalNotif) ProtoMessage() {} func (x *SLGlobalNotif) ProtoReflect() protoreflect.Message { mi := &file_sl_global_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -368,24 +357,28 @@ func (x *SLGlobalNotif) GetErrStatus() *SLErrorStatus { return nil } -func (m *SLGlobalNotif) GetEvent() isSLGlobalNotif_Event { - if m != nil { - return m.Event +func (x *SLGlobalNotif) GetEvent() isSLGlobalNotif_Event { + if x != nil { + return x.Event } return nil } func (x *SLGlobalNotif) GetInitRspMsg() *SLInitMsgRsp { - if x, ok := x.GetEvent().(*SLGlobalNotif_InitRspMsg); ok { - return x.InitRspMsg + if x != nil { + if x, ok := x.Event.(*SLGlobalNotif_InitRspMsg); ok { + return x.InitRspMsg + } } return nil } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in sl_global.proto. func (x *SLGlobalNotif) GetVrfReplayErrorNotif() *SLVrfRouteReplayErrorNotif { - if x, ok := x.GetEvent().(*SLGlobalNotif_VrfReplayErrorNotif); ok { - return x.VrfReplayErrorNotif + if x != nil { + if x, ok := x.Event.(*SLGlobalNotif_VrfReplayErrorNotif); ok { + return x.VrfReplayErrorNotif + } } return nil } @@ -410,7 +403,7 @@ type SLGlobalNotif_VrfReplayErrorNotif struct { // case ErrStatus == SL_VRF_V6_ROUTE_REPLAY_OK: // => this field carries the failed VRF information. // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in sl_global.proto. VrfReplayErrorNotif *SLVrfRouteReplayErrorNotif `protobuf:"bytes,4,opt,name=VrfReplayErrorNotif,proto3,oneof"` } @@ -419,19 +412,22 @@ func (*SLGlobalNotif_InitRspMsg) isSLGlobalNotif_Event() {} func (*SLGlobalNotif_VrfReplayErrorNotif) isSLGlobalNotif_Event() {} // Globals query message. +// This message is sent by clients to query the router for platform-specific capabilities and configuration limits. +// +// Client should use this message at the beginning of a Service Layer API session to determine platform capabilities +// before configuring routes, interfaces, or other network elements to understand system limitations. +// Helpful for cross-platform applications that need to adapt to different router hardware capabilities. type SLGlobalsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLGlobalsGetMsg) Reset() { *x = SLGlobalsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_global_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLGlobalsGetMsg) String() string { @@ -442,7 +438,7 @@ func (*SLGlobalsGetMsg) ProtoMessage() {} func (x *SLGlobalsGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_global_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -458,11 +454,18 @@ func (*SLGlobalsGetMsg) Descriptor() ([]byte, []int) { } // Platform specific globals Response. +// Retrieved values should be used by client to program requests ensuring operation within the router's constraints. +// Usage: +// +// Inspect ErrStatus first to verify the request succeeded. +// Use the various maximum values (limits) to validate client configurations before sending them to the router. +// Key configuration limits include: +// - VRF name length constraints (MaxVrfNameLength). +// - Path limitations for routes (MaxPathsPerEntry, MaxPrimaryPathPerEntry, MaxBackupPathPerEntry). +// - MPLS label stack depth (MaxMplsLabelsPerPath). +// - Message batching capabilities (MaxVrfRegPerMsg, MaxAFOpsPerMsg). type SLGlobalsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Maximum vrf name length. @@ -504,15 +507,15 @@ type SLGlobalsGetMsgRsp struct { MaxNotifReqPerSLAFNotifReq uint32 `protobuf:"varint,19,opt,name=MaxNotifReqPerSLAFNotifReq,proto3" json:"MaxNotifReqPerSLAFNotifReq,omitempty"` // Max SLBgplsTopoNlriMatch match filters in SLBgplsTopoNotifReqMsg MaxMatchFilterInBgplsTopoNotif uint32 `protobuf:"varint,20,opt,name=MaxMatchFilterInBgplsTopoNotif,proto3" json:"MaxMatchFilterInBgplsTopoNotif,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLGlobalsGetMsgRsp) Reset() { *x = SLGlobalsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_global_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLGlobalsGetMsgRsp) String() string { @@ -523,7 +526,7 @@ func (*SLGlobalsGetMsgRsp) ProtoMessage() {} func (x *SLGlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_global_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -680,158 +683,74 @@ func (x *SLGlobalsGetMsgRsp) GetMaxMatchFilterInBgplsTopoNotif() uint32 { var File_sl_global_proto protoreflect.FileDescriptor -var file_sl_global_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x73, 0x6c, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0x5b, 0x0a, 0x09, 0x53, 0x4c, 0x49, 0x6e, 0x69, - 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x75, 0x62, 0x56, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x75, - 0x62, 0x56, 0x65, 0x72, 0x22, 0x5e, 0x0a, 0x0c, 0x53, 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, - 0x67, 0x52, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x75, 0x62, 0x56, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x75, - 0x62, 0x56, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x1a, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 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, 0x22, 0xb6, 0x02, 0x0a, - 0x0d, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x3e, - 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, - 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, 0x52, - 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x49, 0x6e, - 0x69, 0x74, 0x52, 0x73, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x49, - 0x6e, 0x69, 0x74, 0x52, 0x73, 0x70, 0x4d, 0x73, 0x67, 0x12, 0x61, 0x0a, 0x13, 0x56, 0x72, 0x66, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x13, 0x56, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x42, 0x07, 0x0a, 0x05, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xb8, 0x08, 0x0a, 0x12, 0x53, 0x4c, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 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, 0x2a, 0x0a, 0x10, 0x4d, - 0x61, 0x78, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, - 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, - 0x2a, 0x0a, 0x10, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x50, 0x61, - 0x74, 0x68, 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x16, 0x4d, - 0x61, 0x78, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, - 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x15, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x15, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, - 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x14, 0x4d, 0x61, 0x78, - 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x74, - 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x4d, 0x61, 0x78, 0x4d, 0x70, 0x6c, 0x73, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, - 0x13, 0x4d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, - 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x69, 0x6e, 0x50, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, - 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, - 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, - 0x78, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, - 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x4d, 0x69, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, - 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x4d, - 0x69, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, - 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, - 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x4d, - 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, - 0x6d, 0x12, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x4d, 0x61, 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x78, 0x4c, 0x32, 0x42, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x4d, 0x61, 0x78, 0x4c, 0x32, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x38, 0x0a, 0x17, 0x4d, 0x61, 0x78, 0x4c, 0x32, 0x50, 0x6d, 0x73, 0x69, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x17, 0x4d, 0x61, 0x78, 0x4c, 0x32, 0x50, 0x6d, 0x73, 0x69, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x1d, 0x4d, - 0x61, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x1d, 0x4d, 0x61, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x36, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x73, 0x49, 0x6e, 0x4e, - 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x73, 0x49, 0x6e, 0x4e, 0x65, 0x78, - 0x74, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x78, - 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x50, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0f, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x50, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x78, 0x41, 0x46, 0x4f, 0x70, 0x73, 0x50, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4d, 0x61, 0x78, - 0x41, 0x46, 0x4f, 0x70, 0x73, 0x50, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3e, 0x0a, 0x1a, 0x4d, - 0x61, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x50, 0x65, 0x72, 0x53, 0x4c, 0x41, - 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x1a, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x50, 0x65, 0x72, 0x53, - 0x4c, 0x41, 0x46, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x52, 0x65, 0x71, 0x12, 0x46, 0x0a, 0x1e, 0x4d, - 0x61, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x42, - 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x4d, 0x61, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x49, 0x6e, 0x42, 0x67, 0x70, 0x6c, 0x73, 0x54, 0x6f, 0x70, 0x6f, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x2a, 0x9c, 0x01, 0x0a, 0x11, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, - 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, - 0x53, 0x4c, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, - 0x53, 0x4c, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x02, - 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x03, 0x32, 0xac, 0x01, 0x0a, 0x08, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, - 0x4d, 0x0a, 0x11, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x12, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1c, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x30, 0x01, 0x12, 0x51, - 0x0a, 0x0c, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x1e, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 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, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 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, -} +const file_sl_global_proto_rawDesc = "" + + "\n" + + "\x0fsl_global.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"[\n" + + "\tSLInitMsg\x12\x1a\n" + + "\bMajorVer\x18\x01 \x01(\rR\bMajorVer\x12\x1a\n" + + "\bMinorVer\x18\x02 \x01(\rR\bMinorVer\x12\x16\n" + + "\x06SubVer\x18\x03 \x01(\rR\x06SubVer\"^\n" + + "\fSLInitMsgRsp\x12\x1a\n" + + "\bMajorVer\x18\x01 \x01(\rR\bMajorVer\x12\x1a\n" + + "\bMinorVer\x18\x02 \x01(\rR\bMinorVer\x12\x16\n" + + "\x06SubVer\x18\x03 \x01(\rR\x06SubVer\"6\n" + + "\x1aSLVrfRouteReplayErrorNotif\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\"\xb6\x02\n" + + "\rSLGlobalNotif\x12>\n" + + "\tEventType\x18\x01 \x01(\x0e2 .service_layer.SLGlobalNotifTypeR\tEventType\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12=\n" + + "\n" + + "InitRspMsg\x18\x03 \x01(\v2\x1b.service_layer.SLInitMsgRspH\x00R\n" + + "InitRspMsg\x12a\n" + + "\x13VrfReplayErrorNotif\x18\x04 \x01(\v2).service_layer.SLVrfRouteReplayErrorNotifB\x02\x18\x01H\x00R\x13VrfReplayErrorNotifB\a\n" + + "\x05Event\"\x11\n" + + "\x0fSLGlobalsGetMsg\"\xb8\b\n" + + "\x12SLGlobalsGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12*\n" + + "\x10MaxVrfNameLength\x18\x02 \x01(\rR\x10MaxVrfNameLength\x126\n" + + "\x16MaxInterfaceNameLength\x18\x03 \x01(\rR\x16MaxInterfaceNameLength\x12*\n" + + "\x10MaxPathsPerEntry\x18\x04 \x01(\rR\x10MaxPathsPerEntry\x126\n" + + "\x16MaxPrimaryPathPerEntry\x18\x05 \x01(\rR\x16MaxPrimaryPathPerEntry\x124\n" + + "\x15MaxBackupPathPerEntry\x18\x06 \x01(\rR\x15MaxBackupPathPerEntry\x122\n" + + "\x14MaxMplsLabelsPerPath\x18\a \x01(\rR\x14MaxMplsLabelsPerPath\x120\n" + + "\x13MinPrimaryPathIdNum\x18\b \x01(\rR\x13MinPrimaryPathIdNum\x120\n" + + "\x13MaxPrimaryPathIdNum\x18\t \x01(\rR\x13MaxPrimaryPathIdNum\x12.\n" + + "\x12MinBackupPathIdNum\x18\n" + + " \x01(\rR\x12MinBackupPathIdNum\x12.\n" + + "\x12MaxBackupPathIdNum\x18\v \x01(\rR\x12MaxBackupPathIdNum\x120\n" + + "\x13MaxRemoteAddressNum\x18\f \x01(\rR\x13MaxRemoteAddressNum\x12,\n" + + "\x11MaxL2BdNameLength\x18\r \x01(\rR\x11MaxL2BdNameLength\x128\n" + + "\x17MaxL2PmsiTunnelIdLength\x18\x0e \x01(\rR\x17MaxL2PmsiTunnelIdLength\x12D\n" + + "\x1dMaxLabelBlockClientNameLength\x18\x0f \x01(\rR\x1dMaxLabelBlockClientNameLength\x126\n" + + "\x16MaxPathsInNexthopNotif\x18\x10 \x01(\rR\x16MaxPathsInNexthopNotif\x12(\n" + + "\x0fMaxVrfRegPerMsg\x18\x11 \x01(\rR\x0fMaxVrfRegPerMsg\x12&\n" + + "\x0eMaxAFOpsPerMsg\x18\x12 \x01(\rR\x0eMaxAFOpsPerMsg\x12>\n" + + "\x1aMaxNotifReqPerSLAFNotifReq\x18\x13 \x01(\rR\x1aMaxNotifReqPerSLAFNotifReq\x12F\n" + + "\x1eMaxMatchFilterInBgplsTopoNotif\x18\x14 \x01(\rR\x1eMaxMatchFilterInBgplsTopoNotif*\x9c\x01\n" + + "\x11SLGlobalNotifType\x12!\n" + + "\x1dSL_GLOBAL_EVENT_TYPE_RESERVED\x10\x00\x12\x1e\n" + + "\x1aSL_GLOBAL_EVENT_TYPE_ERROR\x10\x01\x12\"\n" + + "\x1eSL_GLOBAL_EVENT_TYPE_HEARTBEAT\x10\x02\x12 \n" + + "\x1cSL_GLOBAL_EVENT_TYPE_VERSION\x10\x032\xac\x01\n" + + "\bSLGlobal\x12M\n" + + "\x11SLGlobalInitNotif\x12\x18.service_layer.SLInitMsg\x1a\x1c.service_layer.SLGlobalNotif0\x01\x12Q\n" + + "\fSLGlobalsGet\x12\x1e.service_layer.SLGlobalsGetMsg\x1a!.service_layer.SLGlobalsGetMsgRspBQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_global_proto_rawDescOnce sync.Once - file_sl_global_proto_rawDescData = file_sl_global_proto_rawDesc + file_sl_global_proto_rawDescData []byte ) func file_sl_global_proto_rawDescGZIP() []byte { file_sl_global_proto_rawDescOnce.Do(func() { - file_sl_global_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_global_proto_rawDescData) + file_sl_global_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_global_proto_rawDesc), len(file_sl_global_proto_rawDesc))) }) return file_sl_global_proto_rawDescData } var file_sl_global_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_sl_global_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_sl_global_proto_goTypes = []interface{}{ +var file_sl_global_proto_goTypes = []any{ (SLGlobalNotifType)(0), // 0: service_layer.SLGlobalNotifType (*SLInitMsg)(nil), // 1: service_layer.SLInitMsg (*SLInitMsgRsp)(nil), // 2: service_layer.SLInitMsgRsp @@ -864,81 +783,7 @@ func file_sl_global_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_global_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInitMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInitMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRouteReplayErrorNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLGlobalNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLGlobalsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLGlobalsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_global_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_sl_global_proto_msgTypes[3].OneofWrappers = []any{ (*SLGlobalNotif_InitRspMsg)(nil), (*SLGlobalNotif_VrfReplayErrorNotif)(nil), } @@ -946,7 +791,7 @@ func file_sl_global_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_global_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_global_proto_rawDesc), len(file_sl_global_proto_rawDesc)), NumEnums: 1, NumMessages: 6, NumExtensions: 0, @@ -958,7 +803,6 @@ func file_sl_global_proto_init() { MessageInfos: file_sl_global_proto_msgTypes, }.Build() File_sl_global_proto = out.File - file_sl_global_proto_rawDesc = nil file_sl_global_proto_goTypes = nil file_sl_global_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_global_grpc.pb.go b/grpc/go/src/gengo/sl_global_grpc.pb.go index 84f25734..04156173 100644 --- a/grpc/go/src/gengo/sl_global_grpc.pb.go +++ b/grpc/go/src/gengo/sl_global_grpc.pb.go @@ -1,7 +1,18 @@ +// @file +// @brief Server RPC proto file. Client invokes to init the session +// on server. +// +// ---------------------------------------------------------------- +// Copyright (c) 2019, 2023 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_global.proto package service_layer @@ -15,12 +26,23 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLGlobal_SLGlobalInitNotif_FullMethodName = "/service_layer.SLGlobal/SLGlobalInitNotif" + SLGlobal_SLGlobalsGet_FullMethodName = "/service_layer.SLGlobal/SLGlobalsGet" +) // SLGlobalClient is the client API for SLGlobal service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLGlobal +// @ingroup Common +// Global Initialization and Notifications. +// The following RPCs are used in global initialization and capability queries. +// @{ type SLGlobalClient interface { // Initialize the connection, and setup a application level heartbeat channel. // @@ -35,8 +57,9 @@ type SLGlobalClient interface { // heartbeat notification messages are sent to the client on // a periodic basis. // Refer to SLGlobalNotif definition for further info. - SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) + SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLGlobalNotif], error) // Get platform specific globals + // Used to retrieve platform-specific capabilities and configuration limits. SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) } @@ -48,12 +71,13 @@ func NewSLGlobalClient(cc grpc.ClientConnInterface) SLGlobalClient { return &sLGlobalClient{cc} } -func (c *sLGlobalClient) SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) { - stream, err := c.cc.NewStream(ctx, &SLGlobal_ServiceDesc.Streams[0], "/service_layer.SLGlobal/SLGlobalInitNotif", opts...) +func (c *sLGlobalClient) SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLGlobalNotif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLGlobal_ServiceDesc.Streams[0], SLGlobal_SLGlobalInitNotif_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLGlobalSLGlobalInitNotifClient{stream} + x := &grpc.GenericClientStream[SLInitMsg, SLGlobalNotif]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -63,26 +87,13 @@ func (c *sLGlobalClient) SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, o return x, nil } -type SLGlobal_SLGlobalInitNotifClient interface { - Recv() (*SLGlobalNotif, error) - grpc.ClientStream -} - -type sLGlobalSLGlobalInitNotifClient struct { - grpc.ClientStream -} - -func (x *sLGlobalSLGlobalInitNotifClient) Recv() (*SLGlobalNotif, error) { - m := new(SLGlobalNotif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLGlobal_SLGlobalInitNotifClient = grpc.ServerStreamingClient[SLGlobalNotif] func (c *sLGlobalClient) SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLGlobalsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLGlobal/SLGlobalsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLGlobal_SLGlobalsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -91,7 +102,13 @@ func (c *sLGlobalClient) SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, // SLGlobalServer is the server API for SLGlobal service. // All implementations must embed UnimplementedSLGlobalServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLGlobal +// @ingroup Common +// Global Initialization and Notifications. +// The following RPCs are used in global initialization and capability queries. +// @{ type SLGlobalServer interface { // Initialize the connection, and setup a application level heartbeat channel. // @@ -106,23 +123,28 @@ type SLGlobalServer interface { // heartbeat notification messages are sent to the client on // a periodic basis. // Refer to SLGlobalNotif definition for further info. - SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error + SLGlobalInitNotif(*SLInitMsg, grpc.ServerStreamingServer[SLGlobalNotif]) error // Get platform specific globals + // Used to retrieve platform-specific capabilities and configuration limits. SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) mustEmbedUnimplementedSLGlobalServer() } -// UnimplementedSLGlobalServer must be embedded to have forward compatible implementations. -type UnimplementedSLGlobalServer struct { -} +// UnimplementedSLGlobalServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLGlobalServer struct{} -func (UnimplementedSLGlobalServer) SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error { +func (UnimplementedSLGlobalServer) SLGlobalInitNotif(*SLInitMsg, grpc.ServerStreamingServer[SLGlobalNotif]) error { return status.Errorf(codes.Unimplemented, "method SLGlobalInitNotif not implemented") } func (UnimplementedSLGlobalServer) SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLGlobalsGet not implemented") } func (UnimplementedSLGlobalServer) mustEmbedUnimplementedSLGlobalServer() {} +func (UnimplementedSLGlobalServer) testEmbeddedByValue() {} // UnsafeSLGlobalServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLGlobalServer will @@ -132,6 +154,13 @@ type UnsafeSLGlobalServer interface { } func RegisterSLGlobalServer(s grpc.ServiceRegistrar, srv SLGlobalServer) { + // If the following call pancis, it indicates UnimplementedSLGlobalServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLGlobal_ServiceDesc, srv) } @@ -140,21 +169,11 @@ func _SLGlobal_SLGlobalInitNotif_Handler(srv interface{}, stream grpc.ServerStre if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLGlobalServer).SLGlobalInitNotif(m, &sLGlobalSLGlobalInitNotifServer{stream}) + return srv.(SLGlobalServer).SLGlobalInitNotif(m, &grpc.GenericServerStream[SLInitMsg, SLGlobalNotif]{ServerStream: stream}) } -type SLGlobal_SLGlobalInitNotifServer interface { - Send(*SLGlobalNotif) error - grpc.ServerStream -} - -type sLGlobalSLGlobalInitNotifServer struct { - grpc.ServerStream -} - -func (x *sLGlobalSLGlobalInitNotifServer) Send(m *SLGlobalNotif) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLGlobal_SLGlobalInitNotifServer = grpc.ServerStreamingServer[SLGlobalNotif] func _SLGlobal_SLGlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SLGlobalsGetMsg) @@ -166,7 +185,7 @@ func _SLGlobal_SLGlobalsGet_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLGlobal/SLGlobalsGet", + FullMethod: SLGlobal_SLGlobalsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLGlobalServer).SLGlobalsGet(ctx, req.(*SLGlobalsGetMsg)) diff --git a/grpc/go/src/gengo/sl_interface.pb.go b/grpc/go/src/gengo/sl_interface.pb.go index cd974a97..12429da9 100644 --- a/grpc/go/src/gengo/sl_interface.pb.go +++ b/grpc/go/src/gengo/sl_interface.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_interface.proto package service_layer @@ -21,6 +21,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -104,23 +105,20 @@ func (SLInterfaceState) EnumDescriptor() ([]byte, []int) { } type SLInterfaceInfoMsgBw struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The New Bandwidth (in Kbps). NewBandwidth uint64 `protobuf:"varint,1,opt,name=NewBandwidth,proto3" json:"NewBandwidth,omitempty"` // The Old Bandwidth prior to the update (in Kbps). - OldBandwidth uint64 `protobuf:"varint,2,opt,name=OldBandwidth,proto3" json:"OldBandwidth,omitempty"` + OldBandwidth uint64 `protobuf:"varint,2,opt,name=OldBandwidth,proto3" json:"OldBandwidth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceInfoMsgBw) Reset() { *x = SLInterfaceInfoMsgBw{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceInfoMsgBw) String() string { @@ -131,7 +129,7 @@ func (*SLInterfaceInfoMsgBw) ProtoMessage() {} func (x *SLInterfaceInfoMsgBw) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -162,10 +160,7 @@ func (x *SLInterfaceInfoMsgBw) GetOldBandwidth() uint64 { // Interface Get Message result. type SLInterfaceInfoMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Interface info. SLIfInfo *SLInterface `protobuf:"bytes,1,opt,name=SLIfInfo,proto3" json:"SLIfInfo,omitempty"` // Interface state. @@ -173,19 +168,19 @@ type SLInterfaceInfoMsg struct { // Timestamp in microseconds since Epoch // January 1st, 1970 00:00:00 GMT, a.k.a. unix epoch. Timestamp int64 `protobuf:"varint,3,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"` - // Types that are assignable to Value: + // Types that are valid to be assigned to Value: // // *SLInterfaceInfoMsg_BwInfo - Value isSLInterfaceInfoMsg_Value `protobuf_oneof:"Value"` + Value isSLInterfaceInfoMsg_Value `protobuf_oneof:"Value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceInfoMsg) Reset() { *x = SLInterfaceInfoMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceInfoMsg) String() string { @@ -196,7 +191,7 @@ func (*SLInterfaceInfoMsg) ProtoMessage() {} func (x *SLInterfaceInfoMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -232,16 +227,18 @@ func (x *SLInterfaceInfoMsg) GetTimestamp() int64 { return 0 } -func (m *SLInterfaceInfoMsg) GetValue() isSLInterfaceInfoMsg_Value { - if m != nil { - return m.Value +func (x *SLInterfaceInfoMsg) GetValue() isSLInterfaceInfoMsg_Value { + if x != nil { + return x.Value } return nil } func (x *SLInterfaceInfoMsg) GetBwInfo() *SLInterfaceInfoMsgBw { - if x, ok := x.GetValue().(*SLInterfaceInfoMsg_BwInfo); ok { - return x.BwInfo + if x != nil { + if x, ok := x.Value.(*SLInterfaceInfoMsg_BwInfo); ok { + return x.BwInfo + } } return nil } @@ -259,10 +256,7 @@ func (*SLInterfaceInfoMsg_BwInfo) isSLInterfaceInfoMsg_Value() {} // Interface Notification Entry. type SLInterfaceNotifMsgEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // OperationId. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. // See SLInterfaceNotifMsgRes. @@ -274,16 +268,16 @@ type SLInterfaceNotifMsgEntry struct { // Only SLInterface.Name is supported. The Name can be a regular expression. Interface *SLInterface `protobuf:"bytes,3,opt,name=Interface,proto3" json:"Interface,omitempty"` // Interface states that this notification entry is interested in. - States []SLInterfaceState `protobuf:"varint,4,rep,packed,name=States,proto3,enum=service_layer.SLInterfaceState" json:"States,omitempty"` + States []SLInterfaceState `protobuf:"varint,4,rep,packed,name=States,proto3,enum=service_layer.SLInterfaceState" json:"States,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceNotifMsgEntry) Reset() { *x = SLInterfaceNotifMsgEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceNotifMsgEntry) String() string { @@ -294,7 +288,7 @@ func (*SLInterfaceNotifMsgEntry) ProtoMessage() {} func (x *SLInterfaceNotifMsgEntry) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -339,23 +333,20 @@ func (x *SLInterfaceNotifMsgEntry) GetStates() []SLInterfaceState { // Interface Notification message. type SLInterfaceNotifMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Notification Operation. Oper SLNotifOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLNotifOp" json:"Oper,omitempty"` // Notification Entries. - Entries []*SLInterfaceNotifMsgEntry `protobuf:"bytes,2,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLInterfaceNotifMsgEntry `protobuf:"bytes,2,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceNotifMsg) Reset() { *x = SLInterfaceNotifMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceNotifMsg) String() string { @@ -366,7 +357,7 @@ func (*SLInterfaceNotifMsg) ProtoMessage() {} func (x *SLInterfaceNotifMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -397,10 +388,7 @@ func (x *SLInterfaceNotifMsg) GetEntries() []*SLInterfaceNotifMsgEntry { // Interface Notification message result. type SLInterfaceNotifMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // OperationId. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. // See SLInterfaceNotifMsgEntry. @@ -408,16 +396,16 @@ type SLInterfaceNotifMsgRes struct { // Corresponding error code. ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Interface key attributes. - Key *SLInterface `protobuf:"bytes,3,opt,name=Key,proto3" json:"Key,omitempty"` + Key *SLInterface `protobuf:"bytes,3,opt,name=Key,proto3" json:"Key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceNotifMsgRes) Reset() { *x = SLInterfaceNotifMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceNotifMsgRes) String() string { @@ -428,7 +416,7 @@ func (*SLInterfaceNotifMsgRes) ProtoMessage() {} func (x *SLInterfaceNotifMsgRes) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -466,21 +454,18 @@ func (x *SLInterfaceNotifMsgRes) GetKey() *SLInterface { // Interface Notification message error. type SLInterfaceNotifMsgErr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Interface key attributes. - Details []*SLInterfaceNotifMsgRes `protobuf:"bytes,1,rep,name=Details,proto3" json:"Details,omitempty"` + Details []*SLInterfaceNotifMsgRes `protobuf:"bytes,1,rep,name=Details,proto3" json:"Details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceNotifMsgErr) Reset() { *x = SLInterfaceNotifMsgErr{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceNotifMsgErr) String() string { @@ -491,7 +476,7 @@ func (*SLInterfaceNotifMsgErr) ProtoMessage() {} func (x *SLInterfaceNotifMsgErr) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -515,24 +500,21 @@ func (x *SLInterfaceNotifMsgErr) GetDetails() []*SLInterfaceNotifMsgRes { // Interface Notification Event. type SLInterfaceNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *SLInterfaceNotif_Error // *SLInterfaceNotif_Info - Event isSLInterfaceNotif_Event `protobuf_oneof:"Event"` + Event isSLInterfaceNotif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLInterfaceNotif) Reset() { *x = SLInterfaceNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_interface_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_interface_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLInterfaceNotif) String() string { @@ -543,7 +525,7 @@ func (*SLInterfaceNotif) ProtoMessage() {} func (x *SLInterfaceNotif) ProtoReflect() protoreflect.Message { mi := &file_sl_interface_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -558,23 +540,27 @@ func (*SLInterfaceNotif) Descriptor() ([]byte, []int) { return file_sl_interface_proto_rawDescGZIP(), []int{6} } -func (m *SLInterfaceNotif) GetEvent() isSLInterfaceNotif_Event { - if m != nil { - return m.Event +func (x *SLInterfaceNotif) GetEvent() isSLInterfaceNotif_Event { + if x != nil { + return x.Event } return nil } func (x *SLInterfaceNotif) GetError() *SLInterfaceNotifMsgErr { - if x, ok := x.GetEvent().(*SLInterfaceNotif_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Event.(*SLInterfaceNotif_Error); ok { + return x.Error + } } return nil } func (x *SLInterfaceNotif) GetInfo() *SLInterfaceInfoMsg { - if x, ok := x.GetEvent().(*SLInterfaceNotif_Info); ok { - return x.Info + if x != nil { + if x, ok := x.Event.(*SLInterfaceNotif_Info); ok { + return x.Info + } } return nil } @@ -600,122 +586,64 @@ func (*SLInterfaceNotif_Info) isSLInterfaceNotif_Event() {} var File_sl_interface_proto protoreflect.FileDescriptor -var file_sl_interface_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x73, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0x5e, 0x0a, 0x14, 0x53, 0x4c, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x73, 0x67, - 0x42, 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x77, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4e, 0x65, 0x77, 0x42, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x4f, 0x6c, 0x64, 0x42, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4f, 0x6c, - 0x64, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0xed, 0x01, 0x0a, 0x12, 0x53, - 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x73, - 0x67, 0x12, 0x36, 0x0a, 0x08, 0x53, 0x4c, 0x49, 0x66, 0x49, 0x6e, 0x66, 0x6f, 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, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, - 0x08, 0x53, 0x4c, 0x49, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x07, 0x49, 0x66, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x49, 0x66, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x3d, 0x0a, 0x06, 0x42, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 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, 0x49, 0x6e, - 0x66, 0x6f, 0x4d, 0x73, 0x67, 0x42, 0x77, 0x48, 0x00, 0x52, 0x06, 0x42, 0x77, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x07, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x18, 0x53, - 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, - 0x73, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x67, - 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, - 0x38, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 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, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 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, 0x41, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x16, - 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3a, 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, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x03, 0x4b, - 0x65, 0x79, 0x22, 0x59, 0x0a, 0x16, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x45, 0x72, 0x72, 0x12, 0x3f, 0x0a, 0x07, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x93, 0x01, - 0x0a, 0x10, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x12, 0x3d, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 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, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x4d, 0x73, 0x67, 0x45, 0x72, 0x72, 0x48, 0x00, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x37, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 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, 0x49, 0x6e, 0x66, 0x6f, 0x4d, - 0x73, 0x67, 0x48, 0x00, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2a, 0xd3, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, - 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, - 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, - 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x55, 0x50, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, - 0x16, 0x53, 0x4c, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x57, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, - 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x32, 0x5f, 0x55, 0x50, 0x10, 0x06, - 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4c, 0x32, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x32, 0x74, 0x0a, 0x0f, 0x53, 0x4c, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x16, - 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x22, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x1f, 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, 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, -} +const file_sl_interface_proto_rawDesc = "" + + "\n" + + "\x12sl_interface.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"^\n" + + "\x14SLInterfaceInfoMsgBw\x12\"\n" + + "\fNewBandwidth\x18\x01 \x01(\x04R\fNewBandwidth\x12\"\n" + + "\fOldBandwidth\x18\x02 \x01(\x04R\fOldBandwidth\"\xed\x01\n" + + "\x12SLInterfaceInfoMsg\x126\n" + + "\bSLIfInfo\x18\x01 \x01(\v2\x1a.service_layer.SLInterfaceR\bSLIfInfo\x129\n" + + "\aIfState\x18\x02 \x01(\x0e2\x1f.service_layer.SLInterfaceStateR\aIfState\x12\x1c\n" + + "\tTimestamp\x18\x03 \x01(\x03R\tTimestamp\x12=\n" + + "\x06BwInfo\x18\n" + + " \x01(\v2#.service_layer.SLInterfaceInfoMsgBwH\x00R\x06BwInfoB\a\n" + + "\x05Value\"\xc5\x01\n" + + "\x18SLInterfaceNotifMsgEntry\x12 \n" + + "\vOperationId\x18\x01 \x01(\x04R\vOperationId\x12\x14\n" + + "\x05Regex\x18\x02 \x01(\bR\x05Regex\x128\n" + + "\tInterface\x18\x03 \x01(\v2\x1a.service_layer.SLInterfaceR\tInterface\x127\n" + + "\x06States\x18\x04 \x03(\x0e2\x1f.service_layer.SLInterfaceStateR\x06States\"\x86\x01\n" + + "\x13SLInterfaceNotifMsg\x12,\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x18.service_layer.SLNotifOpR\x04Oper\x12A\n" + + "\aEntries\x18\x02 \x03(\v2'.service_layer.SLInterfaceNotifMsgEntryR\aEntries\"\xa4\x01\n" + + "\x16SLInterfaceNotifMsgRes\x12 \n" + + "\vOperationId\x18\x01 \x01(\x04R\vOperationId\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12,\n" + + "\x03Key\x18\x03 \x01(\v2\x1a.service_layer.SLInterfaceR\x03Key\"Y\n" + + "\x16SLInterfaceNotifMsgErr\x12?\n" + + "\aDetails\x18\x01 \x03(\v2%.service_layer.SLInterfaceNotifMsgResR\aDetails\"\x93\x01\n" + + "\x10SLInterfaceNotif\x12=\n" + + "\x05Error\x18\x01 \x01(\v2%.service_layer.SLInterfaceNotifMsgErrH\x00R\x05Error\x127\n" + + "\x04Info\x18\x02 \x01(\v2!.service_layer.SLInterfaceInfoMsgH\x00R\x04InfoB\a\n" + + "\x05Event*\xd3\x01\n" + + "\x10SLInterfaceState\x12\x17\n" + + "\x13SL_IF_STATE_UNKNOWN\x10\x00\x12\x17\n" + + "\x13SL_IF_STATE_CREATED\x10\x01\x12\x14\n" + + "\x10SL_IF_STATE_DOWN\x10\x02\x12\x12\n" + + "\x0eSL_IF_STATE_UP\x10\x03\x12\x17\n" + + "\x13SL_IF_STATE_DELETED\x10\x04\x12\x1a\n" + + "\x16SL_IF_STATE_BW_CHANGED\x10\x05\x12\x15\n" + + "\x11SL_IF_STATE_L2_UP\x10\x06\x12\x17\n" + + "\x13SL_IF_STATE_L2_DOWN\x10\a2t\n" + + "\x0fSLInterfaceOper\x12a\n" + + "\x16SLInterfaceNotifStream\x12\".service_layer.SLInterfaceNotifMsg\x1a\x1f.service_layer.SLInterfaceNotif(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_interface_proto_rawDescOnce sync.Once - file_sl_interface_proto_rawDescData = file_sl_interface_proto_rawDesc + file_sl_interface_proto_rawDescData []byte ) func file_sl_interface_proto_rawDescGZIP() []byte { file_sl_interface_proto_rawDescOnce.Do(func() { - file_sl_interface_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_interface_proto_rawDescData) + file_sl_interface_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_interface_proto_rawDesc), len(file_sl_interface_proto_rawDesc))) }) return file_sl_interface_proto_rawDescData } var file_sl_interface_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_sl_interface_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_sl_interface_proto_goTypes = []interface{}{ +var file_sl_interface_proto_goTypes = []any{ (SLInterfaceState)(0), // 0: service_layer.SLInterfaceState (*SLInterfaceInfoMsgBw)(nil), // 1: service_layer.SLInterfaceInfoMsgBw (*SLInterfaceInfoMsg)(nil), // 2: service_layer.SLInterfaceInfoMsg @@ -756,96 +684,10 @@ func file_sl_interface_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_interface_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceInfoMsgBw); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_interface_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceInfoMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_interface_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceNotifMsgEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_interface_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceNotifMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_interface_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceNotifMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_interface_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceNotifMsgErr); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_interface_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterfaceNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_interface_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_sl_interface_proto_msgTypes[1].OneofWrappers = []any{ (*SLInterfaceInfoMsg_BwInfo)(nil), } - file_sl_interface_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_sl_interface_proto_msgTypes[6].OneofWrappers = []any{ (*SLInterfaceNotif_Error)(nil), (*SLInterfaceNotif_Info)(nil), } @@ -853,7 +695,7 @@ func file_sl_interface_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_interface_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_interface_proto_rawDesc), len(file_sl_interface_proto_rawDesc)), NumEnums: 1, NumMessages: 7, NumExtensions: 0, @@ -865,7 +707,6 @@ func file_sl_interface_proto_init() { MessageInfos: file_sl_interface_proto_msgTypes, }.Build() File_sl_interface_proto = out.File - file_sl_interface_proto_rawDesc = nil file_sl_interface_proto_goTypes = nil file_sl_interface_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_interface_grpc.pb.go b/grpc/go/src/gengo/sl_interface_grpc.pb.go index 25010a0a..a1f2a06c 100644 --- a/grpc/go/src/gengo/sl_interface_grpc.pb.go +++ b/grpc/go/src/gengo/sl_interface_grpc.pb.go @@ -1,7 +1,17 @@ +// @file +// @brief Server RPC proto file for Interface handles. +// Declares an RPC that gets interface details. +// ---------------------------------------------------------------- +// Copyright (c) 2016 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_interface.proto package service_layer @@ -15,12 +25,21 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLInterfaceOper_SLInterfaceNotifStream_FullMethodName = "/service_layer.SLInterfaceOper/SLInterfaceNotifStream" +) // SLInterfaceOperClient is the client API for SLInterfaceOper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup Interfaces +// @brief Interface service definitions. +// Defines the RPC for getting interface status(es). +// @{ type SLInterfaceOperClient interface { // This call is used to get a stream of interface notifications. // The caller must maintain the GRPC channel as long as @@ -28,7 +47,7 @@ type SLInterfaceOperClient interface { // This call can be used to get "push" notifications for interface info. // It is advised that the caller register for notifications before any // interfaces are used to avoid any loss of notifications. - SLInterfaceNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLInterfaceOper_SLInterfaceNotifStreamClient, error) + SLInterfaceNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLInterfaceNotifMsg, SLInterfaceNotif], error) } type sLInterfaceOperClient struct { @@ -39,40 +58,27 @@ func NewSLInterfaceOperClient(cc grpc.ClientConnInterface) SLInterfaceOperClient return &sLInterfaceOperClient{cc} } -func (c *sLInterfaceOperClient) SLInterfaceNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLInterfaceOper_SLInterfaceNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLInterfaceOper_ServiceDesc.Streams[0], "/service_layer.SLInterfaceOper/SLInterfaceNotifStream", opts...) +func (c *sLInterfaceOperClient) SLInterfaceNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLInterfaceNotifMsg, SLInterfaceNotif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLInterfaceOper_ServiceDesc.Streams[0], SLInterfaceOper_SLInterfaceNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLInterfaceOperSLInterfaceNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLInterfaceNotifMsg, SLInterfaceNotif]{ClientStream: stream} return x, nil } -type SLInterfaceOper_SLInterfaceNotifStreamClient interface { - Send(*SLInterfaceNotifMsg) error - Recv() (*SLInterfaceNotif, error) - grpc.ClientStream -} - -type sLInterfaceOperSLInterfaceNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLInterfaceOperSLInterfaceNotifStreamClient) Send(m *SLInterfaceNotifMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLInterfaceOperSLInterfaceNotifStreamClient) Recv() (*SLInterfaceNotif, error) { - m := new(SLInterfaceNotif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLInterfaceOper_SLInterfaceNotifStreamClient = grpc.BidiStreamingClient[SLInterfaceNotifMsg, SLInterfaceNotif] // SLInterfaceOperServer is the server API for SLInterfaceOper service. // All implementations must embed UnimplementedSLInterfaceOperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup Interfaces +// @brief Interface service definitions. +// Defines the RPC for getting interface status(es). +// @{ type SLInterfaceOperServer interface { // This call is used to get a stream of interface notifications. // The caller must maintain the GRPC channel as long as @@ -80,18 +86,22 @@ type SLInterfaceOperServer interface { // This call can be used to get "push" notifications for interface info. // It is advised that the caller register for notifications before any // interfaces are used to avoid any loss of notifications. - SLInterfaceNotifStream(SLInterfaceOper_SLInterfaceNotifStreamServer) error + SLInterfaceNotifStream(grpc.BidiStreamingServer[SLInterfaceNotifMsg, SLInterfaceNotif]) error mustEmbedUnimplementedSLInterfaceOperServer() } -// UnimplementedSLInterfaceOperServer must be embedded to have forward compatible implementations. -type UnimplementedSLInterfaceOperServer struct { -} +// UnimplementedSLInterfaceOperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLInterfaceOperServer struct{} -func (UnimplementedSLInterfaceOperServer) SLInterfaceNotifStream(SLInterfaceOper_SLInterfaceNotifStreamServer) error { +func (UnimplementedSLInterfaceOperServer) SLInterfaceNotifStream(grpc.BidiStreamingServer[SLInterfaceNotifMsg, SLInterfaceNotif]) error { return status.Errorf(codes.Unimplemented, "method SLInterfaceNotifStream not implemented") } func (UnimplementedSLInterfaceOperServer) mustEmbedUnimplementedSLInterfaceOperServer() {} +func (UnimplementedSLInterfaceOperServer) testEmbeddedByValue() {} // UnsafeSLInterfaceOperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLInterfaceOperServer will @@ -101,34 +111,22 @@ type UnsafeSLInterfaceOperServer interface { } func RegisterSLInterfaceOperServer(s grpc.ServiceRegistrar, srv SLInterfaceOperServer) { + // If the following call pancis, it indicates UnimplementedSLInterfaceOperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLInterfaceOper_ServiceDesc, srv) } func _SLInterfaceOper_SLInterfaceNotifStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLInterfaceOperServer).SLInterfaceNotifStream(&sLInterfaceOperSLInterfaceNotifStreamServer{stream}) -} - -type SLInterfaceOper_SLInterfaceNotifStreamServer interface { - Send(*SLInterfaceNotif) error - Recv() (*SLInterfaceNotifMsg, error) - grpc.ServerStream + return srv.(SLInterfaceOperServer).SLInterfaceNotifStream(&grpc.GenericServerStream[SLInterfaceNotifMsg, SLInterfaceNotif]{ServerStream: stream}) } -type sLInterfaceOperSLInterfaceNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLInterfaceOperSLInterfaceNotifStreamServer) Send(m *SLInterfaceNotif) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLInterfaceOperSLInterfaceNotifStreamServer) Recv() (*SLInterfaceNotifMsg, error) { - m := new(SLInterfaceNotifMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLInterfaceOper_SLInterfaceNotifStreamServer = grpc.BidiStreamingServer[SLInterfaceNotifMsg, SLInterfaceNotif] // SLInterfaceOper_ServiceDesc is the grpc.ServiceDesc for SLInterfaceOper service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_l2_route.pb.go b/grpc/go/src/gengo/sl_l2_route.pb.go index 6f7c50b9..b69f7b39 100644 --- a/grpc/go/src/gengo/sl_l2_route.pb.go +++ b/grpc/go/src/gengo/sl_l2_route.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_l2_route.proto package service_layer @@ -21,6 +21,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -353,18 +354,16 @@ func (SLL2BdStateInfo_SLL2BdState) EnumDescriptor() ([]byte, []int) { // L2 Route Globals Get Message type SLL2GlobalsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2GlobalsGetMsg) Reset() { *x = SLL2GlobalsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2GlobalsGetMsg) String() string { @@ -375,7 +374,7 @@ func (*SLL2GlobalsGetMsg) ProtoMessage() {} func (x *SLL2GlobalsGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -392,25 +391,22 @@ func (*SLL2GlobalsGetMsg) Descriptor() ([]byte, []int) { // L2 Route Globals Get Message Response type SLL2GlobalsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code. ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Max BD registration objects within a single BdRegMsg. MaxBdRegPerBdRegmsg uint32 `protobuf:"varint,2,opt,name=MaxBdRegPerBdRegmsg,proto3" json:"MaxBdRegPerBdRegmsg,omitempty"` // Max Route objects within a single RouteMsg. MaxRoutePerRoutemsg uint32 `protobuf:"varint,3,opt,name=MaxRoutePerRoutemsg,proto3" json:"MaxRoutePerRoutemsg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2GlobalsGetMsgRsp) Reset() { *x = SLL2GlobalsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2GlobalsGetMsgRsp) String() string { @@ -421,7 +417,7 @@ func (*SLL2GlobalsGetMsgRsp) ProtoMessage() {} func (x *SLL2GlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -459,10 +455,7 @@ func (x *SLL2GlobalsGetMsgRsp) GetMaxRoutePerRoutemsg() uint32 { // Global L2 Registration Message type SLL2RegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Registration Operation. Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` // Default Admin distance for routes programmed by this application. @@ -478,15 +471,15 @@ type SLL2RegMsg struct { // // If the client does not need to program routes, set this value to 0. PurgeIntervalSeconds uint32 `protobuf:"varint,3,opt,name=PurgeIntervalSeconds,proto3" json:"PurgeIntervalSeconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RegMsg) Reset() { *x = SLL2RegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RegMsg) String() string { @@ -497,7 +490,7 @@ func (*SLL2RegMsg) ProtoMessage() {} func (x *SLL2RegMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -535,21 +528,18 @@ func (x *SLL2RegMsg) GetPurgeIntervalSeconds() uint32 { // Global L2 Registration message Response type SLL2RegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code. - RegStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=RegStatus,proto3" json:"RegStatus,omitempty"` + RegStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=RegStatus,proto3" json:"RegStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RegMsgRsp) Reset() { *x = SLL2RegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RegMsgRsp) String() string { @@ -560,7 +550,7 @@ func (*SLL2RegMsgRsp) ProtoMessage() {} func (x *SLL2RegMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -584,23 +574,20 @@ func (x *SLL2RegMsgRsp) GetRegStatus() *SLErrorStatus { // L2 Bridge-Domain (BD) Registration Messages type SLL2BdRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Registration Operation. Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` // List of BD names that client wants to register for. - BdRegName []string `protobuf:"bytes,2,rep,name=BdRegName,proto3" json:"BdRegName,omitempty"` + BdRegName []string `protobuf:"bytes,2,rep,name=BdRegName,proto3" json:"BdRegName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2BdRegMsg) Reset() { *x = SLL2BdRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2BdRegMsg) String() string { @@ -611,7 +598,7 @@ func (*SLL2BdRegMsg) ProtoMessage() {} func (x *SLL2BdRegMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -642,23 +629,20 @@ func (x *SLL2BdRegMsg) GetBdRegName() []string { // BD Registration message Result type SLL2BdRegRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code. ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // BD Name. - BdName string `protobuf:"bytes,2,opt,name=BdName,proto3" json:"BdName,omitempty"` + BdName string `protobuf:"bytes,2,opt,name=BdName,proto3" json:"BdName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2BdRegRes) Reset() { *x = SLL2BdRegRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2BdRegRes) String() string { @@ -669,7 +653,7 @@ func (*SLL2BdRegRes) ProtoMessage() {} func (x *SLL2BdRegRes) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -700,10 +684,7 @@ func (x *SLL2BdRegRes) GetBdName() string { // BD Registration message Response. type SLL2BdRegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -716,16 +697,16 @@ type SLL2BdRegMsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLL2BdRegRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLL2BdRegRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2BdRegMsgRsp) Reset() { *x = SLL2BdRegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2BdRegMsgRsp) String() string { @@ -736,7 +717,7 @@ func (*SLL2BdRegMsgRsp) ProtoMessage() {} func (x *SLL2BdRegMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -767,21 +748,18 @@ func (x *SLL2BdRegMsgRsp) GetResults() []*SLL2BdRegRes { // Ethernet Segment Identifier (ESI) type SLL2RouteEsi struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 10-bytes long ESI value - Esi []byte `protobuf:"bytes,1,opt,name=Esi,proto3" json:"Esi,omitempty"` + Esi []byte `protobuf:"bytes,1,opt,name=Esi,proto3" json:"Esi,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteEsi) Reset() { *x = SLL2RouteEsi{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteEsi) String() string { @@ -792,7 +770,7 @@ func (*SLL2RouteEsi) ProtoMessage() {} func (x *SLL2RouteEsi) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -816,27 +794,24 @@ func (x *SLL2RouteEsi) GetEsi() []byte { // Nexthop info type SLL2RouteNh struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` NhType SLL2RouteNh_SLL2RouteNhType `protobuf:"varint,1,opt,name=NhType,proto3,enum=service_layer.SLL2RouteNh_SLL2RouteNhType" json:"NhType,omitempty"` // Next Hop data based on type // - // Types that are assignable to NhData: + // Types that are valid to be assigned to NhData: // // *SLL2RouteNh_NhInterface // *SLL2RouteNh_NhOverlay - NhData isSLL2RouteNh_NhData `protobuf_oneof:"NhData"` + NhData isSLL2RouteNh_NhData `protobuf_oneof:"NhData"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteNh) Reset() { *x = SLL2RouteNh{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteNh) String() string { @@ -847,7 +822,7 @@ func (*SLL2RouteNh) ProtoMessage() {} func (x *SLL2RouteNh) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -869,23 +844,27 @@ func (x *SLL2RouteNh) GetNhType() SLL2RouteNh_SLL2RouteNhType { return SLL2RouteNh_SL_L2_NH_RESERVED } -func (m *SLL2RouteNh) GetNhData() isSLL2RouteNh_NhData { - if m != nil { - return m.NhData +func (x *SLL2RouteNh) GetNhData() isSLL2RouteNh_NhData { + if x != nil { + return x.NhData } return nil } func (x *SLL2RouteNh) GetNhInterface() *SLInterface { - if x, ok := x.GetNhData().(*SLL2RouteNh_NhInterface); ok { - return x.NhInterface + if x != nil { + if x, ok := x.NhData.(*SLL2RouteNh_NhInterface); ok { + return x.NhInterface + } } return nil } func (x *SLL2RouteNh) GetNhOverlay() *SLL2OverlayNh { - if x, ok := x.GetNhData().(*SLL2RouteNh_NhOverlay); ok { - return x.NhOverlay + if x != nil { + if x, ok := x.NhData.(*SLL2RouteNh_NhOverlay); ok { + return x.NhOverlay + } } return nil } @@ -914,10 +893,7 @@ func (*SLL2RouteNh_NhOverlay) isSLL2RouteNh_NhData() {} // Overlay nexthop info type SLL2OverlayNh struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv4 or IPv6 address OverlayNhIp *SLIpAddress `protobuf:"bytes,1,opt,name=OverlayNhIp,proto3" json:"OverlayNhIp,omitempty"` // Encap type @@ -932,15 +908,15 @@ type SLL2OverlayNh struct { OverlayNhL3Label []uint32 `protobuf:"varint,4,rep,packed,name=OverlayNhL3Label,proto3" json:"OverlayNhL3Label,omitempty"` // Router MAC OverlayNhRouterMac []byte `protobuf:"bytes,5,opt,name=OverlayNhRouterMac,proto3" json:"OverlayNhRouterMac,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2OverlayNh) Reset() { *x = SLL2OverlayNh{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2OverlayNh) String() string { @@ -951,7 +927,7 @@ func (*SLL2OverlayNh) ProtoMessage() {} func (x *SLL2OverlayNh) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1003,23 +979,20 @@ func (x *SLL2OverlayNh) GetOverlayNhRouterMac() []byte { // MAC route key type SLL2MacRouteKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Mac address MacAddress []byte `protobuf:"bytes,1,opt,name=MacAddress,proto3" json:"MacAddress,omitempty"` // IP address - IpAddress *SLIpAddress `protobuf:"bytes,2,opt,name=IpAddress,proto3" json:"IpAddress,omitempty"` + IpAddress *SLIpAddress `protobuf:"bytes,2,opt,name=IpAddress,proto3" json:"IpAddress,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2MacRouteKey) Reset() { *x = SLL2MacRouteKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2MacRouteKey) String() string { @@ -1030,7 +1003,7 @@ func (*SLL2MacRouteKey) ProtoMessage() {} func (x *SLL2MacRouteKey) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1061,10 +1034,7 @@ func (x *SLL2MacRouteKey) GetIpAddress() *SLIpAddress { // Type 2 EVPN MAC route type SLL2MacRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Mac route key RouteKey *SLL2MacRouteKey `protobuf:"bytes,1,opt,name=RouteKey,proto3" json:"RouteKey,omitempty"` // Sequence number @@ -1072,16 +1042,16 @@ type SLL2MacRoute struct { // ESI MacEsi *SLL2RouteEsi `protobuf:"bytes,3,opt,name=MacEsi,proto3" json:"MacEsi,omitempty"` // List of NHs for this host - NextHopList []*SLL2RouteNh `protobuf:"bytes,4,rep,name=NextHopList,proto3" json:"NextHopList,omitempty"` + NextHopList []*SLL2RouteNh `protobuf:"bytes,4,rep,name=NextHopList,proto3" json:"NextHopList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2MacRoute) Reset() { *x = SLL2MacRoute{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2MacRoute) String() string { @@ -1092,7 +1062,7 @@ func (*SLL2MacRoute) ProtoMessage() {} func (x *SLL2MacRoute) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1137,23 +1107,20 @@ func (x *SLL2MacRoute) GetNextHopList() []*SLL2RouteNh { // IMET route key type SLL2ImetRouteKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Ethernet Tag ID. EthTagId uint32 `protobuf:"varint,1,opt,name=EthTagId,proto3" json:"EthTagId,omitempty"` // Ipv4 or Ipv6 address - IpAddress *SLIpAddress `protobuf:"bytes,2,opt,name=IpAddress,proto3" json:"IpAddress,omitempty"` + IpAddress *SLIpAddress `protobuf:"bytes,2,opt,name=IpAddress,proto3" json:"IpAddress,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2ImetRouteKey) Reset() { *x = SLL2ImetRouteKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2ImetRouteKey) String() string { @@ -1164,7 +1131,7 @@ func (*SLL2ImetRouteKey) ProtoMessage() {} func (x *SLL2ImetRouteKey) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1195,10 +1162,7 @@ func (x *SLL2ImetRouteKey) GetIpAddress() *SLIpAddress { // Type-3 EVPN IMET Route type SLL2ImetRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IMET Route Key RouteKey *SLL2ImetRouteKey `protobuf:"bytes,1,opt,name=RouteKey,proto3" json:"RouteKey,omitempty"` // Encapsulation type (VXLAN or MPLS) @@ -1213,15 +1177,15 @@ type SLL2ImetRoute struct { // address of the local PE that is to be this PE's receiving // endpoint address for the tunnel. TunnelIdValue []byte `protobuf:"bytes,6,opt,name=TunnelIdValue,proto3" json:"TunnelIdValue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2ImetRoute) Reset() { *x = SLL2ImetRoute{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2ImetRoute) String() string { @@ -1232,7 +1196,7 @@ func (*SLL2ImetRoute) ProtoMessage() {} func (x *SLL2ImetRoute) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1291,30 +1255,27 @@ func (x *SLL2ImetRoute) GetTunnelIdValue() []byte { // L2 route key type SLL2RouteKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BD name BdName string `protobuf:"bytes,1,opt,name=BdName,proto3" json:"BdName,omitempty"` // L2 Route Type Type SLL2RouteType `protobuf:"varint,2,opt,name=Type,proto3,enum=service_layer.SLL2RouteType" json:"Type,omitempty"` // Further info based on Route Type // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLL2RouteKey_MacKey // *SLL2RouteKey_ImetKey - Event isSLL2RouteKey_Event `protobuf_oneof:"Event"` + Event isSLL2RouteKey_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteKey) Reset() { *x = SLL2RouteKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteKey) String() string { @@ -1325,7 +1286,7 @@ func (*SLL2RouteKey) ProtoMessage() {} func (x *SLL2RouteKey) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1354,23 +1315,27 @@ func (x *SLL2RouteKey) GetType() SLL2RouteType { return SLL2RouteType_SL_L2_ROUTE_RESERVED } -func (m *SLL2RouteKey) GetEvent() isSLL2RouteKey_Event { - if m != nil { - return m.Event +func (x *SLL2RouteKey) GetEvent() isSLL2RouteKey_Event { + if x != nil { + return x.Event } return nil } func (x *SLL2RouteKey) GetMacKey() *SLL2MacRouteKey { - if x, ok := x.GetEvent().(*SLL2RouteKey_MacKey); ok { - return x.MacKey + if x != nil { + if x, ok := x.Event.(*SLL2RouteKey_MacKey); ok { + return x.MacKey + } } return nil } func (x *SLL2RouteKey) GetImetKey() *SLL2ImetRouteKey { - if x, ok := x.GetEvent().(*SLL2RouteKey_ImetKey); ok { - return x.ImetKey + if x != nil { + if x, ok := x.Event.(*SLL2RouteKey_ImetKey); ok { + return x.ImetKey + } } return nil } @@ -1399,30 +1364,27 @@ func (*SLL2RouteKey_ImetKey) isSLL2RouteKey_Event() {} // L2 route type SLL2Route struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BD name BdName string `protobuf:"bytes,1,opt,name=BdName,proto3" json:"BdName,omitempty"` // L2 Route Type to be programmed Type SLL2RouteType `protobuf:"varint,2,opt,name=Type,proto3,enum=service_layer.SLL2RouteType" json:"Type,omitempty"` // Further info based on Route Type // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLL2Route_MacRoute // *SLL2Route_ImetRoute - Event isSLL2Route_Event `protobuf_oneof:"Event"` + Event isSLL2Route_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2Route) Reset() { *x = SLL2Route{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2Route) String() string { @@ -1433,7 +1395,7 @@ func (*SLL2Route) ProtoMessage() {} func (x *SLL2Route) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1462,23 +1424,27 @@ func (x *SLL2Route) GetType() SLL2RouteType { return SLL2RouteType_SL_L2_ROUTE_RESERVED } -func (m *SLL2Route) GetEvent() isSLL2Route_Event { - if m != nil { - return m.Event +func (x *SLL2Route) GetEvent() isSLL2Route_Event { + if x != nil { + return x.Event } return nil } func (x *SLL2Route) GetMacRoute() *SLL2MacRoute { - if x, ok := x.GetEvent().(*SLL2Route_MacRoute); ok { - return x.MacRoute + if x != nil { + if x, ok := x.Event.(*SLL2Route_MacRoute); ok { + return x.MacRoute + } } return nil } func (x *SLL2Route) GetImetRoute() *SLL2ImetRoute { - if x, ok := x.GetEvent().(*SLL2Route_ImetRoute); ok { - return x.ImetRoute + if x != nil { + if x, ok := x.Event.(*SLL2Route_ImetRoute); ok { + return x.ImetRoute + } } return nil } @@ -1507,10 +1473,7 @@ func (*SLL2Route_ImetRoute) isSLL2Route_Event() {} // Batch of L2 Routes for bulk download type SLL2RouteMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -1518,16 +1481,16 @@ type SLL2RouteMsg struct { Oper SLObjectOp `protobuf:"varint,2,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // List of L2 Routes // The list may contain routes from different BDs. - Routes []*SLL2Route `protobuf:"bytes,3,rep,name=Routes,proto3" json:"Routes,omitempty"` + Routes []*SLL2Route `protobuf:"bytes,3,rep,name=Routes,proto3" json:"Routes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteMsg) Reset() { *x = SLL2RouteMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteMsg) String() string { @@ -1538,7 +1501,7 @@ func (*SLL2RouteMsg) ProtoMessage() {} func (x *SLL2RouteMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1576,23 +1539,20 @@ func (x *SLL2RouteMsg) GetRoutes() []*SLL2Route { // L2 route result, uniquely identified by BD + L2 route key type SLL2RouteRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // L2 Route Key - RouteKey *SLL2RouteKey `protobuf:"bytes,2,opt,name=RouteKey,proto3" json:"RouteKey,omitempty"` + RouteKey *SLL2RouteKey `protobuf:"bytes,2,opt,name=RouteKey,proto3" json:"RouteKey,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteRes) Reset() { *x = SLL2RouteRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteRes) String() string { @@ -1603,7 +1563,7 @@ func (*SLL2RouteRes) ProtoMessage() {} func (x *SLL2RouteRes) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1634,10 +1594,7 @@ func (x *SLL2RouteRes) GetRouteKey() *SLL2RouteKey { // L2 bulk download response type SLL2RouteMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -1653,16 +1610,16 @@ type SLL2RouteMsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,2,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLL2RouteRes `protobuf:"bytes,3,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLL2RouteRes `protobuf:"bytes,3,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteMsgRsp) Reset() { *x = SLL2RouteMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteMsgRsp) String() string { @@ -1673,7 +1630,7 @@ func (*SLL2RouteMsgRsp) ProtoMessage() {} func (x *SLL2RouteMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1711,10 +1668,7 @@ func (x *SLL2RouteMsgRsp) GetResults() []*SLL2RouteRes { // L2 Get Notifications message. type SLL2GetNotifMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Oper = SL_NOTIFOP_ENABLE // // This is to enable route notifications @@ -1734,20 +1688,20 @@ type SLL2GetNotifMsg struct { // The client can send this after receiving // SL_L2_EVENT_TYPE_BD_STATE_END_MARKER. GetNotifEof bool `protobuf:"varint,3,opt,name=GetNotifEof,proto3" json:"GetNotifEof,omitempty"` - // Types that are assignable to Request: + // Types that are valid to be assigned to Request: // // *SLL2GetNotifMsg_BdAll // *SLL2GetNotifMsg_BdName - Request isSLL2GetNotifMsg_Request `protobuf_oneof:"Request"` + Request isSLL2GetNotifMsg_Request `protobuf_oneof:"Request"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2GetNotifMsg) Reset() { *x = SLL2GetNotifMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2GetNotifMsg) String() string { @@ -1758,7 +1712,7 @@ func (*SLL2GetNotifMsg) ProtoMessage() {} func (x *SLL2GetNotifMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1794,23 +1748,27 @@ func (x *SLL2GetNotifMsg) GetGetNotifEof() bool { return false } -func (m *SLL2GetNotifMsg) GetRequest() isSLL2GetNotifMsg_Request { - if m != nil { - return m.Request +func (x *SLL2GetNotifMsg) GetRequest() isSLL2GetNotifMsg_Request { + if x != nil { + return x.Request } return nil } func (x *SLL2GetNotifMsg) GetBdAll() bool { - if x, ok := x.GetRequest().(*SLL2GetNotifMsg_BdAll); ok { - return x.BdAll + if x != nil { + if x, ok := x.Request.(*SLL2GetNotifMsg_BdAll); ok { + return x.BdAll + } } return false } func (x *SLL2GetNotifMsg) GetBdName() string { - if x, ok := x.GetRequest().(*SLL2GetNotifMsg_BdName); ok { - return x.BdName + if x != nil { + if x, ok := x.Request.(*SLL2GetNotifMsg_BdName); ok { + return x.BdName + } } return "" } @@ -1836,23 +1794,20 @@ func (*SLL2GetNotifMsg_BdName) isSLL2GetNotifMsg_Request() {} // L2 Route notification type SLL2RouteNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Route Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // L2 route - Routes *SLL2Route `protobuf:"bytes,2,opt,name=Routes,proto3" json:"Routes,omitempty"` + Routes *SLL2Route `protobuf:"bytes,2,opt,name=Routes,proto3" json:"Routes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2RouteNotif) Reset() { *x = SLL2RouteNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2RouteNotif) String() string { @@ -1863,7 +1818,7 @@ func (*SLL2RouteNotif) ProtoMessage() {} func (x *SLL2RouteNotif) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1894,22 +1849,19 @@ func (x *SLL2RouteNotif) GetRoutes() *SLL2Route { // Bridge-Domain (BD) state info type SLL2BdStateInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // BD name - BdName string `protobuf:"bytes,1,opt,name=BdName,proto3" json:"BdName,omitempty"` - BdState SLL2BdStateInfo_SLL2BdState `protobuf:"varint,2,opt,name=BdState,proto3,enum=service_layer.SLL2BdStateInfo_SLL2BdState" json:"BdState,omitempty"` + BdName string `protobuf:"bytes,1,opt,name=BdName,proto3" json:"BdName,omitempty"` + BdState SLL2BdStateInfo_SLL2BdState `protobuf:"varint,2,opt,name=BdState,proto3,enum=service_layer.SLL2BdStateInfo_SLL2BdState" json:"BdState,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2BdStateInfo) Reset() { *x = SLL2BdStateInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2BdStateInfo) String() string { @@ -1920,7 +1872,7 @@ func (*SLL2BdStateInfo) ProtoMessage() {} func (x *SLL2BdStateInfo) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1951,10 +1903,7 @@ func (x *SLL2BdStateInfo) GetBdState() SLL2BdStateInfo_SLL2BdState { // L2 Notification Status message type SLL2NotifStatusMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Notification Operation in the request Oper SLNotifOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLNotifOp" json:"Oper,omitempty"` // Correlator in the request. @@ -1968,16 +1917,16 @@ type SLL2NotifStatusMsg struct { // // If BdName is passed, it implies that notifications for the BD // will not be sent. - NotifStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=NotifStatus,proto3" json:"NotifStatus,omitempty"` + NotifStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=NotifStatus,proto3" json:"NotifStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2NotifStatusMsg) Reset() { *x = SLL2NotifStatusMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2NotifStatusMsg) String() string { @@ -1988,7 +1937,7 @@ func (*SLL2NotifStatusMsg) ProtoMessage() {} func (x *SLL2NotifStatusMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2033,30 +1982,27 @@ func (x *SLL2NotifStatusMsg) GetNotifStatus() *SLErrorStatus { // L2 Notification. type SLL2Notif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // L2 Notification type EventType SLL2NotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=service_layer.SLL2NotifType" json:"EventType,omitempty"` // Further info based on EventType // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLL2Notif_ErrStatus // *SLL2Notif_NotifStatus // *SLL2Notif_BdStateInfo // *SLL2Notif_Route - Event isSLL2Notif_Event `protobuf_oneof:"Event"` + Event isSLL2Notif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLL2Notif) Reset() { *x = SLL2Notif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_l2_route_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_l2_route_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLL2Notif) String() string { @@ -2067,7 +2013,7 @@ func (*SLL2Notif) ProtoMessage() {} func (x *SLL2Notif) ProtoReflect() protoreflect.Message { mi := &file_sl_l2_route_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2089,37 +2035,45 @@ func (x *SLL2Notif) GetEventType() SLL2NotifType { return SLL2NotifType_SL_L2_EVENT_TYPE_RESERVED } -func (m *SLL2Notif) GetEvent() isSLL2Notif_Event { - if m != nil { - return m.Event +func (x *SLL2Notif) GetEvent() isSLL2Notif_Event { + if x != nil { + return x.Event } return nil } func (x *SLL2Notif) GetErrStatus() *SLErrorStatus { - if x, ok := x.GetEvent().(*SLL2Notif_ErrStatus); ok { - return x.ErrStatus + if x != nil { + if x, ok := x.Event.(*SLL2Notif_ErrStatus); ok { + return x.ErrStatus + } } return nil } func (x *SLL2Notif) GetNotifStatus() *SLL2NotifStatusMsg { - if x, ok := x.GetEvent().(*SLL2Notif_NotifStatus); ok { - return x.NotifStatus + if x != nil { + if x, ok := x.Event.(*SLL2Notif_NotifStatus); ok { + return x.NotifStatus + } } return nil } func (x *SLL2Notif) GetBdStateInfo() *SLL2BdStateInfo { - if x, ok := x.GetEvent().(*SLL2Notif_BdStateInfo); ok { - return x.BdStateInfo + if x != nil { + if x, ok := x.Event.(*SLL2Notif_BdStateInfo); ok { + return x.BdStateInfo + } } return nil } func (x *SLL2Notif) GetRoute() *SLL2RouteNotif { - if x, ok := x.GetEvent().(*SLL2Notif_Route); ok { - return x.Route + if x != nil { + if x, ok := x.Event.(*SLL2Notif_Route); ok { + return x.Route + } } return nil } @@ -2167,358 +2121,175 @@ func (*SLL2Notif_Route) isSLL2Notif_Event() {} var File_sl_l2_route_proto protoreflect.FileDescriptor -var file_sl_l2_route_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x73, 0x6c, 0x5f, 0x6c, 0x32, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x4c, 0x4c, - 0x32, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xb6, - 0x01, 0x0a, 0x14, 0x53, 0x4c, 0x4c, 0x32, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 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, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x42, 0x64, 0x52, 0x65, 0x67, 0x50, - 0x65, 0x72, 0x42, 0x64, 0x52, 0x65, 0x67, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x13, 0x4d, 0x61, 0x78, 0x42, 0x64, 0x52, 0x65, 0x67, 0x50, 0x65, 0x72, 0x42, 0x64, 0x52, - 0x65, 0x67, 0x6d, 0x73, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x65, 0x72, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0a, 0x53, 0x4c, 0x4c, 0x32, - 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, 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, 0x32, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x4b, 0x0a, 0x0d, - 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, - 0x09, 0x52, 0x65, 0x67, 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, - 0x52, 0x65, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x58, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, - 0x32, 0x42, 0x64, 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, 0x1c, 0x0a, 0x09, 0x42, 0x64, 0x52, 0x65, 0x67, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x42, 0x64, 0x52, 0x65, 0x67, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, 0x32, 0x42, 0x64, 0x52, 0x65, 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, - 0x16, 0x0a, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x4c, 0x32, - 0x42, 0x64, 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, - 0x35, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x42, 0x64, 0x52, 0x65, 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x20, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x45, 0x73, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x73, 0x69, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x03, 0x45, 0x73, 0x69, 0x22, 0xb1, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x4c, - 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x68, 0x12, 0x42, 0x0a, 0x06, 0x4e, 0x68, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x4e, 0x68, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x68, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x4e, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0b, - 0x4e, 0x68, 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, 0x48, 0x00, 0x52, - 0x0b, 0x4e, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x09, - 0x4e, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 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, 0x4c, 0x32, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x48, 0x00, 0x52, - 0x09, 0x4e, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, 0x56, 0x0a, 0x0f, 0x53, 0x4c, - 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, - 0x11, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x48, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x48, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x4e, 0x48, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, - 0x10, 0x02, 0x42, 0x08, 0x0a, 0x06, 0x4e, 0x68, 0x44, 0x61, 0x74, 0x61, 0x22, 0x95, 0x02, 0x0a, - 0x0d, 0x53, 0x4c, 0x4c, 0x32, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x12, 0x3c, - 0x0a, 0x0b, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x49, 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, - 0x0b, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x49, 0x70, 0x12, 0x42, 0x0a, 0x0e, - 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x45, 0x6e, 0x63, 0x61, 0x70, 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, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x45, 0x6e, 0x63, 0x61, 0x70, - 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, - 0x79, 0x4e, 0x68, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x76, 0x65, 0x72, - 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x4c, 0x33, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x10, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x4c, 0x33, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, - 0x68, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x12, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x68, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x4d, 0x61, 0x63, 0x22, 0x6b, 0x0a, 0x0f, 0x53, 0x4c, 0x4c, 0x32, 0x4d, 0x61, 0x63, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x4d, 0x61, 0x63, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 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, 0x09, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, 0x32, 0x4d, 0x61, 0x63, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 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, 0x4c, 0x32, 0x4d, 0x61, 0x63, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, - 0x0a, 0x0b, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, - 0x12, 0x33, 0x0a, 0x06, 0x4d, 0x61, 0x63, 0x45, 0x73, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x73, 0x69, 0x52, 0x06, 0x4d, - 0x61, 0x63, 0x45, 0x73, 0x69, 0x12, 0x3c, 0x0a, 0x0b, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 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, 0x4c, 0x32, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x68, 0x52, 0x0b, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x68, 0x0a, 0x10, 0x53, 0x4c, 0x4c, 0x32, 0x49, 0x6d, 0x65, 0x74, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x74, 0x68, 0x54, 0x61, - 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x45, 0x74, 0x68, 0x54, 0x61, - 0x67, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 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, 0x09, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8e, 0x04, - 0x0a, 0x0d, 0x53, 0x4c, 0x4c, 0x32, 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, - 0x3b, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 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, 0x4c, 0x32, 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x09, - 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 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, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x45, 0x6e, 0x63, - 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x4b, 0x0a, 0x0a, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x50, - 0x4d, 0x53, 0x49, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x0e, 0x50, 0x4d, 0x53, 0x49, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x4d, - 0x53, 0x49, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x18, - 0x0a, 0x14, 0x50, 0x4d, 0x53, 0x49, 0x5f, 0x52, 0x53, 0x56, 0x50, 0x50, 0x32, 0x4d, 0x50, 0x5f, - 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4d, 0x53, 0x49, - 0x5f, 0x4d, 0x4c, 0x44, 0x50, 0x50, 0x32, 0x4d, 0x50, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, - 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x4d, 0x53, 0x49, 0x5f, 0x50, 0x49, 0x4d, 0x53, 0x53, - 0x4d, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x4d, - 0x53, 0x49, 0x5f, 0x50, 0x49, 0x4d, 0x53, 0x4d, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, - 0x04, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4d, 0x53, 0x49, 0x5f, 0x50, 0x49, 0x4d, 0x42, 0x49, 0x44, - 0x49, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x50, - 0x4d, 0x53, 0x49, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x50, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, - 0x4c, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4d, 0x53, 0x49, 0x5f, 0x4d, 0x4c, 0x44, 0x50, - 0x4d, 0x50, 0x32, 0x4d, 0x50, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x07, 0x22, 0xd8, - 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 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, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x4d, 0x61, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x4d, 0x61, - 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x06, 0x4d, 0x61, 0x63, - 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x07, 0x49, 0x6d, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x07, 0x49, 0x6d, 0x65, 0x74, 0x4b, 0x65, 0x79, - 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xd7, 0x01, 0x0a, 0x09, 0x53, 0x4c, - 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x30, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 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, - 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x39, 0x0a, 0x08, 0x4d, 0x61, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x4d, 0x61, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x08, 0x4d, 0x61, 0x63, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x09, - 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 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, 0x4c, 0x32, 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, - 0x09, 0x49, 0x6d, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, - 0x65, 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, 0x2d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 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, 0x04, 0x4f, - 0x70, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 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, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, - 0x75, 0x74, 0x65, 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, 0x37, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xac, 0x01, 0x0a, 0x0f, - 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 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, - 0x42, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 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, 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, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x0f, 0x53, - 0x4c, 0x4c, 0x32, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 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, 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, 0x20, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x45, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x45, 0x6f, 0x66, 0x12, 0x16, - 0x0a, 0x05, 0x42, 0x64, 0x41, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x05, 0x42, 0x64, 0x41, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x42, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x71, 0x0a, 0x0e, 0x53, - 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 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, 0x30, 0x0a, 0x06, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 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, 0x4c, - 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xf4, - 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x4c, 0x32, 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x42, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x42, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, - 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x4c, 0x4c, 0x32, - 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x22, 0x82, 0x01, 0x0a, 0x0b, 0x53, 0x4c, 0x4c, 0x32, 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, - 0x14, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4c, 0x32, - 0x5f, 0x42, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x42, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x45, 0x45, - 0x44, 0x45, 0x44, 0x10, 0x03, 0x22, 0xba, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x4c, 0x32, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 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, 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, 0x16, 0x0a, 0x06, 0x42, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x42, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 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, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xd0, 0x02, 0x0a, 0x09, 0x53, 0x4c, 0x4c, 0x32, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x12, 0x3a, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 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, 0x4c, 0x32, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, - 0x73, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 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, 0x4c, 0x32, 0x42, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x42, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x48, 0x00, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2a, 0x54, 0x0a, 0x0d, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x4d, 0x41, 0x43, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x52, - 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4d, 0x45, 0x54, 0x10, 0x02, 0x2a, 0x96, 0x02, 0x0a, 0x0d, - 0x53, 0x4c, 0x4c, 0x32, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, - 0x19, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x4c, - 0x32, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 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, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4c, - 0x32, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4c, 0x32, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x52, 0x10, - 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x06, 0x12, 0x25, 0x0a, - 0x21, 0x53, 0x4c, 0x5f, 0x4c, 0x32, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4d, 0x41, 0x52, 0x4b, - 0x45, 0x52, 0x10, 0x07, 0x32, 0xeb, 0x03, 0x0a, 0x08, 0x53, 0x4c, 0x4c, 0x32, 0x4f, 0x70, 0x65, - 0x72, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x4c, 0x4c, 0x32, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, - 0x47, 0x65, 0x74, 0x12, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, - 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x09, 0x53, 0x4c, - 0x4c, 0x32, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x65, 0x67, 0x4d, - 0x73, 0x67, 0x1a, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, - 0x12, 0x4a, 0x0a, 0x0b, 0x53, 0x4c, 0x4c, 0x32, 0x42, 0x64, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, - 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x4c, 0x32, 0x42, 0x64, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, - 0x32, 0x42, 0x64, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0b, - 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x12, 0x1b, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x53, 0x4c, 0x4c, 0x32, - 0x52, 0x6f, 0x75, 0x74, 0x65, 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, - 0x4c, 0x32, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x52, - 0x0a, 0x12, 0x53, 0x4c, 0x4c, 0x32, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 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, 0x4c, 0x32, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x4d, 0x73, 0x67, 0x1a, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4c, 0x32, 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, -} +const file_sl_l2_route_proto_rawDesc = "" + + "\n" + + "\x11sl_l2_route.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x13\n" + + "\x11SLL2GlobalsGetMsg\"\xb6\x01\n" + + "\x14SLL2GlobalsGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x120\n" + + "\x13MaxBdRegPerBdRegmsg\x18\x02 \x01(\rR\x13MaxBdRegPerBdRegmsg\x120\n" + + "\x13MaxRoutePerRoutemsg\x18\x03 \x01(\rR\x13MaxRoutePerRoutemsg\"\x92\x01\n" + + "\n" + + "SLL2RegMsg\x12*\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x16.service_layer.SLRegOpR\x04Oper\x12$\n" + + "\rAdminDistance\x18\x02 \x01(\rR\rAdminDistance\x122\n" + + "\x14PurgeIntervalSeconds\x18\x03 \x01(\rR\x14PurgeIntervalSeconds\"K\n" + + "\rSLL2RegMsgRsp\x12:\n" + + "\tRegStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tRegStatus\"X\n" + + "\fSLL2BdRegMsg\x12*\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x16.service_layer.SLRegOpR\x04Oper\x12\x1c\n" + + "\tBdRegName\x18\x02 \x03(\tR\tBdRegName\"b\n" + + "\fSLL2BdRegRes\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x16\n" + + "\x06BdName\x18\x02 \x01(\tR\x06BdName\"\x8c\x01\n" + + "\x0fSLL2BdRegMsgRsp\x12B\n" + + "\rStatusSummary\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x125\n" + + "\aResults\x18\x02 \x03(\v2\x1b.service_layer.SLL2BdRegResR\aResults\" \n" + + "\fSLL2RouteEsi\x12\x10\n" + + "\x03Esi\x18\x01 \x01(\fR\x03Esi\"\xb1\x02\n" + + "\vSLL2RouteNh\x12B\n" + + "\x06NhType\x18\x01 \x01(\x0e2*.service_layer.SLL2RouteNh.SLL2RouteNhTypeR\x06NhType\x12>\n" + + "\vNhInterface\x18\x02 \x01(\v2\x1a.service_layer.SLInterfaceH\x00R\vNhInterface\x12<\n" + + "\tNhOverlay\x18\x03 \x01(\v2\x1c.service_layer.SLL2OverlayNhH\x00R\tNhOverlay\"V\n" + + "\x0fSLL2RouteNhType\x12\x15\n" + + "\x11SL_L2_NH_RESERVED\x10\x00\x12\x16\n" + + "\x12SL_L2_NH_INTERFACE\x10\x01\x12\x14\n" + + "\x10SL_L2_NH_OVERLAY\x10\x02B\b\n" + + "\x06NhData\"\x95\x02\n" + + "\rSLL2OverlayNh\x12<\n" + + "\vOverlayNhIp\x18\x01 \x01(\v2\x1a.service_layer.SLIpAddressR\vOverlayNhIp\x12B\n" + + "\x0eOverlayNhEncap\x18\x02 \x01(\x0e2\x1a.service_layer.SLEncapTypeR\x0eOverlayNhEncap\x12&\n" + + "\x0eOverlayNhLabel\x18\x03 \x01(\rR\x0eOverlayNhLabel\x12*\n" + + "\x10OverlayNhL3Label\x18\x04 \x03(\rR\x10OverlayNhL3Label\x12.\n" + + "\x12OverlayNhRouterMac\x18\x05 \x01(\fR\x12OverlayNhRouterMac\"k\n" + + "\x0fSLL2MacRouteKey\x12\x1e\n" + + "\n" + + "MacAddress\x18\x01 \x01(\fR\n" + + "MacAddress\x128\n" + + "\tIpAddress\x18\x02 \x01(\v2\x1a.service_layer.SLIpAddressR\tIpAddress\"\xdf\x01\n" + + "\fSLL2MacRoute\x12:\n" + + "\bRouteKey\x18\x01 \x01(\v2\x1e.service_layer.SLL2MacRouteKeyR\bRouteKey\x12 \n" + + "\vSequenceNum\x18\x02 \x01(\rR\vSequenceNum\x123\n" + + "\x06MacEsi\x18\x03 \x01(\v2\x1b.service_layer.SLL2RouteEsiR\x06MacEsi\x12<\n" + + "\vNextHopList\x18\x04 \x03(\v2\x1a.service_layer.SLL2RouteNhR\vNextHopList\"h\n" + + "\x10SLL2ImetRouteKey\x12\x1a\n" + + "\bEthTagId\x18\x01 \x01(\rR\bEthTagId\x128\n" + + "\tIpAddress\x18\x02 \x01(\v2\x1a.service_layer.SLIpAddressR\tIpAddress\"\x8e\x04\n" + + "\rSLL2ImetRoute\x12;\n" + + "\bRouteKey\x18\x01 \x01(\v2\x1f.service_layer.SLL2ImetRouteKeyR\bRouteKey\x128\n" + + "\tEncapType\x18\x02 \x01(\x0e2\x1a.service_layer.SLEncapTypeR\tEncapType\x12\x14\n" + + "\x05Label\x18\x03 \x01(\rR\x05Label\x12K\n" + + "\n" + + "TunnelType\x18\x04 \x01(\x0e2+.service_layer.SLL2ImetRoute.PMSITunnelTypeR\n" + + "TunnelType\x12&\n" + + "\x0eTunnelIdLength\x18\x05 \x01(\rR\x0eTunnelIdLength\x12$\n" + + "\rTunnelIdValue\x18\x06 \x01(\fR\rTunnelIdValue\"\xd4\x01\n" + + "\x0ePMSITunnelType\x12\x12\n" + + "\x0ePMSI_NO_TUNNEL\x10\x00\x12\x18\n" + + "\x14PMSI_RSVPP2MP_TUNNEL\x10\x01\x12\x18\n" + + "\x14PMSI_MLDPP2MP_TUNNEL\x10\x02\x12\x16\n" + + "\x12PMSI_PIMSSM_TUNNEL\x10\x03\x12\x15\n" + + "\x11PMSI_PIMSM_TUNNEL\x10\x04\x12\x18\n" + + "\x14PMSI_PIMBIDIR_TUNNEL\x10\x05\x12\x16\n" + + "\x12PMSI_INGREP_TUNNEL\x10\x06\x12\x19\n" + + "\x15PMSI_MLDPMP2MP_TUNNEL\x10\a\"\xd8\x01\n" + + "\fSLL2RouteKey\x12\x16\n" + + "\x06BdName\x18\x01 \x01(\tR\x06BdName\x120\n" + + "\x04Type\x18\x02 \x01(\x0e2\x1c.service_layer.SLL2RouteTypeR\x04Type\x128\n" + + "\x06MacKey\x18\x03 \x01(\v2\x1e.service_layer.SLL2MacRouteKeyH\x00R\x06MacKey\x12;\n" + + "\aImetKey\x18\x04 \x01(\v2\x1f.service_layer.SLL2ImetRouteKeyH\x00R\aImetKeyB\a\n" + + "\x05Event\"\xd7\x01\n" + + "\tSLL2Route\x12\x16\n" + + "\x06BdName\x18\x01 \x01(\tR\x06BdName\x120\n" + + "\x04Type\x18\x02 \x01(\x0e2\x1c.service_layer.SLL2RouteTypeR\x04Type\x129\n" + + "\bMacRoute\x18\x03 \x01(\v2\x1b.service_layer.SLL2MacRouteH\x00R\bMacRoute\x12<\n" + + "\tImetRoute\x18\x04 \x01(\v2\x1c.service_layer.SLL2ImetRouteH\x00R\tImetRouteB\a\n" + + "\x05Event\"\x8f\x01\n" + + "\fSLL2RouteMsg\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12-\n" + + "\x04Oper\x18\x02 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x120\n" + + "\x06Routes\x18\x03 \x03(\v2\x18.service_layer.SLL2RouteR\x06Routes\"\x83\x01\n" + + "\fSLL2RouteRes\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x127\n" + + "\bRouteKey\x18\x02 \x01(\v2\x1b.service_layer.SLL2RouteKeyR\bRouteKey\"\xac\x01\n" + + "\x0fSLL2RouteMsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12B\n" + + "\rStatusSummary\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x125\n" + + "\aResults\x18\x03 \x03(\v2\x1b.service_layer.SLL2RouteResR\aResults\"\xbe\x01\n" + + "\x0fSLL2GetNotifMsg\x12,\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x18.service_layer.SLNotifOpR\x04Oper\x12\x1e\n" + + "\n" + + "Correlator\x18\x02 \x01(\x04R\n" + + "Correlator\x12 \n" + + "\vGetNotifEof\x18\x03 \x01(\bR\vGetNotifEof\x12\x16\n" + + "\x05BdAll\x18\x04 \x01(\bH\x00R\x05BdAll\x12\x18\n" + + "\x06BdName\x18\x05 \x01(\tH\x00R\x06BdNameB\t\n" + + "\aRequest\"q\n" + + "\x0eSLL2RouteNotif\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x120\n" + + "\x06Routes\x18\x02 \x01(\v2\x18.service_layer.SLL2RouteR\x06Routes\"\xf4\x01\n" + + "\x0fSLL2BdStateInfo\x12\x16\n" + + "\x06BdName\x18\x01 \x01(\tR\x06BdName\x12D\n" + + "\aBdState\x18\x02 \x01(\x0e2*.service_layer.SLL2BdStateInfo.SLL2BdStateR\aBdState\"\x82\x01\n" + + "\vSLL2BdState\x12\x1b\n" + + "\x17SL_L2_BD_STATE_RESERVED\x10\x00\x12\x18\n" + + "\x14SL_L2_BD_STATE_ADDED\x10\x01\x12\x1a\n" + + "\x16SL_L2_BD_STATE_DELETED\x10\x02\x12 \n" + + "\x1cSL_L2_BD_STATE_REPLAY_NEEDED\x10\x03\"\xba\x01\n" + + "\x12SLL2NotifStatusMsg\x12,\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x18.service_layer.SLNotifOpR\x04Oper\x12\x1e\n" + + "\n" + + "Correlator\x18\x02 \x01(\x04R\n" + + "Correlator\x12\x16\n" + + "\x06BdName\x18\x03 \x01(\tR\x06BdName\x12>\n" + + "\vNotifStatus\x18\x04 \x01(\v2\x1c.service_layer.SLErrorStatusR\vNotifStatus\"\xd0\x02\n" + + "\tSLL2Notif\x12:\n" + + "\tEventType\x18\x01 \x01(\x0e2\x1c.service_layer.SLL2NotifTypeR\tEventType\x12<\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\tErrStatus\x12E\n" + + "\vNotifStatus\x18\x03 \x01(\v2!.service_layer.SLL2NotifStatusMsgH\x00R\vNotifStatus\x12B\n" + + "\vBdStateInfo\x18\x04 \x01(\v2\x1e.service_layer.SLL2BdStateInfoH\x00R\vBdStateInfo\x125\n" + + "\x05Route\x18\x05 \x01(\v2\x1d.service_layer.SLL2RouteNotifH\x00R\x05RouteB\a\n" + + "\x05Event*T\n" + + "\rSLL2RouteType\x12\x18\n" + + "\x14SL_L2_ROUTE_RESERVED\x10\x00\x12\x13\n" + + "\x0fSL_L2_ROUTE_MAC\x10\x01\x12\x14\n" + + "\x10SL_L2_ROUTE_IMET\x10\x02*\x96\x02\n" + + "\rSLL2NotifType\x12\x1d\n" + + "\x19SL_L2_EVENT_TYPE_RESERVED\x10\x00\x12\x1a\n" + + "\x16SL_L2_EVENT_TYPE_ERROR\x10\x01\x12\x1b\n" + + "\x17SL_L2_EVENT_TYPE_STATUS\x10\x02\x12!\n" + + "\x1dSL_L2_EVENT_TYPE_START_MARKER\x10\x03\x12\x1d\n" + + "\x19SL_L2_EVENT_TYPE_BD_STATE\x10\x04\x12(\n" + + "$SL_L2_EVENT_TYPE_BD_STATE_END_MARKER\x10\x05\x12\x1a\n" + + "\x16SL_L2_EVENT_TYPE_ROUTE\x10\x06\x12%\n" + + "!SL_L2_EVENT_TYPE_ROUTE_END_MARKER\x10\a2\xeb\x03\n" + + "\bSLL2Oper\x12W\n" + + "\x0eSLL2GlobalsGet\x12 .service_layer.SLL2GlobalsGetMsg\x1a#.service_layer.SLL2GlobalsGetMsgRsp\x12D\n" + + "\tSLL2RegOp\x12\x19.service_layer.SLL2RegMsg\x1a\x1c.service_layer.SLL2RegMsgRsp\x12J\n" + + "\vSLL2BdRegOp\x12\x1b.service_layer.SLL2BdRegMsg\x1a\x1e.service_layer.SLL2BdRegMsgRsp\x12J\n" + + "\vSLL2RouteOp\x12\x1b.service_layer.SLL2RouteMsg\x1a\x1e.service_layer.SLL2RouteMsgRsp\x12T\n" + + "\x11SLL2RouteOpStream\x12\x1b.service_layer.SLL2RouteMsg\x1a\x1e.service_layer.SLL2RouteMsgRsp(\x010\x01\x12R\n" + + "\x12SLL2GetNotifStream\x12\x1e.service_layer.SLL2GetNotifMsg\x1a\x18.service_layer.SLL2Notif(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_l2_route_proto_rawDescOnce sync.Once - file_sl_l2_route_proto_rawDescData = file_sl_l2_route_proto_rawDesc + file_sl_l2_route_proto_rawDescData []byte ) func file_sl_l2_route_proto_rawDescGZIP() []byte { file_sl_l2_route_proto_rawDescOnce.Do(func() { - file_sl_l2_route_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_l2_route_proto_rawDescData) + file_sl_l2_route_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_l2_route_proto_rawDesc), len(file_sl_l2_route_proto_rawDesc))) }) return file_sl_l2_route_proto_rawDescData } var file_sl_l2_route_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_sl_l2_route_proto_msgTypes = make([]protoimpl.MessageInfo, 24) -var file_sl_l2_route_proto_goTypes = []interface{}{ +var file_sl_l2_route_proto_goTypes = []any{ (SLL2RouteType)(0), // 0: service_layer.SLL2RouteType (SLL2NotifType)(0), // 1: service_layer.SLL2NotifType (SLL2RouteNh_SLL2RouteNhType)(0), // 2: service_layer.SLL2RouteNh.SLL2RouteNhType @@ -2625,313 +2396,23 @@ func file_sl_l2_route_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_l2_route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2GlobalsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2GlobalsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2BdRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2BdRegRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2BdRegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteEsi); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteNh); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2OverlayNh); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2MacRouteKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2MacRoute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2ImetRouteKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2ImetRoute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2Route); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2GetNotifMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2RouteNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2BdStateInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2NotifStatusMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_l2_route_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLL2Notif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_l2_route_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_sl_l2_route_proto_msgTypes[8].OneofWrappers = []any{ (*SLL2RouteNh_NhInterface)(nil), (*SLL2RouteNh_NhOverlay)(nil), } - file_sl_l2_route_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_sl_l2_route_proto_msgTypes[14].OneofWrappers = []any{ (*SLL2RouteKey_MacKey)(nil), (*SLL2RouteKey_ImetKey)(nil), } - file_sl_l2_route_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_sl_l2_route_proto_msgTypes[15].OneofWrappers = []any{ (*SLL2Route_MacRoute)(nil), (*SLL2Route_ImetRoute)(nil), } - file_sl_l2_route_proto_msgTypes[19].OneofWrappers = []interface{}{ + file_sl_l2_route_proto_msgTypes[19].OneofWrappers = []any{ (*SLL2GetNotifMsg_BdAll)(nil), (*SLL2GetNotifMsg_BdName)(nil), } - file_sl_l2_route_proto_msgTypes[23].OneofWrappers = []interface{}{ + file_sl_l2_route_proto_msgTypes[23].OneofWrappers = []any{ (*SLL2Notif_ErrStatus)(nil), (*SLL2Notif_NotifStatus)(nil), (*SLL2Notif_BdStateInfo)(nil), @@ -2941,7 +2422,7 @@ func file_sl_l2_route_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_l2_route_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_l2_route_proto_rawDesc), len(file_sl_l2_route_proto_rawDesc)), NumEnums: 5, NumMessages: 24, NumExtensions: 0, @@ -2953,7 +2434,6 @@ func file_sl_l2_route_proto_init() { MessageInfos: file_sl_l2_route_proto_msgTypes, }.Build() File_sl_l2_route_proto = out.File - file_sl_l2_route_proto_rawDesc = nil file_sl_l2_route_proto_goTypes = nil file_sl_l2_route_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_l2_route_grpc.pb.go b/grpc/go/src/gengo/sl_l2_route_grpc.pb.go index f77b59f2..b63703e4 100644 --- a/grpc/go/src/gengo/sl_l2_route_grpc.pb.go +++ b/grpc/go/src/gengo/sl_l2_route_grpc.pb.go @@ -1,7 +1,17 @@ +// @file +// @brief Server RPC proto file for L2 routes. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016, 2023 by cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_l2_route.proto package service_layer @@ -15,12 +25,28 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLL2Oper_SLL2GlobalsGet_FullMethodName = "/service_layer.SLL2Oper/SLL2GlobalsGet" + SLL2Oper_SLL2RegOp_FullMethodName = "/service_layer.SLL2Oper/SLL2RegOp" + SLL2Oper_SLL2BdRegOp_FullMethodName = "/service_layer.SLL2Oper/SLL2BdRegOp" + SLL2Oper_SLL2RouteOp_FullMethodName = "/service_layer.SLL2Oper/SLL2RouteOp" + SLL2Oper_SLL2RouteOpStream_FullMethodName = "/service_layer.SLL2Oper/SLL2RouteOpStream" + SLL2Oper_SLL2GetNotifStream_FullMethodName = "/service_layer.SLL2Oper/SLL2GetNotifStream" +) // SLL2OperClient is the client API for SLL2Oper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLRouteL2Oper +// @ingroup L2Route +// Defines RPC calls for L2 route changes and Bridge-Domain (BD) registration. +// This service declares calls for adding, deleting, updating and getting +// L2 routes. +// @{ type SLL2OperClient interface { // Used to retrieve global L2 info from the server. SLL2GlobalsGet(ctx context.Context, in *SLL2GlobalsGetMsg, opts ...grpc.CallOption) (*SLL2GlobalsGetMsgRsp, error) @@ -83,7 +109,7 @@ type SLL2OperClient interface { // Route delete. The route path is not necessary to delete the route. SLL2RouteOp(ctx context.Context, in *SLL2RouteMsg, opts ...grpc.CallOption) (*SLL2RouteMsgRsp, error) // Stream adds/updates/deletes of L2 Routes. - SLL2RouteOpStream(ctx context.Context, opts ...grpc.CallOption) (SLL2Oper_SLL2RouteOpStreamClient, error) + SLL2RouteOpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLL2RouteMsg, SLL2RouteMsgRsp], error) // This call is used to get a stream of BD state and route notifications. // It can be used to get "push" notifications for route // adds/updates/deletes. @@ -103,7 +129,7 @@ type SLL2OperClient interface { // and an End Marker. // // After all requests are sent, client should send GetNotifEof = TRUE. - SLL2GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLL2Oper_SLL2GetNotifStreamClient, error) + SLL2GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLL2GetNotifMsg, SLL2Notif], error) } type sLL2OperClient struct { @@ -115,8 +141,9 @@ func NewSLL2OperClient(cc grpc.ClientConnInterface) SLL2OperClient { } func (c *sLL2OperClient) SLL2GlobalsGet(ctx context.Context, in *SLL2GlobalsGetMsg, opts ...grpc.CallOption) (*SLL2GlobalsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLL2GlobalsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLL2Oper/SLL2GlobalsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLL2Oper_SLL2GlobalsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -124,8 +151,9 @@ func (c *sLL2OperClient) SLL2GlobalsGet(ctx context.Context, in *SLL2GlobalsGetM } func (c *sLL2OperClient) SLL2RegOp(ctx context.Context, in *SLL2RegMsg, opts ...grpc.CallOption) (*SLL2RegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLL2RegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLL2Oper/SLL2RegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLL2Oper_SLL2RegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -133,8 +161,9 @@ func (c *sLL2OperClient) SLL2RegOp(ctx context.Context, in *SLL2RegMsg, opts ... } func (c *sLL2OperClient) SLL2BdRegOp(ctx context.Context, in *SLL2BdRegMsg, opts ...grpc.CallOption) (*SLL2BdRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLL2BdRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLL2Oper/SLL2BdRegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLL2Oper_SLL2BdRegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -142,79 +171,51 @@ func (c *sLL2OperClient) SLL2BdRegOp(ctx context.Context, in *SLL2BdRegMsg, opts } func (c *sLL2OperClient) SLL2RouteOp(ctx context.Context, in *SLL2RouteMsg, opts ...grpc.CallOption) (*SLL2RouteMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLL2RouteMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLL2Oper/SLL2RouteOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLL2Oper_SLL2RouteOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLL2OperClient) SLL2RouteOpStream(ctx context.Context, opts ...grpc.CallOption) (SLL2Oper_SLL2RouteOpStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLL2Oper_ServiceDesc.Streams[0], "/service_layer.SLL2Oper/SLL2RouteOpStream", opts...) +func (c *sLL2OperClient) SLL2RouteOpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLL2RouteMsg, SLL2RouteMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLL2Oper_ServiceDesc.Streams[0], SLL2Oper_SLL2RouteOpStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLL2OperSLL2RouteOpStreamClient{stream} + x := &grpc.GenericClientStream[SLL2RouteMsg, SLL2RouteMsgRsp]{ClientStream: stream} return x, nil } -type SLL2Oper_SLL2RouteOpStreamClient interface { - Send(*SLL2RouteMsg) error - Recv() (*SLL2RouteMsgRsp, error) - grpc.ClientStream -} - -type sLL2OperSLL2RouteOpStreamClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLL2Oper_SLL2RouteOpStreamClient = grpc.BidiStreamingClient[SLL2RouteMsg, SLL2RouteMsgRsp] -func (x *sLL2OperSLL2RouteOpStreamClient) Send(m *SLL2RouteMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLL2OperSLL2RouteOpStreamClient) Recv() (*SLL2RouteMsgRsp, error) { - m := new(SLL2RouteMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *sLL2OperClient) SLL2GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLL2Oper_SLL2GetNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLL2Oper_ServiceDesc.Streams[1], "/service_layer.SLL2Oper/SLL2GetNotifStream", opts...) +func (c *sLL2OperClient) SLL2GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLL2GetNotifMsg, SLL2Notif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLL2Oper_ServiceDesc.Streams[1], SLL2Oper_SLL2GetNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLL2OperSLL2GetNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLL2GetNotifMsg, SLL2Notif]{ClientStream: stream} return x, nil } -type SLL2Oper_SLL2GetNotifStreamClient interface { - Send(*SLL2GetNotifMsg) error - Recv() (*SLL2Notif, error) - grpc.ClientStream -} - -type sLL2OperSLL2GetNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLL2OperSLL2GetNotifStreamClient) Send(m *SLL2GetNotifMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLL2OperSLL2GetNotifStreamClient) Recv() (*SLL2Notif, error) { - m := new(SLL2Notif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLL2Oper_SLL2GetNotifStreamClient = grpc.BidiStreamingClient[SLL2GetNotifMsg, SLL2Notif] // SLL2OperServer is the server API for SLL2Oper service. // All implementations must embed UnimplementedSLL2OperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLRouteL2Oper +// @ingroup L2Route +// Defines RPC calls for L2 route changes and Bridge-Domain (BD) registration. +// This service declares calls for adding, deleting, updating and getting +// L2 routes. +// @{ type SLL2OperServer interface { // Used to retrieve global L2 info from the server. SLL2GlobalsGet(context.Context, *SLL2GlobalsGetMsg) (*SLL2GlobalsGetMsgRsp, error) @@ -277,7 +278,7 @@ type SLL2OperServer interface { // Route delete. The route path is not necessary to delete the route. SLL2RouteOp(context.Context, *SLL2RouteMsg) (*SLL2RouteMsgRsp, error) // Stream adds/updates/deletes of L2 Routes. - SLL2RouteOpStream(SLL2Oper_SLL2RouteOpStreamServer) error + SLL2RouteOpStream(grpc.BidiStreamingServer[SLL2RouteMsg, SLL2RouteMsgRsp]) error // This call is used to get a stream of BD state and route notifications. // It can be used to get "push" notifications for route // adds/updates/deletes. @@ -297,13 +298,16 @@ type SLL2OperServer interface { // and an End Marker. // // After all requests are sent, client should send GetNotifEof = TRUE. - SLL2GetNotifStream(SLL2Oper_SLL2GetNotifStreamServer) error + SLL2GetNotifStream(grpc.BidiStreamingServer[SLL2GetNotifMsg, SLL2Notif]) error mustEmbedUnimplementedSLL2OperServer() } -// UnimplementedSLL2OperServer must be embedded to have forward compatible implementations. -type UnimplementedSLL2OperServer struct { -} +// UnimplementedSLL2OperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLL2OperServer struct{} func (UnimplementedSLL2OperServer) SLL2GlobalsGet(context.Context, *SLL2GlobalsGetMsg) (*SLL2GlobalsGetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLL2GlobalsGet not implemented") @@ -317,13 +321,14 @@ func (UnimplementedSLL2OperServer) SLL2BdRegOp(context.Context, *SLL2BdRegMsg) ( func (UnimplementedSLL2OperServer) SLL2RouteOp(context.Context, *SLL2RouteMsg) (*SLL2RouteMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLL2RouteOp not implemented") } -func (UnimplementedSLL2OperServer) SLL2RouteOpStream(SLL2Oper_SLL2RouteOpStreamServer) error { +func (UnimplementedSLL2OperServer) SLL2RouteOpStream(grpc.BidiStreamingServer[SLL2RouteMsg, SLL2RouteMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLL2RouteOpStream not implemented") } -func (UnimplementedSLL2OperServer) SLL2GetNotifStream(SLL2Oper_SLL2GetNotifStreamServer) error { +func (UnimplementedSLL2OperServer) SLL2GetNotifStream(grpc.BidiStreamingServer[SLL2GetNotifMsg, SLL2Notif]) error { return status.Errorf(codes.Unimplemented, "method SLL2GetNotifStream not implemented") } func (UnimplementedSLL2OperServer) mustEmbedUnimplementedSLL2OperServer() {} +func (UnimplementedSLL2OperServer) testEmbeddedByValue() {} // UnsafeSLL2OperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLL2OperServer will @@ -333,6 +338,13 @@ type UnsafeSLL2OperServer interface { } func RegisterSLL2OperServer(s grpc.ServiceRegistrar, srv SLL2OperServer) { + // If the following call pancis, it indicates UnimplementedSLL2OperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLL2Oper_ServiceDesc, srv) } @@ -346,7 +358,7 @@ func _SLL2Oper_SLL2GlobalsGet_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLL2Oper/SLL2GlobalsGet", + FullMethod: SLL2Oper_SLL2GlobalsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLL2OperServer).SLL2GlobalsGet(ctx, req.(*SLL2GlobalsGetMsg)) @@ -364,7 +376,7 @@ func _SLL2Oper_SLL2RegOp_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLL2Oper/SLL2RegOp", + FullMethod: SLL2Oper_SLL2RegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLL2OperServer).SLL2RegOp(ctx, req.(*SLL2RegMsg)) @@ -382,7 +394,7 @@ func _SLL2Oper_SLL2BdRegOp_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLL2Oper/SLL2BdRegOp", + FullMethod: SLL2Oper_SLL2BdRegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLL2OperServer).SLL2BdRegOp(ctx, req.(*SLL2BdRegMsg)) @@ -400,7 +412,7 @@ func _SLL2Oper_SLL2RouteOp_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLL2Oper/SLL2RouteOp", + FullMethod: SLL2Oper_SLL2RouteOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLL2OperServer).SLL2RouteOp(ctx, req.(*SLL2RouteMsg)) @@ -409,56 +421,18 @@ func _SLL2Oper_SLL2RouteOp_Handler(srv interface{}, ctx context.Context, dec fun } func _SLL2Oper_SLL2RouteOpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLL2OperServer).SLL2RouteOpStream(&sLL2OperSLL2RouteOpStreamServer{stream}) -} - -type SLL2Oper_SLL2RouteOpStreamServer interface { - Send(*SLL2RouteMsgRsp) error - Recv() (*SLL2RouteMsg, error) - grpc.ServerStream -} - -type sLL2OperSLL2RouteOpStreamServer struct { - grpc.ServerStream + return srv.(SLL2OperServer).SLL2RouteOpStream(&grpc.GenericServerStream[SLL2RouteMsg, SLL2RouteMsgRsp]{ServerStream: stream}) } -func (x *sLL2OperSLL2RouteOpStreamServer) Send(m *SLL2RouteMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLL2OperSLL2RouteOpStreamServer) Recv() (*SLL2RouteMsg, error) { - m := new(SLL2RouteMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLL2Oper_SLL2RouteOpStreamServer = grpc.BidiStreamingServer[SLL2RouteMsg, SLL2RouteMsgRsp] func _SLL2Oper_SLL2GetNotifStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLL2OperServer).SLL2GetNotifStream(&sLL2OperSLL2GetNotifStreamServer{stream}) -} - -type SLL2Oper_SLL2GetNotifStreamServer interface { - Send(*SLL2Notif) error - Recv() (*SLL2GetNotifMsg, error) - grpc.ServerStream -} - -type sLL2OperSLL2GetNotifStreamServer struct { - grpc.ServerStream + return srv.(SLL2OperServer).SLL2GetNotifStream(&grpc.GenericServerStream[SLL2GetNotifMsg, SLL2Notif]{ServerStream: stream}) } -func (x *sLL2OperSLL2GetNotifStreamServer) Send(m *SLL2Notif) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLL2OperSLL2GetNotifStreamServer) Recv() (*SLL2GetNotifMsg, error) { - m := new(SLL2GetNotifMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLL2Oper_SLL2GetNotifStreamServer = grpc.BidiStreamingServer[SLL2GetNotifMsg, SLL2Notif] // SLL2Oper_ServiceDesc is the grpc.ServiceDesc for SLL2Oper service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_mpls.pb.go b/grpc/go/src/gengo/sl_mpls.pb.go index 92c705c7..ef413212 100644 --- a/grpc/go/src/gengo/sl_mpls.pb.go +++ b/grpc/go/src/gengo/sl_mpls.pb.go @@ -13,8 +13,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_mpls.proto package service_layer @@ -24,6 +24,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -170,10 +171,7 @@ func (SLMplsLabelBlockType) EnumDescriptor() ([]byte, []int) { // MPLS Label block key. // This message is used to relay the label block key attributes. type SLMplsLabelBlockKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Starting label value of the block. StartLabel uint32 `protobuf:"varint,1,opt,name=StartLabel,proto3" json:"StartLabel,omitempty"` // Label block size. @@ -184,16 +182,16 @@ type SLMplsLabelBlockKey struct { BlockType SLMplsLabelBlockType `protobuf:"varint,3,opt,name=BlockType,proto3,enum=service_layer.SLMplsLabelBlockType" json:"BlockType,omitempty"` // Label block client name as configured e.g. through CLI. // Client name is ignored if BlockType is not SL_MPLS_LABEL_BLOCK_TYPE_CBF. - ClientName string `protobuf:"bytes,4,opt,name=ClientName,proto3" json:"ClientName,omitempty"` + ClientName string `protobuf:"bytes,4,opt,name=ClientName,proto3" json:"ClientName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsLabelBlockKey) Reset() { *x = SLMplsLabelBlockKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsLabelBlockKey) String() string { @@ -204,7 +202,7 @@ func (*SLMplsLabelBlockKey) ProtoMessage() {} func (x *SLMplsLabelBlockKey) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -251,24 +249,21 @@ func (x *SLMplsLabelBlockKey) GetClientName() string { // This message is used to send a batch of label block requests. // The Oper attributes indicates add or delete operations. type SLMplsLabelBlockMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MPLS Label Block Operations. Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // List of label blocks requests. // List size should be <= SLServerResponse.MaxLabelBlocksPerRequest - MplsBlocks []*SLMplsLabelBlockKey `protobuf:"bytes,2,rep,name=MplsBlocks,proto3" json:"MplsBlocks,omitempty"` + MplsBlocks []*SLMplsLabelBlockKey `protobuf:"bytes,2,rep,name=MplsBlocks,proto3" json:"MplsBlocks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsLabelBlockMsg) Reset() { *x = SLMplsLabelBlockMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsLabelBlockMsg) String() string { @@ -279,7 +274,7 @@ func (*SLMplsLabelBlockMsg) ProtoMessage() {} func (x *SLMplsLabelBlockMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -312,23 +307,20 @@ func (x *SLMplsLabelBlockMsg) GetMplsBlocks() []*SLMplsLabelBlockKey { // This message is used to convey the result status corresponding to // the label block operation. type SLMplsLabelBlockMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code. ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Key for which the error code is reported. - Key *SLMplsLabelBlockKey `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + Key *SLMplsLabelBlockKey `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsLabelBlockMsgRes) Reset() { *x = SLMplsLabelBlockMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsLabelBlockMsgRes) String() string { @@ -339,7 +331,7 @@ func (*SLMplsLabelBlockMsgRes) ProtoMessage() {} func (x *SLMplsLabelBlockMsgRes) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -373,10 +365,7 @@ func (x *SLMplsLabelBlockMsgRes) GetKey() *SLMplsLabelBlockKey { // If there are errors encountered, the Results field would indicate which // label block reservation failed. type SLMplsLabelBlockMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -389,16 +378,16 @@ type SLMplsLabelBlockMsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLMplsLabelBlockMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLMplsLabelBlockMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsLabelBlockMsgRsp) Reset() { *x = SLMplsLabelBlockMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsLabelBlockMsgRsp) String() string { @@ -409,7 +398,7 @@ func (*SLMplsLabelBlockMsgRsp) ProtoMessage() {} func (x *SLMplsLabelBlockMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -441,10 +430,7 @@ func (x *SLMplsLabelBlockMsgRsp) GetResults() []*SLMplsLabelBlockMsgRes { // MPLS Label Block Get Message // This message is used to query previous label block reservations. type SLMplsLabelBlockGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MPLS Label Block key. // If the Key is not specified, then request up to the first // 'EntriesCount' entries. @@ -458,16 +444,16 @@ type SLMplsLabelBlockGetMsg struct { // If GetNext is TRUE, or if the key exact match is not found: // // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,3,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,3,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsLabelBlockGetMsg) Reset() { *x = SLMplsLabelBlockGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsLabelBlockGetMsg) String() string { @@ -478,7 +464,7 @@ func (*SLMplsLabelBlockGetMsg) ProtoMessage() {} func (x *SLMplsLabelBlockGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -517,10 +503,7 @@ func (x *SLMplsLabelBlockGetMsg) GetGetNext() bool { // MPLS Label Block get message response // This message is the response to the label block query. type SLMplsLabelBlockGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. @@ -529,16 +512,16 @@ type SLMplsLabelBlockGetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLMplsLabelBlockKey `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLMplsLabelBlockKey `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsLabelBlockGetMsgRsp) Reset() { *x = SLMplsLabelBlockGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsLabelBlockGetMsgRsp) String() string { @@ -549,7 +532,7 @@ func (*SLMplsLabelBlockGetMsgRsp) ProtoMessage() {} func (x *SLMplsLabelBlockGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -587,10 +570,7 @@ func (x *SLMplsLabelBlockGetMsgRsp) GetEntries() []*SLMplsLabelBlockKey { // MPLS Registration message. type SlMplsReg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // In case the Service Layer -> LSD connection is lost, this specifies the // timeout period after which LSD will automatically purge the installed // ILMs, unless the service layer: @@ -603,15 +583,15 @@ type SlMplsReg struct { // Purge timer is ignored for all registration messages except for // SL_REGOP_REGISTER PurgeIntervalSeconds uint32 `protobuf:"varint,1,opt,name=PurgeIntervalSeconds,proto3" json:"PurgeIntervalSeconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SlMplsReg) Reset() { *x = SlMplsReg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SlMplsReg) String() string { @@ -622,7 +602,7 @@ func (*SlMplsReg) ProtoMessage() {} func (x *SlMplsReg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -648,23 +628,20 @@ func (x *SlMplsReg) GetPurgeIntervalSeconds() uint32 { // This message is used for MPLS global registration. Clients must register // before using any MPLS service. type SLMplsRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Registration Operation Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` // Registration Message - RegMsg *SlMplsReg `protobuf:"bytes,2,opt,name=RegMsg,proto3" json:"RegMsg,omitempty"` + RegMsg *SlMplsReg `protobuf:"bytes,2,opt,name=RegMsg,proto3" json:"RegMsg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsRegMsg) Reset() { *x = SLMplsRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsRegMsg) String() string { @@ -675,7 +652,7 @@ func (*SLMplsRegMsg) ProtoMessage() {} func (x *SLMplsRegMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -707,21 +684,18 @@ func (x *SLMplsRegMsg) GetRegMsg() *SlMplsReg { // MPLS Registration response message. // This message is used to convey the result of the MPLS registration. type SLMplsRegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsRegMsgRsp) Reset() { *x = SLMplsRegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsRegMsgRsp) String() string { @@ -732,7 +706,7 @@ func (*SLMplsRegMsgRsp) ProtoMessage() {} func (x *SLMplsRegMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -757,18 +731,16 @@ func (x *SLMplsRegMsgRsp) GetErrStatus() *SLErrorStatus { // MPLS Get Global Info message. // This message is used to query MPLS global capabilities. type SLMplsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsGetMsg) Reset() { *x = SLMplsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsGetMsg) String() string { @@ -779,7 +751,7 @@ func (*SLMplsGetMsg) ProtoMessage() {} func (x *SLMplsGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -797,10 +769,7 @@ func (*SLMplsGetMsg) Descriptor() ([]byte, []int) { // MPLS Get Global Info response message. // This message is used to convey the response to the global capabilities query. type SLMplsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Maximum labels that can be allocated/freed per label block. @@ -817,15 +786,15 @@ type SLMplsGetMsgRsp struct { MaxIlmPerIlmmsg uint32 `protobuf:"varint,6,opt,name=MaxIlmPerIlmmsg,proto3" json:"MaxIlmPerIlmmsg,omitempty"` // Maximum paths per ILM. MaxPathsPerIlm uint32 `protobuf:"varint,7,opt,name=MaxPathsPerIlm,proto3" json:"MaxPathsPerIlm,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsGetMsgRsp) Reset() { *x = SLMplsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsGetMsgRsp) String() string { @@ -836,7 +805,7 @@ func (*SLMplsGetMsgRsp) ProtoMessage() {} func (x *SLMplsGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -903,25 +872,22 @@ func (x *SLMplsGetMsgRsp) GetMaxPathsPerIlm() uint32 { // MPLS Get Global Stats response message. // This message is used to convey the response to the MPLS statistics query. type SLMplsGetStatsMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Num of label blocks created. LabelBlockCount uint32 `protobuf:"varint,2,opt,name=LabelBlockCount,proto3" json:"LabelBlockCount,omitempty"` // Num ILMs added through the service layer. - IlmCount uint32 `protobuf:"varint,3,opt,name=IlmCount,proto3" json:"IlmCount,omitempty"` + IlmCount uint32 `protobuf:"varint,3,opt,name=IlmCount,proto3" json:"IlmCount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsGetStatsMsgRsp) Reset() { *x = SLMplsGetStatsMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsGetStatsMsgRsp) String() string { @@ -932,7 +898,7 @@ func (*SLMplsGetStatsMsgRsp) ProtoMessage() {} func (x *SLMplsGetStatsMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -971,10 +937,7 @@ func (x *SLMplsGetStatsMsgRsp) GetIlmCount() uint32 { // MPLS Path (or NHLFE) information. // This message holds the ILM path attributes. type SLMplsPath struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // One of IPv4 or IPv6 address NexthopAddress *SLIpAddress `protobuf:"bytes,1,opt,name=NexthopAddress,proto3" json:"NexthopAddress,omitempty"` // Next hop interface. @@ -1091,15 +1054,15 @@ type SLMplsPath struct { // FALSE : Path is UP. Available for carrying traffic.(default). // Load metric should be set to 0 when the path is down. SlMplsPathDown bool `protobuf:"varint,13,opt,name=SlMplsPathDown,proto3" json:"SlMplsPathDown,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsPath) Reset() { *x = SLMplsPath{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsPath) String() string { @@ -1110,7 +1073,7 @@ func (*SLMplsPath) ProtoMessage() {} func (x *SLMplsPath) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1219,26 +1182,23 @@ func (x *SLMplsPath) GetSlMplsPathDown() bool { // MPLS ILM entry's key. // This message defines the Incoming Label Map key attributes. type SLMplsIlmKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Incoming local label. LocalLabel uint32 `protobuf:"varint,1,opt,name=LocalLabel,proto3" json:"LocalLabel,omitempty"` // Either Exp bits or CoS forwarding class. SlMplsCosVal *SLMplsCos `protobuf:"bytes,2,opt,name=SlMplsCosVal,proto3" json:"SlMplsCosVal,omitempty"` // IP Prefix key. If set, the prefix is used // as ILM key instead of LocalLabel. - Prefix *SLMplsIlmKey_IPPrefixKey `protobuf:"bytes,3,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + Prefix *SLMplsIlmKey_IPPrefixKey `protobuf:"bytes,3,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmKey) Reset() { *x = SLMplsIlmKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmKey) String() string { @@ -1249,7 +1209,7 @@ func (*SLMplsIlmKey) ProtoMessage() {} func (x *SLMplsIlmKey) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1288,25 +1248,22 @@ func (x *SLMplsIlmKey) GetPrefix() *SLMplsIlmKey_IPPrefixKey { // MPLS ILM entry's CoS value // This message contains either EXP bits or a forwarding class type SLMplsCos struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *SLMplsCos_Exp // *SLMplsCos_DefaultElspPath // *SLMplsCos_ForwardingClass - Value isSLMplsCos_Value `protobuf_oneof:"value"` + Value isSLMplsCos_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsCos) Reset() { *x = SLMplsCos{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsCos) String() string { @@ -1317,7 +1274,7 @@ func (*SLMplsCos) ProtoMessage() {} func (x *SLMplsCos) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1332,30 +1289,36 @@ func (*SLMplsCos) Descriptor() ([]byte, []int) { return file_sl_mpls_proto_rawDescGZIP(), []int{14} } -func (m *SLMplsCos) GetValue() isSLMplsCos_Value { - if m != nil { - return m.Value +func (x *SLMplsCos) GetValue() isSLMplsCos_Value { + if x != nil { + return x.Value } return nil } func (x *SLMplsCos) GetExp() uint32 { - if x, ok := x.GetValue().(*SLMplsCos_Exp); ok { - return x.Exp + if x != nil { + if x, ok := x.Value.(*SLMplsCos_Exp); ok { + return x.Exp + } } return 0 } func (x *SLMplsCos) GetDefaultElspPath() bool { - if x, ok := x.GetValue().(*SLMplsCos_DefaultElspPath); ok { - return x.DefaultElspPath + if x != nil { + if x, ok := x.Value.(*SLMplsCos_DefaultElspPath); ok { + return x.DefaultElspPath + } } return false } func (x *SLMplsCos) GetForwardingClass() uint32 { - if x, ok := x.GetValue().(*SLMplsCos_ForwardingClass); ok { - return x.ForwardingClass + if x != nil { + if x, ok := x.Value.(*SLMplsCos_ForwardingClass); ok { + return x.ForwardingClass + } } return 0 } @@ -1390,26 +1353,23 @@ func (*SLMplsCos_ForwardingClass) isSLMplsCos_Value() {} // MPLS ILM entry. // This messages defines an ILM entry. type SLMplsIlmEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // ILM Key. Key *SLMplsIlmKey `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // List of path (NHLFE) information. Paths []*SLMplsPath `protobuf:"bytes,2,rep,name=Paths,proto3" json:"Paths,omitempty"` // Each entry can have priority value, this priority value may be used // in internal queuing of routes while programming the data-plane - Priority SLUpdatePriority `protobuf:"varint,3,opt,name=Priority,proto3,enum=service_layer.SLUpdatePriority" json:"Priority,omitempty"` + Priority SLUpdatePriority `protobuf:"varint,3,opt,name=Priority,proto3,enum=service_layer.SLUpdatePriority" json:"Priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmEntry) Reset() { *x = SLMplsIlmEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmEntry) String() string { @@ -1420,7 +1380,7 @@ func (*SLMplsIlmEntry) ProtoMessage() {} func (x *SLMplsIlmEntry) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1459,26 +1419,23 @@ func (x *SLMplsIlmEntry) GetPriority() SLUpdatePriority { // A batch of MPLS ILM entries. // This message is used to send a batch of ILM entries. type SLMplsIlmMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MPLS Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,2,opt,name=Correlator,proto3" json:"Correlator,omitempty"` // List of ILM entries - MplsIlms []*SLMplsIlmEntry `protobuf:"bytes,3,rep,name=MplsIlms,proto3" json:"MplsIlms,omitempty"` + MplsIlms []*SLMplsIlmEntry `protobuf:"bytes,3,rep,name=MplsIlms,proto3" json:"MplsIlms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmMsg) Reset() { *x = SLMplsIlmMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmMsg) String() string { @@ -1489,7 +1446,7 @@ func (*SLMplsIlmMsg) ProtoMessage() {} func (x *SLMplsIlmMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1528,23 +1485,20 @@ func (x *SLMplsIlmMsg) GetMplsIlms() []*SLMplsIlmEntry { // MPLS ILM result. // This message is used to convey the result of the ILM entry operation. type SLMplsIlmRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // ILM Key. - Key *SLMplsIlmKey `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + Key *SLMplsIlmKey `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmRes) Reset() { *x = SLMplsIlmRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmRes) String() string { @@ -1555,7 +1509,7 @@ func (*SLMplsIlmRes) ProtoMessage() {} func (x *SLMplsIlmRes) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1587,10 +1541,7 @@ func (x *SLMplsIlmRes) GetKey() *SLMplsIlmKey { // MPLS ILM batch response. // This message is used to convey the result of the ILM batch operation. type SLMplsIlmMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -1606,16 +1557,16 @@ type SLMplsIlmMsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,2,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLMplsIlmRes `protobuf:"bytes,3,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLMplsIlmRes `protobuf:"bytes,3,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmMsgRsp) Reset() { *x = SLMplsIlmMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmMsgRsp) String() string { @@ -1626,7 +1577,7 @@ func (*SLMplsIlmMsgRsp) ProtoMessage() {} func (x *SLMplsIlmMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1669,10 +1620,7 @@ func (x *SLMplsIlmMsgRsp) GetResults() []*SLMplsIlmRes { // from the specified key in the order of labels, IPv4 prefixes, // followed any IPv6 prefixes. type SLMplsIlmGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -1689,16 +1637,16 @@ type SLMplsIlmGetMsg struct { // If GetNext is TRUE, or if the key exact match is not found: // // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,4,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,4,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmGetMsg) Reset() { *x = SLMplsIlmGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmGetMsg) String() string { @@ -1709,7 +1657,7 @@ func (*SLMplsIlmGetMsg) ProtoMessage() {} func (x *SLMplsIlmGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1754,10 +1702,7 @@ func (x *SLMplsIlmGetMsg) GetGetNext() bool { // MPLS ILM Get Message Response. type SLMplsIlmGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -1769,16 +1714,16 @@ type SLMplsIlmGetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,3,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLMplsIlmEntry `protobuf:"bytes,4,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLMplsIlmEntry `protobuf:"bytes,4,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmGetMsgRsp) Reset() { *x = SLMplsIlmGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmGetMsgRsp) String() string { @@ -1789,7 +1734,7 @@ func (*SLMplsIlmGetMsgRsp) ProtoMessage() {} func (x *SLMplsIlmGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1833,23 +1778,20 @@ func (x *SLMplsIlmGetMsgRsp) GetEntries() []*SLMplsIlmEntry { } type SLMplsIlmKey_IPv4PrefixKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv4 Prefix in host byte order. // - 0.0.0.0 // - 1.0.0.0 - 223.255.255.255 - Prefix uint32 `protobuf:"varint,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + Prefix uint32 `protobuf:"varint,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmKey_IPv4PrefixKey) Reset() { *x = SLMplsIlmKey_IPv4PrefixKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmKey_IPv4PrefixKey) String() string { @@ -1860,7 +1802,7 @@ func (*SLMplsIlmKey_IPv4PrefixKey) ProtoMessage() {} func (x *SLMplsIlmKey_IPv4PrefixKey) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1883,21 +1825,18 @@ func (x *SLMplsIlmKey_IPv4PrefixKey) GetPrefix() uint32 { } type SLMplsIlmKey_IPv6PrefixKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv6 Prefix in network byte order. - Prefix []byte `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + Prefix []byte `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmKey_IPv6PrefixKey) Reset() { *x = SLMplsIlmKey_IPv6PrefixKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmKey_IPv6PrefixKey) String() string { @@ -1908,7 +1847,7 @@ func (*SLMplsIlmKey_IPv6PrefixKey) ProtoMessage() {} func (x *SLMplsIlmKey_IPv6PrefixKey) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1931,11 +1870,8 @@ func (x *SLMplsIlmKey_IPv6PrefixKey) GetPrefix() []byte { } type SLMplsIlmKey_IPPrefixKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Entry: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Entry: // // *SLMplsIlmKey_IPPrefixKey_V4Prefix // *SLMplsIlmKey_IPPrefixKey_V6Prefix @@ -1945,16 +1881,16 @@ type SLMplsIlmKey_IPPrefixKey struct { PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` // VRF name. Client must withdraw // ILM if VRF configuration is removed. - VrfName string `protobuf:"bytes,4,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,4,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLMplsIlmKey_IPPrefixKey) Reset() { *x = SLMplsIlmKey_IPPrefixKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_mpls_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_mpls_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLMplsIlmKey_IPPrefixKey) String() string { @@ -1965,7 +1901,7 @@ func (*SLMplsIlmKey_IPPrefixKey) ProtoMessage() {} func (x *SLMplsIlmKey_IPPrefixKey) ProtoReflect() protoreflect.Message { mi := &file_sl_mpls_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1980,23 +1916,27 @@ func (*SLMplsIlmKey_IPPrefixKey) Descriptor() ([]byte, []int) { return file_sl_mpls_proto_rawDescGZIP(), []int{13, 2} } -func (m *SLMplsIlmKey_IPPrefixKey) GetEntry() isSLMplsIlmKey_IPPrefixKey_Entry { - if m != nil { - return m.Entry +func (x *SLMplsIlmKey_IPPrefixKey) GetEntry() isSLMplsIlmKey_IPPrefixKey_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLMplsIlmKey_IPPrefixKey) GetV4Prefix() *SLMplsIlmKey_IPv4PrefixKey { - if x, ok := x.GetEntry().(*SLMplsIlmKey_IPPrefixKey_V4Prefix); ok { - return x.V4Prefix + if x != nil { + if x, ok := x.Entry.(*SLMplsIlmKey_IPPrefixKey_V4Prefix); ok { + return x.V4Prefix + } } return nil } func (x *SLMplsIlmKey_IPPrefixKey) GetV6Prefix() *SLMplsIlmKey_IPv6PrefixKey { - if x, ok := x.GetEntry().(*SLMplsIlmKey_IPPrefixKey_V6Prefix); ok { - return x.V6Prefix + if x != nil { + if x, ok := x.Entry.(*SLMplsIlmKey_IPPrefixKey_V6Prefix); ok { + return x.V6Prefix + } } return nil } @@ -2033,354 +1973,170 @@ func (*SLMplsIlmKey_IPPrefixKey_V6Prefix) isSLMplsIlmKey_IPPrefixKey_Entry() {} var File_sl_mpls_proto protoreflect.FileDescriptor -var file_sl_mpls_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x73, 0x6c, 0x5f, 0x6d, 0x70, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x0d, 0x73, 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, 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, - 0x0a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x26, 0x0a, - 0x0e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x4d, - 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 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, - 0x42, 0x0a, 0x0a, 0x4d, 0x70, 0x6c, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x4d, 0x70, 0x6c, 0x73, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 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, 0x34, 0x0a, 0x03, 0x4b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, - 0x22, 0x9d, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 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, - 0x3f, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x34, 0x0a, 0x03, 0x4b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, - 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, - 0xa7, 0x01, 0x0a, 0x19, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, - 0x03, 0x45, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, - 0x3a, 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, - 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, - 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4b, 0x65, 0x79, - 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6c, 0x4d, - 0x70, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x12, 0x32, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6c, 0x0a, 0x0c, 0x53, 0x4c, - 0x4d, 0x70, 0x6c, 0x73, 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, 0x30, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x52, 0x65, 0x67, - 0x52, 0x06, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x22, 0x4d, 0x0a, 0x0f, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 0x52, 0x65, 0x67, 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, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x4c, 0x4d, 0x70, 0x6c, - 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xe3, 0x02, 0x0a, 0x0f, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 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, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x78, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x11, 0x4d, 0x61, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x46, 0x0a, 0x1e, 0x4d, 0x61, 0x78, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x4d, - 0x61, 0x78, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x73, 0x67, 0x12, 0x24, 0x0a, - 0x0d, 0x4d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4d, - 0x61, 0x78, 0x49, 0x6c, 0x6d, 0x50, 0x65, 0x72, 0x49, 0x6c, 0x6d, 0x6d, 0x73, 0x67, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x4d, 0x61, 0x78, 0x49, 0x6c, 0x6d, 0x50, 0x65, 0x72, 0x49, - 0x6c, 0x6d, 0x6d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, - 0x73, 0x50, 0x65, 0x72, 0x49, 0x6c, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4d, - 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x73, 0x50, 0x65, 0x72, 0x49, 0x6c, 0x6d, 0x22, 0x98, 0x01, - 0x0a, 0x14, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, - 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, 0x28, 0x0a, 0x0f, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x49, 0x6c, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x49, 0x6c, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xf4, 0x04, 0x0a, 0x0a, 0x53, 0x4c, 0x4d, - 0x70, 0x6c, 0x73, 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, 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, 0x34, 0x0a, - 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x6c, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 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, 0x0c, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x43, 0x6f, 0x73, 0x56, 0x61, 0x6c, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x43, 0x6f, 0x73, 0x52, - 0x0c, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x43, 0x6f, 0x73, 0x56, 0x61, 0x6c, 0x12, 0x2e, 0x0a, - 0x12, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x61, 0x74, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x53, 0x6c, 0x4d, 0x70, 0x6c, - 0x73, 0x50, 0x61, 0x74, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, - 0x0f, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x74, 0x49, 0x64, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x61, - 0x74, 0x68, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6c, 0x4d, 0x70, 0x6c, - 0x73, 0x50, 0x61, 0x74, 0x68, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x61, 0x74, 0x68, 0x44, 0x6f, 0x77, 0x6e, 0x22, - 0xe2, 0x03, 0x0a, 0x0c, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4b, 0x65, 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, 0x3c, 0x0a, 0x0c, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x43, 0x6f, 0x73, 0x56, 0x61, 0x6c, - 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, 0x4d, 0x70, 0x6c, 0x73, 0x43, 0x6f, 0x73, - 0x52, 0x0c, 0x53, 0x6c, 0x4d, 0x70, 0x6c, 0x73, 0x43, 0x6f, 0x73, 0x56, 0x61, 0x6c, 0x12, 0x3f, - 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 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, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4b, 0x65, 0x79, 0x2e, 0x49, 0x50, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, - 0x27, 0x0a, 0x0d, 0x49, 0x50, 0x76, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4b, 0x65, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x27, 0x0a, 0x0d, 0x49, 0x50, 0x76, 0x36, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x1a, 0xe0, 0x01, 0x0a, 0x0b, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4b, 0x65, - 0x79, 0x12, 0x47, 0x0a, 0x08, 0x56, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4b, 0x65, 0x79, - 0x2e, 0x49, 0x50, 0x76, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4b, 0x65, 0x79, 0x48, 0x00, - 0x52, 0x08, 0x56, 0x34, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x47, 0x0a, 0x08, 0x56, 0x36, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, - 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4b, 0x65, 0x79, 0x2e, 0x49, 0x50, 0x76, 0x36, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x08, 0x56, 0x36, 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, 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, 0x42, 0x07, 0x0a, 0x05, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x09, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x43, - 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x2a, 0x0a, 0x0f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x45, 0x6c, 0x73, 0x70, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6c, 0x73, 0x70, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0f, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x07, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x0e, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x03, 0x4b, 0x65, - 0x79, 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, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, - 0x6d, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x50, 0x61, 0x74, - 0x68, 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, 0x4d, 0x70, 0x6c, 0x73, 0x50, - 0x61, 0x74, 0x68, 0x52, 0x05, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x50, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x39, 0x0a, 0x08, 0x4d, 0x70, 0x6c, 0x73, 0x49, - 0x6c, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 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, - 0x49, 0x6c, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, - 0x6d, 0x73, 0x22, 0x79, 0x0a, 0x0c, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x2d, - 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x22, 0xac, 0x01, - 0x0a, 0x0f, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x42, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 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, 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, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, - 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x9e, 0x01, 0x0a, - 0x0f, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x2d, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, - 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 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, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xbb, 0x01, - 0x0a, 0x12, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x3a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 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, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 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, 0x49, 0x6c, 0x6d, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x2a, 0xfc, 0x01, 0x0a, 0x0d, - 0x53, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x18, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, - 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x57, 0x41, 0x50, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, - 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x44, - 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, - 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, - 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x49, 0x50, 0x56, - 0x34, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4c, - 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, - 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x50, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x10, 0x05, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x10, 0x06, 0x2a, 0x82, 0x01, 0x0a, 0x14, 0x53, - 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, - 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, - 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x52, 0x47, 0x42, 0x10, 0x01, 0x12, 0x20, 0x0a, - 0x1c, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x42, 0x46, 0x10, 0x02, 0x32, - 0x91, 0x06, 0x0a, 0x0a, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x4a, - 0x0a, 0x0b, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x1b, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x4d, 0x70, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, - 0x73, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x09, 0x53, 0x4c, - 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, - 0x67, 0x52, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x0e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, 0x74, - 0x4d, 0x73, 0x67, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x12, 0x53, 0x4c, 0x4d, 0x70, - 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x12, 0x22, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, - 0x73, 0x67, 0x1a, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x66, 0x0a, 0x13, 0x53, 0x4c, 0x4d, - 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x65, 0x74, - 0x12, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, - 0x70, 0x12, 0x4a, 0x0a, 0x0b, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4f, 0x70, - 0x12, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4d, 0x73, 0x67, 0x1a, 0x1e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, - 0x0c, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x47, 0x65, 0x74, 0x12, 0x1e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, - 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, - 0x12, 0x54, 0x0a, 0x11, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4d, - 0x73, 0x67, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x4d, 0x73, 0x67, 0x52, - 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5b, 0x0a, 0x12, 0x53, 0x4c, 0x4d, 0x70, 0x6c, 0x73, - 0x49, 0x6c, 0x6d, 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, 0x4d, - 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 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, 0x4d, - 0x70, 0x6c, 0x73, 0x49, 0x6c, 0x6d, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 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, -} +const file_sl_mpls_proto_rawDesc = "" + + "\n" + + "\rsl_mpls.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\xc0\x01\n" + + "\x13SLMplsLabelBlockKey\x12\x1e\n" + + "\n" + + "StartLabel\x18\x01 \x01(\rR\n" + + "StartLabel\x12&\n" + + "\x0eLabelBlockSize\x18\x02 \x01(\rR\x0eLabelBlockSize\x12A\n" + + "\tBlockType\x18\x03 \x01(\x0e2#.service_layer.SLMplsLabelBlockTypeR\tBlockType\x12\x1e\n" + + "\n" + + "ClientName\x18\x04 \x01(\tR\n" + + "ClientName\"\x88\x01\n" + + "\x13SLMplsLabelBlockMsg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12B\n" + + "\n" + + "MplsBlocks\x18\x02 \x03(\v2\".service_layer.SLMplsLabelBlockKeyR\n" + + "MplsBlocks\"\x8a\x01\n" + + "\x16SLMplsLabelBlockMsgRes\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x124\n" + + "\x03Key\x18\x02 \x01(\v2\".service_layer.SLMplsLabelBlockKeyR\x03Key\"\x9d\x01\n" + + "\x16SLMplsLabelBlockMsgRsp\x12B\n" + + "\rStatusSummary\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x12?\n" + + "\aResults\x18\x02 \x03(\v2%.service_layer.SLMplsLabelBlockMsgResR\aResults\"\x8c\x01\n" + + "\x16SLMplsLabelBlockGetMsg\x124\n" + + "\x03Key\x18\x01 \x01(\v2\".service_layer.SLMplsLabelBlockKeyR\x03Key\x12\"\n" + + "\fEntriesCount\x18\x02 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x03 \x01(\bR\aGetNext\"\xa7\x01\n" + + "\x19SLMplsLabelBlockGetMsgRsp\x12\x10\n" + + "\x03Eof\x18\x01 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12<\n" + + "\aEntries\x18\x03 \x03(\v2\".service_layer.SLMplsLabelBlockKeyR\aEntries\"?\n" + + "\tSlMplsReg\x122\n" + + "\x14PurgeIntervalSeconds\x18\x01 \x01(\rR\x14PurgeIntervalSeconds\"l\n" + + "\fSLMplsRegMsg\x12*\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x16.service_layer.SLRegOpR\x04Oper\x120\n" + + "\x06RegMsg\x18\x02 \x01(\v2\x18.service_layer.SlMplsRegR\x06RegMsg\"M\n" + + "\x0fSLMplsRegMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\"\x0e\n" + + "\fSLMplsGetMsg\"\xe3\x02\n" + + "\x0fSLMplsGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12,\n" + + "\x11MaxLabelsPerBlock\x18\x02 \x01(\rR\x11MaxLabelsPerBlock\x12F\n" + + "\x1eMaxLabelblocksPerLabelblockmsg\x18\x03 \x01(\rR\x1eMaxLabelblocksPerLabelblockmsg\x12$\n" + + "\rMinStartLabel\x18\x04 \x01(\rR\rMinStartLabel\x12&\n" + + "\x0eLabelTableSize\x18\x05 \x01(\rR\x0eLabelTableSize\x12(\n" + + "\x0fMaxIlmPerIlmmsg\x18\x06 \x01(\rR\x0fMaxIlmPerIlmmsg\x12&\n" + + "\x0eMaxPathsPerIlm\x18\a \x01(\rR\x0eMaxPathsPerIlm\"\x98\x01\n" + + "\x14SLMplsGetStatsMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12(\n" + + "\x0fLabelBlockCount\x18\x02 \x01(\rR\x0fLabelBlockCount\x12\x1a\n" + + "\bIlmCount\x18\x03 \x01(\rR\bIlmCount\"\xf4\x04\n" + + "\n" + + "SLMplsPath\x12B\n" + + "\x0eNexthopAddress\x18\x01 \x01(\v2\x1a.service_layer.SLIpAddressR\x0eNexthopAddress\x12F\n" + + "\x10NexthopInterface\x18\x02 \x01(\v2\x1a.service_layer.SLInterfaceR\x10NexthopInterface\x12\x1e\n" + + "\n" + + "LoadMetric\x18\x03 \x01(\rR\n" + + "LoadMetric\x12\x18\n" + + "\aVrfName\x18\x04 \x01(\tR\aVrfName\x124\n" + + "\x06Action\x18\x05 \x01(\x0e2\x1c.service_layer.SlLabelActionR\x06Action\x12\x16\n" + + "\x06PathId\x18\x06 \x01(\rR\x06PathId\x120\n" + + "\x13ProtectedPathBitmap\x18\a \x03(\x04R\x13ProtectedPathBitmap\x12\x1e\n" + + "\n" + + "LabelStack\x18\b \x03(\rR\n" + + "LabelStack\x12@\n" + + "\rRemoteAddress\x18\t \x03(\v2\x1a.service_layer.SLIpAddressR\rRemoteAddress\x12<\n" + + "\fSlMplsCosVal\x18\n" + + " \x01(\v2\x18.service_layer.SLMplsCosR\fSlMplsCosVal\x12.\n" + + "\x12SlMplsPathPriority\x18\v \x01(\rR\x12SlMplsPathPriority\x12(\n" + + "\x0fSlMplsPathSetId\x18\f \x01(\rR\x0fSlMplsPathSetId\x12&\n" + + "\x0eSlMplsPathDown\x18\r \x01(\bR\x0eSlMplsPathDown\"\xe2\x03\n" + + "\fSLMplsIlmKey\x12\x1e\n" + + "\n" + + "LocalLabel\x18\x01 \x01(\rR\n" + + "LocalLabel\x12<\n" + + "\fSlMplsCosVal\x18\x02 \x01(\v2\x18.service_layer.SLMplsCosR\fSlMplsCosVal\x12?\n" + + "\x06Prefix\x18\x03 \x01(\v2'.service_layer.SLMplsIlmKey.IPPrefixKeyR\x06Prefix\x1a'\n" + + "\rIPv4PrefixKey\x12\x16\n" + + "\x06Prefix\x18\x01 \x01(\rR\x06Prefix\x1a'\n" + + "\rIPv6PrefixKey\x12\x16\n" + + "\x06Prefix\x18\x01 \x01(\fR\x06Prefix\x1a\xe0\x01\n" + + "\vIPPrefixKey\x12G\n" + + "\bV4Prefix\x18\x01 \x01(\v2).service_layer.SLMplsIlmKey.IPv4PrefixKeyH\x00R\bV4Prefix\x12G\n" + + "\bV6Prefix\x18\x02 \x01(\v2).service_layer.SLMplsIlmKey.IPv6PrefixKeyH\x00R\bV6Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x03 \x01(\rR\tPrefixLen\x12\x18\n" + + "\aVrfName\x18\x04 \x01(\tR\aVrfNameB\a\n" + + "\x05entry\"\x80\x01\n" + + "\tSLMplsCos\x12\x12\n" + + "\x03Exp\x18\x01 \x01(\rH\x00R\x03Exp\x12*\n" + + "\x0fDefaultElspPath\x18\x02 \x01(\bH\x00R\x0fDefaultElspPath\x12*\n" + + "\x0fForwardingClass\x18\x03 \x01(\rH\x00R\x0fForwardingClassB\a\n" + + "\x05value\"\xad\x01\n" + + "\x0eSLMplsIlmEntry\x12-\n" + + "\x03Key\x18\x01 \x01(\v2\x1b.service_layer.SLMplsIlmKeyR\x03Key\x12/\n" + + "\x05Paths\x18\x02 \x03(\v2\x19.service_layer.SLMplsPathR\x05Paths\x12;\n" + + "\bPriority\x18\x03 \x01(\x0e2\x1f.service_layer.SLUpdatePriorityR\bPriority\"\x98\x01\n" + + "\fSLMplsIlmMsg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12\x1e\n" + + "\n" + + "Correlator\x18\x02 \x01(\x04R\n" + + "Correlator\x129\n" + + "\bMplsIlms\x18\x03 \x03(\v2\x1d.service_layer.SLMplsIlmEntryR\bMplsIlms\"y\n" + + "\fSLMplsIlmRes\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12-\n" + + "\x03Key\x18\x02 \x01(\v2\x1b.service_layer.SLMplsIlmKeyR\x03Key\"\xac\x01\n" + + "\x0fSLMplsIlmMsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12B\n" + + "\rStatusSummary\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x125\n" + + "\aResults\x18\x03 \x03(\v2\x1b.service_layer.SLMplsIlmResR\aResults\"\x9e\x01\n" + + "\x0fSLMplsIlmGetMsg\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12-\n" + + "\x03Key\x18\x02 \x01(\v2\x1b.service_layer.SLMplsIlmKeyR\x03Key\x12\"\n" + + "\fEntriesCount\x18\x03 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x04 \x01(\bR\aGetNext\"\xbb\x01\n" + + "\x12SLMplsIlmGetMsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x10\n" + + "\x03Eof\x18\x02 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x03 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x127\n" + + "\aEntries\x18\x04 \x03(\v2\x1d.service_layer.SLMplsIlmEntryR\aEntries*\xfc\x01\n" + + "\rSlLabelAction\x12\x1c\n" + + "\x18SL_LABEL_ACTION_RESERVED\x10\x00\x12\x18\n" + + "\x14SL_LABEL_ACTION_SWAP\x10\x01\x12#\n" + + "\x1fSL_LABEL_ACTION_POP_AND_FORWARD\x10\x02\x12'\n" + + "#SL_LABEL_ACTION_POP_AND_LOOKUP_IPV4\x10\x03\x12'\n" + + "#SL_LABEL_ACTION_POP_AND_LOOKUP_IPV6\x10\x04\x12\"\n" + + "\x1eSL_LABEL_ACTION_POP_AND_LOOKUP\x10\x05\x12\x18\n" + + "\x14SL_LABEL_ACTION_PUSH\x10\x06*\x82\x01\n" + + "\x14SLMplsLabelBlockType\x12%\n" + + "!SL_MPLS_LABEL_BLOCK_TYPE_RESERVED\x10\x00\x12!\n" + + "\x1dSL_MPLS_LABEL_BLOCK_TYPE_SRGB\x10\x01\x12 \n" + + "\x1cSL_MPLS_LABEL_BLOCK_TYPE_CBF\x10\x022\x91\x06\n" + + "\n" + + "SLMplsOper\x12J\n" + + "\vSLMplsRegOp\x12\x1b.service_layer.SLMplsRegMsg\x1a\x1e.service_layer.SLMplsRegMsgRsp\x12H\n" + + "\tSLMplsGet\x12\x1b.service_layer.SLMplsGetMsg\x1a\x1e.service_layer.SLMplsGetMsgRsp\x12R\n" + + "\x0eSLMplsGetStats\x12\x1b.service_layer.SLMplsGetMsg\x1a#.service_layer.SLMplsGetStatsMsgRsp\x12_\n" + + "\x12SLMplsLabelBlockOp\x12\".service_layer.SLMplsLabelBlockMsg\x1a%.service_layer.SLMplsLabelBlockMsgRsp\x12f\n" + + "\x13SLMplsLabelBlockGet\x12%.service_layer.SLMplsLabelBlockGetMsg\x1a(.service_layer.SLMplsLabelBlockGetMsgRsp\x12J\n" + + "\vSLMplsIlmOp\x12\x1b.service_layer.SLMplsIlmMsg\x1a\x1e.service_layer.SLMplsIlmMsgRsp\x12Q\n" + + "\fSLMplsIlmGet\x12\x1e.service_layer.SLMplsIlmGetMsg\x1a!.service_layer.SLMplsIlmGetMsgRsp\x12T\n" + + "\x11SLMplsIlmOpStream\x12\x1b.service_layer.SLMplsIlmMsg\x1a\x1e.service_layer.SLMplsIlmMsgRsp(\x010\x01\x12[\n" + + "\x12SLMplsIlmGetStream\x12\x1e.service_layer.SLMplsIlmGetMsg\x1a!.service_layer.SLMplsIlmGetMsgRsp(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_mpls_proto_rawDescOnce sync.Once - file_sl_mpls_proto_rawDescData = file_sl_mpls_proto_rawDesc + file_sl_mpls_proto_rawDescData []byte ) func file_sl_mpls_proto_rawDescGZIP() []byte { file_sl_mpls_proto_rawDescOnce.Do(func() { - file_sl_mpls_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_mpls_proto_rawDescData) + file_sl_mpls_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_mpls_proto_rawDesc), len(file_sl_mpls_proto_rawDesc))) }) return file_sl_mpls_proto_rawDescData } var file_sl_mpls_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_sl_mpls_proto_msgTypes = make([]protoimpl.MessageInfo, 24) -var file_sl_mpls_proto_goTypes = []interface{}{ +var file_sl_mpls_proto_goTypes = []any{ (SlLabelAction)(0), // 0: service_layer.SlLabelAction (SLMplsLabelBlockType)(0), // 1: service_layer.SLMplsLabelBlockType (*SLMplsLabelBlockKey)(nil), // 2: service_layer.SLMplsLabelBlockKey @@ -2482,302 +2238,12 @@ func file_sl_mpls_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_mpls_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsLabelBlockKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsLabelBlockMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsLabelBlockMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsLabelBlockMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsLabelBlockGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsLabelBlockGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SlMplsReg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsRegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsGetStatsMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsPath); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsCos); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmKey_IPv4PrefixKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmKey_IPv6PrefixKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_mpls_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLMplsIlmKey_IPPrefixKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_mpls_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_sl_mpls_proto_msgTypes[14].OneofWrappers = []any{ (*SLMplsCos_Exp)(nil), (*SLMplsCos_DefaultElspPath)(nil), (*SLMplsCos_ForwardingClass)(nil), } - file_sl_mpls_proto_msgTypes[23].OneofWrappers = []interface{}{ + file_sl_mpls_proto_msgTypes[23].OneofWrappers = []any{ (*SLMplsIlmKey_IPPrefixKey_V4Prefix)(nil), (*SLMplsIlmKey_IPPrefixKey_V6Prefix)(nil), } @@ -2785,7 +2251,7 @@ func file_sl_mpls_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_mpls_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_mpls_proto_rawDesc), len(file_sl_mpls_proto_rawDesc)), NumEnums: 2, NumMessages: 24, NumExtensions: 0, @@ -2797,7 +2263,6 @@ func file_sl_mpls_proto_init() { MessageInfos: file_sl_mpls_proto_msgTypes, }.Build() File_sl_mpls_proto = out.File - file_sl_mpls_proto_rawDesc = nil file_sl_mpls_proto_goTypes = nil file_sl_mpls_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_mpls_grpc.pb.go b/grpc/go/src/gengo/sl_mpls_grpc.pb.go index 829c7348..c2f22a20 100644 --- a/grpc/go/src/gengo/sl_mpls_grpc.pb.go +++ b/grpc/go/src/gengo/sl_mpls_grpc.pb.go @@ -1,7 +1,20 @@ +// @file +// @brief RPC proto file for MPLS types. +// +// ---------------------------------------------------------------- +// Copyright (c) 2019, 2023, 2024 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +//@defgroup MPLS +//@brief MPLS service definitions. + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_mpls.proto package service_layer @@ -15,12 +28,46 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLMplsOper_SLMplsRegOp_FullMethodName = "/service_layer.SLMplsOper/SLMplsRegOp" + SLMplsOper_SLMplsGet_FullMethodName = "/service_layer.SLMplsOper/SLMplsGet" + SLMplsOper_SLMplsGetStats_FullMethodName = "/service_layer.SLMplsOper/SLMplsGetStats" + SLMplsOper_SLMplsLabelBlockOp_FullMethodName = "/service_layer.SLMplsOper/SLMplsLabelBlockOp" + SLMplsOper_SLMplsLabelBlockGet_FullMethodName = "/service_layer.SLMplsOper/SLMplsLabelBlockGet" + SLMplsOper_SLMplsIlmOp_FullMethodName = "/service_layer.SLMplsOper/SLMplsIlmOp" + SLMplsOper_SLMplsIlmGet_FullMethodName = "/service_layer.SLMplsOper/SLMplsIlmGet" + SLMplsOper_SLMplsIlmOpStream_FullMethodName = "/service_layer.SLMplsOper/SLMplsIlmOpStream" + SLMplsOper_SLMplsIlmGetStream_FullMethodName = "/service_layer.SLMplsOper/SLMplsIlmGetStream" +) // SLMplsOperClient is the client API for SLMplsOper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLMpls +// @ingroup MPLS +// Defines RPCs for MPLS Registrations, label block reservations, and ILM entries +// manipulations. +// Clients Must register for MPLS operations e.g. Incoming Label Map operations. +// Once registered, a client Must reserve an MPLS label (dynamic allocation) +// before using it as an incoming label map. +// Labels are reserved in blocks through the block reservation operations. +// +// This file also defines RPC calls for adding, deleting, updating, and querying +// incoming label map entries (see RFC 3031) +// +// Incoming Label Map (ILM): A mapping from incoming labels to +// corresponding NHLFEs. It is used when forwarding packets that +// arrive as labeled packets. +// +// Next Hop Forwarding Entry (NHLE): An entry containing next-hop +// information and label manipulation instructions. This is also referred to +// as the ILM Path. +// +// @{ type SLMplsOperClient interface { // SLMplsRegMsg.Oper = SL_REGOP_REGISTER. // @@ -104,9 +151,9 @@ type SLMplsOperClient interface { // // Delete incoming label map entry. Delete of a // non-existant entry is returned as success. - SLMplsIlmOpStream(ctx context.Context, opts ...grpc.CallOption) (SLMplsOper_SLMplsIlmOpStreamClient, error) + SLMplsIlmOpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLMplsIlmMsg, SLMplsIlmMsgRsp], error) // Stream-Get of incoming label map - SLMplsIlmGetStream(ctx context.Context, opts ...grpc.CallOption) (SLMplsOper_SLMplsIlmGetStreamClient, error) + SLMplsIlmGetStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp], error) } type sLMplsOperClient struct { @@ -118,8 +165,9 @@ func NewSLMplsOperClient(cc grpc.ClientConnInterface) SLMplsOperClient { } func (c *sLMplsOperClient) SLMplsRegOp(ctx context.Context, in *SLMplsRegMsg, opts ...grpc.CallOption) (*SLMplsRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsRegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsRegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -127,8 +175,9 @@ func (c *sLMplsOperClient) SLMplsRegOp(ctx context.Context, in *SLMplsRegMsg, op } func (c *sLMplsOperClient) SLMplsGet(ctx context.Context, in *SLMplsGetMsg, opts ...grpc.CallOption) (*SLMplsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -136,8 +185,9 @@ func (c *sLMplsOperClient) SLMplsGet(ctx context.Context, in *SLMplsGetMsg, opts } func (c *sLMplsOperClient) SLMplsGetStats(ctx context.Context, in *SLMplsGetMsg, opts ...grpc.CallOption) (*SLMplsGetStatsMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsGetStatsMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsGetStats", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsGetStats_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -145,8 +195,9 @@ func (c *sLMplsOperClient) SLMplsGetStats(ctx context.Context, in *SLMplsGetMsg, } func (c *sLMplsOperClient) SLMplsLabelBlockOp(ctx context.Context, in *SLMplsLabelBlockMsg, opts ...grpc.CallOption) (*SLMplsLabelBlockMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsLabelBlockMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsLabelBlockOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsLabelBlockOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -154,8 +205,9 @@ func (c *sLMplsOperClient) SLMplsLabelBlockOp(ctx context.Context, in *SLMplsLab } func (c *sLMplsOperClient) SLMplsLabelBlockGet(ctx context.Context, in *SLMplsLabelBlockGetMsg, opts ...grpc.CallOption) (*SLMplsLabelBlockGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsLabelBlockGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsLabelBlockGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsLabelBlockGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -163,8 +215,9 @@ func (c *sLMplsOperClient) SLMplsLabelBlockGet(ctx context.Context, in *SLMplsLa } func (c *sLMplsOperClient) SLMplsIlmOp(ctx context.Context, in *SLMplsIlmMsg, opts ...grpc.CallOption) (*SLMplsIlmMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsIlmMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsIlmOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsIlmOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -172,79 +225,66 @@ func (c *sLMplsOperClient) SLMplsIlmOp(ctx context.Context, in *SLMplsIlmMsg, op } func (c *sLMplsOperClient) SLMplsIlmGet(ctx context.Context, in *SLMplsIlmGetMsg, opts ...grpc.CallOption) (*SLMplsIlmGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLMplsIlmGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLMplsOper/SLMplsIlmGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLMplsOper_SLMplsIlmGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLMplsOperClient) SLMplsIlmOpStream(ctx context.Context, opts ...grpc.CallOption) (SLMplsOper_SLMplsIlmOpStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLMplsOper_ServiceDesc.Streams[0], "/service_layer.SLMplsOper/SLMplsIlmOpStream", opts...) +func (c *sLMplsOperClient) SLMplsIlmOpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLMplsIlmMsg, SLMplsIlmMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLMplsOper_ServiceDesc.Streams[0], SLMplsOper_SLMplsIlmOpStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLMplsOperSLMplsIlmOpStreamClient{stream} + x := &grpc.GenericClientStream[SLMplsIlmMsg, SLMplsIlmMsgRsp]{ClientStream: stream} return x, nil } -type SLMplsOper_SLMplsIlmOpStreamClient interface { - Send(*SLMplsIlmMsg) error - Recv() (*SLMplsIlmMsgRsp, error) - grpc.ClientStream -} - -type sLMplsOperSLMplsIlmOpStreamClient struct { - grpc.ClientStream -} - -func (x *sLMplsOperSLMplsIlmOpStreamClient) Send(m *SLMplsIlmMsg) error { - return x.ClientStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLMplsOper_SLMplsIlmOpStreamClient = grpc.BidiStreamingClient[SLMplsIlmMsg, SLMplsIlmMsgRsp] -func (x *sLMplsOperSLMplsIlmOpStreamClient) Recv() (*SLMplsIlmMsgRsp, error) { - m := new(SLMplsIlmMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *sLMplsOperClient) SLMplsIlmGetStream(ctx context.Context, opts ...grpc.CallOption) (SLMplsOper_SLMplsIlmGetStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLMplsOper_ServiceDesc.Streams[1], "/service_layer.SLMplsOper/SLMplsIlmGetStream", opts...) +func (c *sLMplsOperClient) SLMplsIlmGetStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLMplsOper_ServiceDesc.Streams[1], SLMplsOper_SLMplsIlmGetStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLMplsOperSLMplsIlmGetStreamClient{stream} + x := &grpc.GenericClientStream[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp]{ClientStream: stream} return x, nil } -type SLMplsOper_SLMplsIlmGetStreamClient interface { - Send(*SLMplsIlmGetMsg) error - Recv() (*SLMplsIlmGetMsgRsp, error) - grpc.ClientStream -} - -type sLMplsOperSLMplsIlmGetStreamClient struct { - grpc.ClientStream -} - -func (x *sLMplsOperSLMplsIlmGetStreamClient) Send(m *SLMplsIlmGetMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLMplsOperSLMplsIlmGetStreamClient) Recv() (*SLMplsIlmGetMsgRsp, error) { - m := new(SLMplsIlmGetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLMplsOper_SLMplsIlmGetStreamClient = grpc.BidiStreamingClient[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp] // SLMplsOperServer is the server API for SLMplsOper service. // All implementations must embed UnimplementedSLMplsOperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLMpls +// @ingroup MPLS +// Defines RPCs for MPLS Registrations, label block reservations, and ILM entries +// manipulations. +// Clients Must register for MPLS operations e.g. Incoming Label Map operations. +// Once registered, a client Must reserve an MPLS label (dynamic allocation) +// before using it as an incoming label map. +// Labels are reserved in blocks through the block reservation operations. +// +// This file also defines RPC calls for adding, deleting, updating, and querying +// incoming label map entries (see RFC 3031) +// +// Incoming Label Map (ILM): A mapping from incoming labels to +// corresponding NHLFEs. It is used when forwarding packets that +// arrive as labeled packets. +// +// Next Hop Forwarding Entry (NHLE): An entry containing next-hop +// information and label manipulation instructions. This is also referred to +// as the ILM Path. +// +// @{ type SLMplsOperServer interface { // SLMplsRegMsg.Oper = SL_REGOP_REGISTER. // @@ -328,15 +368,18 @@ type SLMplsOperServer interface { // // Delete incoming label map entry. Delete of a // non-existant entry is returned as success. - SLMplsIlmOpStream(SLMplsOper_SLMplsIlmOpStreamServer) error + SLMplsIlmOpStream(grpc.BidiStreamingServer[SLMplsIlmMsg, SLMplsIlmMsgRsp]) error // Stream-Get of incoming label map - SLMplsIlmGetStream(SLMplsOper_SLMplsIlmGetStreamServer) error + SLMplsIlmGetStream(grpc.BidiStreamingServer[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp]) error mustEmbedUnimplementedSLMplsOperServer() } -// UnimplementedSLMplsOperServer must be embedded to have forward compatible implementations. -type UnimplementedSLMplsOperServer struct { -} +// UnimplementedSLMplsOperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLMplsOperServer struct{} func (UnimplementedSLMplsOperServer) SLMplsRegOp(context.Context, *SLMplsRegMsg) (*SLMplsRegMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLMplsRegOp not implemented") @@ -359,13 +402,14 @@ func (UnimplementedSLMplsOperServer) SLMplsIlmOp(context.Context, *SLMplsIlmMsg) func (UnimplementedSLMplsOperServer) SLMplsIlmGet(context.Context, *SLMplsIlmGetMsg) (*SLMplsIlmGetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLMplsIlmGet not implemented") } -func (UnimplementedSLMplsOperServer) SLMplsIlmOpStream(SLMplsOper_SLMplsIlmOpStreamServer) error { +func (UnimplementedSLMplsOperServer) SLMplsIlmOpStream(grpc.BidiStreamingServer[SLMplsIlmMsg, SLMplsIlmMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLMplsIlmOpStream not implemented") } -func (UnimplementedSLMplsOperServer) SLMplsIlmGetStream(SLMplsOper_SLMplsIlmGetStreamServer) error { +func (UnimplementedSLMplsOperServer) SLMplsIlmGetStream(grpc.BidiStreamingServer[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLMplsIlmGetStream not implemented") } func (UnimplementedSLMplsOperServer) mustEmbedUnimplementedSLMplsOperServer() {} +func (UnimplementedSLMplsOperServer) testEmbeddedByValue() {} // UnsafeSLMplsOperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLMplsOperServer will @@ -375,6 +419,13 @@ type UnsafeSLMplsOperServer interface { } func RegisterSLMplsOperServer(s grpc.ServiceRegistrar, srv SLMplsOperServer) { + // If the following call pancis, it indicates UnimplementedSLMplsOperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLMplsOper_ServiceDesc, srv) } @@ -388,7 +439,7 @@ func _SLMplsOper_SLMplsRegOp_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsRegOp", + FullMethod: SLMplsOper_SLMplsRegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsRegOp(ctx, req.(*SLMplsRegMsg)) @@ -406,7 +457,7 @@ func _SLMplsOper_SLMplsGet_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsGet", + FullMethod: SLMplsOper_SLMplsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsGet(ctx, req.(*SLMplsGetMsg)) @@ -424,7 +475,7 @@ func _SLMplsOper_SLMplsGetStats_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsGetStats", + FullMethod: SLMplsOper_SLMplsGetStats_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsGetStats(ctx, req.(*SLMplsGetMsg)) @@ -442,7 +493,7 @@ func _SLMplsOper_SLMplsLabelBlockOp_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsLabelBlockOp", + FullMethod: SLMplsOper_SLMplsLabelBlockOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsLabelBlockOp(ctx, req.(*SLMplsLabelBlockMsg)) @@ -460,7 +511,7 @@ func _SLMplsOper_SLMplsLabelBlockGet_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsLabelBlockGet", + FullMethod: SLMplsOper_SLMplsLabelBlockGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsLabelBlockGet(ctx, req.(*SLMplsLabelBlockGetMsg)) @@ -478,7 +529,7 @@ func _SLMplsOper_SLMplsIlmOp_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsIlmOp", + FullMethod: SLMplsOper_SLMplsIlmOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsIlmOp(ctx, req.(*SLMplsIlmMsg)) @@ -496,7 +547,7 @@ func _SLMplsOper_SLMplsIlmGet_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLMplsOper/SLMplsIlmGet", + FullMethod: SLMplsOper_SLMplsIlmGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLMplsOperServer).SLMplsIlmGet(ctx, req.(*SLMplsIlmGetMsg)) @@ -505,56 +556,18 @@ func _SLMplsOper_SLMplsIlmGet_Handler(srv interface{}, ctx context.Context, dec } func _SLMplsOper_SLMplsIlmOpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLMplsOperServer).SLMplsIlmOpStream(&sLMplsOperSLMplsIlmOpStreamServer{stream}) -} - -type SLMplsOper_SLMplsIlmOpStreamServer interface { - Send(*SLMplsIlmMsgRsp) error - Recv() (*SLMplsIlmMsg, error) - grpc.ServerStream + return srv.(SLMplsOperServer).SLMplsIlmOpStream(&grpc.GenericServerStream[SLMplsIlmMsg, SLMplsIlmMsgRsp]{ServerStream: stream}) } -type sLMplsOperSLMplsIlmOpStreamServer struct { - grpc.ServerStream -} - -func (x *sLMplsOperSLMplsIlmOpStreamServer) Send(m *SLMplsIlmMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLMplsOperSLMplsIlmOpStreamServer) Recv() (*SLMplsIlmMsg, error) { - m := new(SLMplsIlmMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLMplsOper_SLMplsIlmOpStreamServer = grpc.BidiStreamingServer[SLMplsIlmMsg, SLMplsIlmMsgRsp] func _SLMplsOper_SLMplsIlmGetStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLMplsOperServer).SLMplsIlmGetStream(&sLMplsOperSLMplsIlmGetStreamServer{stream}) + return srv.(SLMplsOperServer).SLMplsIlmGetStream(&grpc.GenericServerStream[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp]{ServerStream: stream}) } -type SLMplsOper_SLMplsIlmGetStreamServer interface { - Send(*SLMplsIlmGetMsgRsp) error - Recv() (*SLMplsIlmGetMsg, error) - grpc.ServerStream -} - -type sLMplsOperSLMplsIlmGetStreamServer struct { - grpc.ServerStream -} - -func (x *sLMplsOperSLMplsIlmGetStreamServer) Send(m *SLMplsIlmGetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLMplsOperSLMplsIlmGetStreamServer) Recv() (*SLMplsIlmGetMsg, error) { - m := new(SLMplsIlmGetMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLMplsOper_SLMplsIlmGetStreamServer = grpc.BidiStreamingServer[SLMplsIlmGetMsg, SLMplsIlmGetMsgRsp] // SLMplsOper_ServiceDesc is the grpc.ServiceDesc for SLMplsOper service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_perf_meas.pb.go b/grpc/go/src/gengo/sl_perf_meas.pb.go new file mode 100644 index 00000000..444ba35b --- /dev/null +++ b/grpc/go/src/gengo/sl_perf_meas.pb.go @@ -0,0 +1,1081 @@ +// @file +// @brief Server RPC proto file for Performance monitoring probing. +// Declares an RPC that gets performance monitoring details. +// ---------------------------------------------------------------- +// Copyright (c) 2026 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.7 +// protoc v6.32.0 +// source: sl_perf_meas.proto + +package service_layer + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Message type for request and response +type SLPerfMeasMsgType int32 + +const ( + // Reserved message type + SLPerfMeasMsgType_SL_PERF_MEAS_MSG_RESERVED SLPerfMeasMsgType = 0 + // Request: Create a new session + // Response: Perf session creation success + SLPerfMeasMsgType_SL_PERF_MEAS_CREATE_SESSION SLPerfMeasMsgType = 1 + // Request: Delete an existing session + // Response: Perf session deletion success + SLPerfMeasMsgType_SL_PERF_MEAS_DELETE_SESSION SLPerfMeasMsgType = 2 + // Request: Get stats about a created session + // Response: Perf session get stats success + SLPerfMeasMsgType_SL_PERF_MEAS_GET_STATS SLPerfMeasMsgType = 3 + // Request: Get info about a created session + // Response: Perf session get info success + SLPerfMeasMsgType_SL_PERF_MEAS_GET_INFO SLPerfMeasMsgType = 4 + // Request: Flush MaxRtt from server + // Response: Perf Session flush MaxRtt success + SLPerfMeasMsgType_SL_PERF_MEAS_FLUSH_MAX_RTT SLPerfMeasMsgType = 5 +) + +// Enum value maps for SLPerfMeasMsgType. +var ( + SLPerfMeasMsgType_name = map[int32]string{ + 0: "SL_PERF_MEAS_MSG_RESERVED", + 1: "SL_PERF_MEAS_CREATE_SESSION", + 2: "SL_PERF_MEAS_DELETE_SESSION", + 3: "SL_PERF_MEAS_GET_STATS", + 4: "SL_PERF_MEAS_GET_INFO", + 5: "SL_PERF_MEAS_FLUSH_MAX_RTT", + } + SLPerfMeasMsgType_value = map[string]int32{ + "SL_PERF_MEAS_MSG_RESERVED": 0, + "SL_PERF_MEAS_CREATE_SESSION": 1, + "SL_PERF_MEAS_DELETE_SESSION": 2, + "SL_PERF_MEAS_GET_STATS": 3, + "SL_PERF_MEAS_GET_INFO": 4, + "SL_PERF_MEAS_FLUSH_MAX_RTT": 5, + } +) + +func (x SLPerfMeasMsgType) Enum() *SLPerfMeasMsgType { + p := new(SLPerfMeasMsgType) + *p = x + return p +} + +func (x SLPerfMeasMsgType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLPerfMeasMsgType) Descriptor() protoreflect.EnumDescriptor { + return file_sl_perf_meas_proto_enumTypes[0].Descriptor() +} + +func (SLPerfMeasMsgType) Type() protoreflect.EnumType { + return &file_sl_perf_meas_proto_enumTypes[0] +} + +func (x SLPerfMeasMsgType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLPerfMeasMsgType.Descriptor instead. +func (SLPerfMeasMsgType) EnumDescriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{0} +} + +// State (UP/DOWN) notification for session +type SLPerfMeasSessionState int32 + +const ( + // Reserved message type + SLPerfMeasSessionState_SL_PERF_MEAS_STATE_RESERVED SLPerfMeasSessionState = 0 + // Perf session went down + SLPerfMeasSessionState_SL_PERF_MEAS_SESSION_DOWN SLPerfMeasSessionState = 1 + // Perf session went up + SLPerfMeasSessionState_SL_PERF_MEAS_SESSION_UP SLPerfMeasSessionState = 2 + // All perf session down (connection to perf_meas process down) + SLPerfMeasSessionState_SL_PERF_MEAS_SESSION_ALL_DOWN SLPerfMeasSessionState = 3 + // All perf session deleted by perf_meas process + SLPerfMeasSessionState_SL_PERF_MEAS_SESSION_ALL_DELETED SLPerfMeasSessionState = 4 +) + +// Enum value maps for SLPerfMeasSessionState. +var ( + SLPerfMeasSessionState_name = map[int32]string{ + 0: "SL_PERF_MEAS_STATE_RESERVED", + 1: "SL_PERF_MEAS_SESSION_DOWN", + 2: "SL_PERF_MEAS_SESSION_UP", + 3: "SL_PERF_MEAS_SESSION_ALL_DOWN", + 4: "SL_PERF_MEAS_SESSION_ALL_DELETED", + } + SLPerfMeasSessionState_value = map[string]int32{ + "SL_PERF_MEAS_STATE_RESERVED": 0, + "SL_PERF_MEAS_SESSION_DOWN": 1, + "SL_PERF_MEAS_SESSION_UP": 2, + "SL_PERF_MEAS_SESSION_ALL_DOWN": 3, + "SL_PERF_MEAS_SESSION_ALL_DELETED": 4, + } +) + +func (x SLPerfMeasSessionState) Enum() *SLPerfMeasSessionState { + p := new(SLPerfMeasSessionState) + *p = x + return p +} + +func (x SLPerfMeasSessionState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLPerfMeasSessionState) Descriptor() protoreflect.EnumDescriptor { + return file_sl_perf_meas_proto_enumTypes[1].Descriptor() +} + +func (SLPerfMeasSessionState) Type() protoreflect.EnumType { + return &file_sl_perf_meas_proto_enumTypes[1] +} + +func (x SLPerfMeasSessionState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLPerfMeasSessionState.Descriptor instead. +func (SLPerfMeasSessionState) EnumDescriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{1} +} + +// Defines the parameters for a performance measurement session +// All fields must be explicitly populated by the client, as no default values are assumed +// An error response will be sent if any parameter is missing +type SLPerfMeasMonitor struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Perf Session Name + PerfSessionName *string `protobuf:"bytes,1,opt,name=PerfSessionName,proto3,oneof" json:"PerfSessionName,omitempty"` + // Source IP address + Source *SLIpAddress `protobuf:"bytes,2,opt,name=Source,proto3" json:"Source,omitempty"` + // Destination IP address + Destination *SLIpAddress `protobuf:"bytes,3,opt,name=Destination,proto3" json:"Destination,omitempty"` + // MPLS Label Stack. Must not be empty. + LabelStack []uint32 `protobuf:"varint,4,rep,packed,name=LabelStack,proto3" json:"LabelStack,omitempty"` + // Probe interval in microseconds + ProbeInterval *uint64 `protobuf:"varint,5,opt,name=ProbeInterval,proto3,oneof" json:"ProbeInterval,omitempty"` + // Total packet loss count before declaring session down + TimeoutCount *uint32 `protobuf:"varint,6,opt,name=TimeoutCount,proto3,oneof" json:"TimeoutCount,omitempty"` + // Interface info. + InterfaceInfo *SLInterface `protobuf:"bytes,7,opt,name=InterfaceInfo,proto3" json:"InterfaceInfo,omitempty"` + // DSCP + DscpValue *uint32 `protobuf:"varint,8,opt,name=DscpValue,proto3,oneof" json:"DscpValue,omitempty"` + // Next Hop IP + NextHop *SLIpAddress `protobuf:"bytes,9,opt,name=NextHop,proto3" json:"NextHop,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasMonitor) Reset() { + *x = SLPerfMeasMonitor{} + mi := &file_sl_perf_meas_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasMonitor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasMonitor) ProtoMessage() {} + +func (x *SLPerfMeasMonitor) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasMonitor.ProtoReflect.Descriptor instead. +func (*SLPerfMeasMonitor) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{0} +} + +func (x *SLPerfMeasMonitor) GetPerfSessionName() string { + if x != nil && x.PerfSessionName != nil { + return *x.PerfSessionName + } + return "" +} + +func (x *SLPerfMeasMonitor) GetSource() *SLIpAddress { + if x != nil { + return x.Source + } + return nil +} + +func (x *SLPerfMeasMonitor) GetDestination() *SLIpAddress { + if x != nil { + return x.Destination + } + return nil +} + +func (x *SLPerfMeasMonitor) GetLabelStack() []uint32 { + if x != nil { + return x.LabelStack + } + return nil +} + +func (x *SLPerfMeasMonitor) GetProbeInterval() uint64 { + if x != nil && x.ProbeInterval != nil { + return *x.ProbeInterval + } + return 0 +} + +func (x *SLPerfMeasMonitor) GetTimeoutCount() uint32 { + if x != nil && x.TimeoutCount != nil { + return *x.TimeoutCount + } + return 0 +} + +func (x *SLPerfMeasMonitor) GetInterfaceInfo() *SLInterface { + if x != nil { + return x.InterfaceInfo + } + return nil +} + +func (x *SLPerfMeasMonitor) GetDscpValue() uint32 { + if x != nil && x.DscpValue != nil { + return *x.DscpValue + } + return 0 +} + +func (x *SLPerfMeasMonitor) GetNextHop() *SLIpAddress { + if x != nil { + return x.NextHop + } + return nil +} + +// Performance measurement statistics +type SLPerfMeasStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Current state of the session + State SLPerfMeasSessionState `protobuf:"varint,1,opt,name=State,proto3,enum=service_layer.SLPerfMeasSessionState" json:"State,omitempty"` + // Number of probes sent + ProbesSent uint64 `protobuf:"varint,2,opt,name=ProbesSent,proto3" json:"ProbesSent,omitempty"` + // Number of responses received + ProbesReceived uint64 `protobuf:"varint,3,opt,name=ProbesReceived,proto3" json:"ProbesReceived,omitempty"` + // Minimum RTT in nanoseconds + MinRtt uint64 `protobuf:"varint,4,opt,name=MinRtt,proto3" json:"MinRtt,omitempty"` + // Maximum RTT in nanoseconds + MaxRtt uint64 `protobuf:"varint,5,opt,name=MaxRtt,proto3" json:"MaxRtt,omitempty"` + // Avg RTT in nanoseconds + AvgRtt uint64 `protobuf:"varint,6,opt,name=AvgRtt,proto3" json:"AvgRtt,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasStats) Reset() { + *x = SLPerfMeasStats{} + mi := &file_sl_perf_meas_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasStats) ProtoMessage() {} + +func (x *SLPerfMeasStats) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasStats.ProtoReflect.Descriptor instead. +func (*SLPerfMeasStats) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{1} +} + +func (x *SLPerfMeasStats) GetState() SLPerfMeasSessionState { + if x != nil { + return x.State + } + return SLPerfMeasSessionState_SL_PERF_MEAS_STATE_RESERVED +} + +func (x *SLPerfMeasStats) GetProbesSent() uint64 { + if x != nil { + return x.ProbesSent + } + return 0 +} + +func (x *SLPerfMeasStats) GetProbesReceived() uint64 { + if x != nil { + return x.ProbesReceived + } + return 0 +} + +func (x *SLPerfMeasStats) GetMinRtt() uint64 { + if x != nil { + return x.MinRtt + } + return 0 +} + +func (x *SLPerfMeasStats) GetMaxRtt() uint64 { + if x != nil { + return x.MaxRtt + } + return 0 +} + +func (x *SLPerfMeasStats) GetAvgRtt() uint64 { + if x != nil { + return x.AvgRtt + } + return 0 +} + +// Message entry sent from client +type SLPerfMeasReqMsgEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // OperationId. This can be used to correlate replies with requests. + OperationId uint64 `protobuf:"varint,1,opt,name=OperationId,proto3" json:"OperationId,omitempty"` + // The request type sent by client + MsgType SLPerfMeasMsgType `protobuf:"varint,2,opt,name=MsgType,proto3,enum=service_layer.SLPerfMeasMsgType" json:"MsgType,omitempty"` + // Types that are valid to be assigned to Value: + // + // *SLPerfMeasReqMsgEntry_PerfSessionName + // *SLPerfMeasReqMsgEntry_Parameters + Value isSLPerfMeasReqMsgEntry_Value `protobuf_oneof:"Value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasReqMsgEntry) Reset() { + *x = SLPerfMeasReqMsgEntry{} + mi := &file_sl_perf_meas_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasReqMsgEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasReqMsgEntry) ProtoMessage() {} + +func (x *SLPerfMeasReqMsgEntry) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasReqMsgEntry.ProtoReflect.Descriptor instead. +func (*SLPerfMeasReqMsgEntry) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{2} +} + +func (x *SLPerfMeasReqMsgEntry) GetOperationId() uint64 { + if x != nil { + return x.OperationId + } + return 0 +} + +func (x *SLPerfMeasReqMsgEntry) GetMsgType() SLPerfMeasMsgType { + if x != nil { + return x.MsgType + } + return SLPerfMeasMsgType_SL_PERF_MEAS_MSG_RESERVED +} + +func (x *SLPerfMeasReqMsgEntry) GetValue() isSLPerfMeasReqMsgEntry_Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *SLPerfMeasReqMsgEntry) GetPerfSessionName() string { + if x != nil { + if x, ok := x.Value.(*SLPerfMeasReqMsgEntry_PerfSessionName); ok { + return x.PerfSessionName + } + } + return "" +} + +func (x *SLPerfMeasReqMsgEntry) GetParameters() *SLPerfMeasMonitor { + if x != nil { + if x, ok := x.Value.(*SLPerfMeasReqMsgEntry_Parameters); ok { + return x.Parameters + } + } + return nil +} + +type isSLPerfMeasReqMsgEntry_Value interface { + isSLPerfMeasReqMsgEntry_Value() +} + +type SLPerfMeasReqMsgEntry_PerfSessionName struct { + // For get, flush Max RTT and delete only session name is required + PerfSessionName string `protobuf:"bytes,3,opt,name=PerfSessionName,proto3,oneof"` +} + +type SLPerfMeasReqMsgEntry_Parameters struct { + // Parameter details for session creation + Parameters *SLPerfMeasMonitor `protobuf:"bytes,4,opt,name=Parameters,proto3,oneof"` +} + +func (*SLPerfMeasReqMsgEntry_PerfSessionName) isSLPerfMeasReqMsgEntry_Value() {} + +func (*SLPerfMeasReqMsgEntry_Parameters) isSLPerfMeasReqMsgEntry_Value() {} + +// Message request sent from client +type SLPerfMeasReqMsg struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Request entries + Entries []*SLPerfMeasReqMsgEntry `protobuf:"bytes,1,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasReqMsg) Reset() { + *x = SLPerfMeasReqMsg{} + mi := &file_sl_perf_meas_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasReqMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasReqMsg) ProtoMessage() {} + +func (x *SLPerfMeasReqMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasReqMsg.ProtoReflect.Descriptor instead. +func (*SLPerfMeasReqMsg) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{3} +} + +func (x *SLPerfMeasReqMsg) GetEntries() []*SLPerfMeasReqMsgEntry { + if x != nil { + return x.Entries + } + return nil +} + +// Performance Measurement Notification error response message entry +type SLPerfMeasRespErrMsgEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // OperationId for correlation + OperationId uint64 `protobuf:"varint,1,opt,name=OperationId,proto3" json:"OperationId,omitempty"` + // Error status + ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` + // Perf Session Name + PerfSessionName string `protobuf:"bytes,3,opt,name=PerfSessionName,proto3" json:"PerfSessionName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasRespErrMsgEntry) Reset() { + *x = SLPerfMeasRespErrMsgEntry{} + mi := &file_sl_perf_meas_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasRespErrMsgEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasRespErrMsgEntry) ProtoMessage() {} + +func (x *SLPerfMeasRespErrMsgEntry) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasRespErrMsgEntry.ProtoReflect.Descriptor instead. +func (*SLPerfMeasRespErrMsgEntry) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{4} +} + +func (x *SLPerfMeasRespErrMsgEntry) GetOperationId() uint64 { + if x != nil { + return x.OperationId + } + return 0 +} + +func (x *SLPerfMeasRespErrMsgEntry) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus + } + return nil +} + +func (x *SLPerfMeasRespErrMsgEntry) GetPerfSessionName() string { + if x != nil { + return x.PerfSessionName + } + return "" +} + +// Performance Measurement Create, Delete, Get Info/Stats response message +type SLPerfMeasRespDataMsgEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of response + MsgType SLPerfMeasMsgType `protobuf:"varint,1,opt,name=MsgType,proto3,enum=service_layer.SLPerfMeasMsgType" json:"MsgType,omitempty"` + // Perf Session Name + PerfSessionName string `protobuf:"bytes,2,opt,name=PerfSessionName,proto3" json:"PerfSessionName,omitempty"` + // The field is used to reflect the original OperationId set by the client + OperationId uint64 `protobuf:"varint,3,opt,name=OperationId,proto3" json:"OperationId,omitempty"` + // For get info/stats msg type + // + // Types that are valid to be assigned to Data: + // + // *SLPerfMeasRespDataMsgEntry_Stats + // *SLPerfMeasRespDataMsgEntry_Info + Data isSLPerfMeasRespDataMsgEntry_Data `protobuf_oneof:"Data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasRespDataMsgEntry) Reset() { + *x = SLPerfMeasRespDataMsgEntry{} + mi := &file_sl_perf_meas_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasRespDataMsgEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasRespDataMsgEntry) ProtoMessage() {} + +func (x *SLPerfMeasRespDataMsgEntry) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasRespDataMsgEntry.ProtoReflect.Descriptor instead. +func (*SLPerfMeasRespDataMsgEntry) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{5} +} + +func (x *SLPerfMeasRespDataMsgEntry) GetMsgType() SLPerfMeasMsgType { + if x != nil { + return x.MsgType + } + return SLPerfMeasMsgType_SL_PERF_MEAS_MSG_RESERVED +} + +func (x *SLPerfMeasRespDataMsgEntry) GetPerfSessionName() string { + if x != nil { + return x.PerfSessionName + } + return "" +} + +func (x *SLPerfMeasRespDataMsgEntry) GetOperationId() uint64 { + if x != nil { + return x.OperationId + } + return 0 +} + +func (x *SLPerfMeasRespDataMsgEntry) GetData() isSLPerfMeasRespDataMsgEntry_Data { + if x != nil { + return x.Data + } + return nil +} + +func (x *SLPerfMeasRespDataMsgEntry) GetStats() *SLPerfMeasStats { + if x != nil { + if x, ok := x.Data.(*SLPerfMeasRespDataMsgEntry_Stats); ok { + return x.Stats + } + } + return nil +} + +func (x *SLPerfMeasRespDataMsgEntry) GetInfo() *SLPerfMeasMonitor { + if x != nil { + if x, ok := x.Data.(*SLPerfMeasRespDataMsgEntry_Info); ok { + return x.Info + } + } + return nil +} + +type isSLPerfMeasRespDataMsgEntry_Data interface { + isSLPerfMeasRespDataMsgEntry_Data() +} + +type SLPerfMeasRespDataMsgEntry_Stats struct { + // Stats of the session + Stats *SLPerfMeasStats `protobuf:"bytes,4,opt,name=Stats,proto3,oneof"` +} + +type SLPerfMeasRespDataMsgEntry_Info struct { + // Info of the session + Info *SLPerfMeasMonitor `protobuf:"bytes,5,opt,name=Info,proto3,oneof"` +} + +func (*SLPerfMeasRespDataMsgEntry_Stats) isSLPerfMeasRespDataMsgEntry_Data() {} + +func (*SLPerfMeasRespDataMsgEntry_Info) isSLPerfMeasRespDataMsgEntry_Data() {} + +// Performance Measurement UP/DOWN state change notification message +type SLPerfMeasRespStateMsgEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of response + State SLPerfMeasSessionState `protobuf:"varint,1,opt,name=State,proto3,enum=service_layer.SLPerfMeasSessionState" json:"State,omitempty"` + // Perf Session Name. Unset for global states + // (SL_PERF_MEAS_SESSION_ALL_DOWN, SL_PERF_MEAS_SESSION_ALL_DELETED). + PerfSessionName *string `protobuf:"bytes,2,opt,name=PerfSessionName,proto3,oneof" json:"PerfSessionName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasRespStateMsgEntry) Reset() { + *x = SLPerfMeasRespStateMsgEntry{} + mi := &file_sl_perf_meas_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasRespStateMsgEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasRespStateMsgEntry) ProtoMessage() {} + +func (x *SLPerfMeasRespStateMsgEntry) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasRespStateMsgEntry.ProtoReflect.Descriptor instead. +func (*SLPerfMeasRespStateMsgEntry) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{6} +} + +func (x *SLPerfMeasRespStateMsgEntry) GetState() SLPerfMeasSessionState { + if x != nil { + return x.State + } + return SLPerfMeasSessionState_SL_PERF_MEAS_STATE_RESERVED +} + +func (x *SLPerfMeasRespStateMsgEntry) GetPerfSessionName() string { + if x != nil && x.PerfSessionName != nil { + return *x.PerfSessionName + } + return "" +} + +// Performance Measurement response message +type SLPerfMeasRespMsgEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: + // + // *SLPerfMeasRespMsgEntry_Error + // *SLPerfMeasRespMsgEntry_SessionDetail + // *SLPerfMeasRespMsgEntry_SessionState + Event isSLPerfMeasRespMsgEntry_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasRespMsgEntry) Reset() { + *x = SLPerfMeasRespMsgEntry{} + mi := &file_sl_perf_meas_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasRespMsgEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasRespMsgEntry) ProtoMessage() {} + +func (x *SLPerfMeasRespMsgEntry) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasRespMsgEntry.ProtoReflect.Descriptor instead. +func (*SLPerfMeasRespMsgEntry) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{7} +} + +func (x *SLPerfMeasRespMsgEntry) GetEvent() isSLPerfMeasRespMsgEntry_Event { + if x != nil { + return x.Event + } + return nil +} + +func (x *SLPerfMeasRespMsgEntry) GetError() *SLPerfMeasRespErrMsgEntry { + if x != nil { + if x, ok := x.Event.(*SLPerfMeasRespMsgEntry_Error); ok { + return x.Error + } + } + return nil +} + +func (x *SLPerfMeasRespMsgEntry) GetSessionDetail() *SLPerfMeasRespDataMsgEntry { + if x != nil { + if x, ok := x.Event.(*SLPerfMeasRespMsgEntry_SessionDetail); ok { + return x.SessionDetail + } + } + return nil +} + +func (x *SLPerfMeasRespMsgEntry) GetSessionState() *SLPerfMeasRespStateMsgEntry { + if x != nil { + if x, ok := x.Event.(*SLPerfMeasRespMsgEntry_SessionState); ok { + return x.SessionState + } + } + return nil +} + +type isSLPerfMeasRespMsgEntry_Event interface { + isSLPerfMeasRespMsgEntry_Event() +} + +type SLPerfMeasRespMsgEntry_Error struct { + // This field carries error info, if any error occurs + // during request processing + Error *SLPerfMeasRespErrMsgEntry `protobuf:"bytes,1,opt,name=Error,proto3,oneof"` +} + +type SLPerfMeasRespMsgEntry_SessionDetail struct { + // This field carries the session related details + SessionDetail *SLPerfMeasRespDataMsgEntry `protobuf:"bytes,2,opt,name=SessionDetail,proto3,oneof"` +} + +type SLPerfMeasRespMsgEntry_SessionState struct { + // This field notifies state changes for PM Probe sessions + SessionState *SLPerfMeasRespStateMsgEntry `protobuf:"bytes,3,opt,name=SessionState,proto3,oneof"` +} + +func (*SLPerfMeasRespMsgEntry_Error) isSLPerfMeasRespMsgEntry_Event() {} + +func (*SLPerfMeasRespMsgEntry_SessionDetail) isSLPerfMeasRespMsgEntry_Event() {} + +func (*SLPerfMeasRespMsgEntry_SessionState) isSLPerfMeasRespMsgEntry_Event() {} + +// Message response sent from server +type SLPerfMeasRespMsg struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Response entries + Entries []*SLPerfMeasRespMsgEntry `protobuf:"bytes,1,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPerfMeasRespMsg) Reset() { + *x = SLPerfMeasRespMsg{} + mi := &file_sl_perf_meas_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPerfMeasRespMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPerfMeasRespMsg) ProtoMessage() {} + +func (x *SLPerfMeasRespMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_perf_meas_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPerfMeasRespMsg.ProtoReflect.Descriptor instead. +func (*SLPerfMeasRespMsg) Descriptor() ([]byte, []int) { + return file_sl_perf_meas_proto_rawDescGZIP(), []int{8} +} + +func (x *SLPerfMeasRespMsg) GetEntries() []*SLPerfMeasRespMsgEntry { + if x != nil { + return x.Entries + } + return nil +} + +var File_sl_perf_meas_proto protoreflect.FileDescriptor + +const file_sl_perf_meas_proto_rawDesc = "" + + "\n" + + "\x12sl_perf_meas.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x88\x04\n" + + "\x11SLPerfMeasMonitor\x12-\n" + + "\x0fPerfSessionName\x18\x01 \x01(\tH\x00R\x0fPerfSessionName\x88\x01\x01\x122\n" + + "\x06Source\x18\x02 \x01(\v2\x1a.service_layer.SLIpAddressR\x06Source\x12<\n" + + "\vDestination\x18\x03 \x01(\v2\x1a.service_layer.SLIpAddressR\vDestination\x12\x1e\n" + + "\n" + + "LabelStack\x18\x04 \x03(\rR\n" + + "LabelStack\x12)\n" + + "\rProbeInterval\x18\x05 \x01(\x04H\x01R\rProbeInterval\x88\x01\x01\x12'\n" + + "\fTimeoutCount\x18\x06 \x01(\rH\x02R\fTimeoutCount\x88\x01\x01\x12@\n" + + "\rInterfaceInfo\x18\a \x01(\v2\x1a.service_layer.SLInterfaceR\rInterfaceInfo\x12!\n" + + "\tDscpValue\x18\b \x01(\rH\x03R\tDscpValue\x88\x01\x01\x124\n" + + "\aNextHop\x18\t \x01(\v2\x1a.service_layer.SLIpAddressR\aNextHopB\x12\n" + + "\x10_PerfSessionNameB\x10\n" + + "\x0e_ProbeIntervalB\x0f\n" + + "\r_TimeoutCountB\f\n" + + "\n" + + "_DscpValue\"\xde\x01\n" + + "\x0fSLPerfMeasStats\x12;\n" + + "\x05State\x18\x01 \x01(\x0e2%.service_layer.SLPerfMeasSessionStateR\x05State\x12\x1e\n" + + "\n" + + "ProbesSent\x18\x02 \x01(\x04R\n" + + "ProbesSent\x12&\n" + + "\x0eProbesReceived\x18\x03 \x01(\x04R\x0eProbesReceived\x12\x16\n" + + "\x06MinRtt\x18\x04 \x01(\x04R\x06MinRtt\x12\x16\n" + + "\x06MaxRtt\x18\x05 \x01(\x04R\x06MaxRtt\x12\x16\n" + + "\x06AvgRtt\x18\x06 \x01(\x04R\x06AvgRtt\"\xee\x01\n" + + "\x15SLPerfMeasReqMsgEntry\x12 \n" + + "\vOperationId\x18\x01 \x01(\x04R\vOperationId\x12:\n" + + "\aMsgType\x18\x02 \x01(\x0e2 .service_layer.SLPerfMeasMsgTypeR\aMsgType\x12*\n" + + "\x0fPerfSessionName\x18\x03 \x01(\tH\x00R\x0fPerfSessionName\x12B\n" + + "\n" + + "Parameters\x18\x04 \x01(\v2 .service_layer.SLPerfMeasMonitorH\x00R\n" + + "ParametersB\a\n" + + "\x05Value\"R\n" + + "\x10SLPerfMeasReqMsg\x12>\n" + + "\aEntries\x18\x01 \x03(\v2$.service_layer.SLPerfMeasReqMsgEntryR\aEntries\"\xa3\x01\n" + + "\x19SLPerfMeasRespErrMsgEntry\x12 \n" + + "\vOperationId\x18\x01 \x01(\x04R\vOperationId\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12(\n" + + "\x0fPerfSessionName\x18\x03 \x01(\tR\x0fPerfSessionName\"\x9c\x02\n" + + "\x1aSLPerfMeasRespDataMsgEntry\x12:\n" + + "\aMsgType\x18\x01 \x01(\x0e2 .service_layer.SLPerfMeasMsgTypeR\aMsgType\x12(\n" + + "\x0fPerfSessionName\x18\x02 \x01(\tR\x0fPerfSessionName\x12 \n" + + "\vOperationId\x18\x03 \x01(\x04R\vOperationId\x126\n" + + "\x05Stats\x18\x04 \x01(\v2\x1e.service_layer.SLPerfMeasStatsH\x00R\x05Stats\x126\n" + + "\x04Info\x18\x05 \x01(\v2 .service_layer.SLPerfMeasMonitorH\x00R\x04InfoB\x06\n" + + "\x04Data\"\x9d\x01\n" + + "\x1bSLPerfMeasRespStateMsgEntry\x12;\n" + + "\x05State\x18\x01 \x01(\x0e2%.service_layer.SLPerfMeasSessionStateR\x05State\x12-\n" + + "\x0fPerfSessionName\x18\x02 \x01(\tH\x00R\x0fPerfSessionName\x88\x01\x01B\x12\n" + + "\x10_PerfSessionName\"\x88\x02\n" + + "\x16SLPerfMeasRespMsgEntry\x12@\n" + + "\x05Error\x18\x01 \x01(\v2(.service_layer.SLPerfMeasRespErrMsgEntryH\x00R\x05Error\x12Q\n" + + "\rSessionDetail\x18\x02 \x01(\v2).service_layer.SLPerfMeasRespDataMsgEntryH\x00R\rSessionDetail\x12P\n" + + "\fSessionState\x18\x03 \x01(\v2*.service_layer.SLPerfMeasRespStateMsgEntryH\x00R\fSessionStateB\a\n" + + "\x05Event\"T\n" + + "\x11SLPerfMeasRespMsg\x12?\n" + + "\aEntries\x18\x01 \x03(\v2%.service_layer.SLPerfMeasRespMsgEntryR\aEntries*\xcb\x01\n" + + "\x11SLPerfMeasMsgType\x12\x1d\n" + + "\x19SL_PERF_MEAS_MSG_RESERVED\x10\x00\x12\x1f\n" + + "\x1bSL_PERF_MEAS_CREATE_SESSION\x10\x01\x12\x1f\n" + + "\x1bSL_PERF_MEAS_DELETE_SESSION\x10\x02\x12\x1a\n" + + "\x16SL_PERF_MEAS_GET_STATS\x10\x03\x12\x19\n" + + "\x15SL_PERF_MEAS_GET_INFO\x10\x04\x12\x1e\n" + + "\x1aSL_PERF_MEAS_FLUSH_MAX_RTT\x10\x05*\xbe\x01\n" + + "\x16SLPerfMeasSessionState\x12\x1f\n" + + "\x1bSL_PERF_MEAS_STATE_RESERVED\x10\x00\x12\x1d\n" + + "\x19SL_PERF_MEAS_SESSION_DOWN\x10\x01\x12\x1b\n" + + "\x17SL_PERF_MEAS_SESSION_UP\x10\x02\x12!\n" + + "\x1dSL_PERF_MEAS_SESSION_ALL_DOWN\x10\x03\x12$\n" + + " SL_PERF_MEAS_SESSION_ALL_DELETED\x10\x042p\n" + + "\x0eSLPerfMeasOper\x12^\n" + + "\x15SLPerfMeasNotifStream\x12\x1f.service_layer.SLPerfMeasReqMsg\x1a .service_layer.SLPerfMeasRespMsg(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" + +var ( + file_sl_perf_meas_proto_rawDescOnce sync.Once + file_sl_perf_meas_proto_rawDescData []byte +) + +func file_sl_perf_meas_proto_rawDescGZIP() []byte { + file_sl_perf_meas_proto_rawDescOnce.Do(func() { + file_sl_perf_meas_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_perf_meas_proto_rawDesc), len(file_sl_perf_meas_proto_rawDesc))) + }) + return file_sl_perf_meas_proto_rawDescData +} + +var file_sl_perf_meas_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_sl_perf_meas_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_sl_perf_meas_proto_goTypes = []any{ + (SLPerfMeasMsgType)(0), // 0: service_layer.SLPerfMeasMsgType + (SLPerfMeasSessionState)(0), // 1: service_layer.SLPerfMeasSessionState + (*SLPerfMeasMonitor)(nil), // 2: service_layer.SLPerfMeasMonitor + (*SLPerfMeasStats)(nil), // 3: service_layer.SLPerfMeasStats + (*SLPerfMeasReqMsgEntry)(nil), // 4: service_layer.SLPerfMeasReqMsgEntry + (*SLPerfMeasReqMsg)(nil), // 5: service_layer.SLPerfMeasReqMsg + (*SLPerfMeasRespErrMsgEntry)(nil), // 6: service_layer.SLPerfMeasRespErrMsgEntry + (*SLPerfMeasRespDataMsgEntry)(nil), // 7: service_layer.SLPerfMeasRespDataMsgEntry + (*SLPerfMeasRespStateMsgEntry)(nil), // 8: service_layer.SLPerfMeasRespStateMsgEntry + (*SLPerfMeasRespMsgEntry)(nil), // 9: service_layer.SLPerfMeasRespMsgEntry + (*SLPerfMeasRespMsg)(nil), // 10: service_layer.SLPerfMeasRespMsg + (*SLIpAddress)(nil), // 11: service_layer.SLIpAddress + (*SLInterface)(nil), // 12: service_layer.SLInterface + (*SLErrorStatus)(nil), // 13: service_layer.SLErrorStatus +} +var file_sl_perf_meas_proto_depIdxs = []int32{ + 11, // 0: service_layer.SLPerfMeasMonitor.Source:type_name -> service_layer.SLIpAddress + 11, // 1: service_layer.SLPerfMeasMonitor.Destination:type_name -> service_layer.SLIpAddress + 12, // 2: service_layer.SLPerfMeasMonitor.InterfaceInfo:type_name -> service_layer.SLInterface + 11, // 3: service_layer.SLPerfMeasMonitor.NextHop:type_name -> service_layer.SLIpAddress + 1, // 4: service_layer.SLPerfMeasStats.State:type_name -> service_layer.SLPerfMeasSessionState + 0, // 5: service_layer.SLPerfMeasReqMsgEntry.MsgType:type_name -> service_layer.SLPerfMeasMsgType + 2, // 6: service_layer.SLPerfMeasReqMsgEntry.Parameters:type_name -> service_layer.SLPerfMeasMonitor + 4, // 7: service_layer.SLPerfMeasReqMsg.Entries:type_name -> service_layer.SLPerfMeasReqMsgEntry + 13, // 8: service_layer.SLPerfMeasRespErrMsgEntry.ErrStatus:type_name -> service_layer.SLErrorStatus + 0, // 9: service_layer.SLPerfMeasRespDataMsgEntry.MsgType:type_name -> service_layer.SLPerfMeasMsgType + 3, // 10: service_layer.SLPerfMeasRespDataMsgEntry.Stats:type_name -> service_layer.SLPerfMeasStats + 2, // 11: service_layer.SLPerfMeasRespDataMsgEntry.Info:type_name -> service_layer.SLPerfMeasMonitor + 1, // 12: service_layer.SLPerfMeasRespStateMsgEntry.State:type_name -> service_layer.SLPerfMeasSessionState + 6, // 13: service_layer.SLPerfMeasRespMsgEntry.Error:type_name -> service_layer.SLPerfMeasRespErrMsgEntry + 7, // 14: service_layer.SLPerfMeasRespMsgEntry.SessionDetail:type_name -> service_layer.SLPerfMeasRespDataMsgEntry + 8, // 15: service_layer.SLPerfMeasRespMsgEntry.SessionState:type_name -> service_layer.SLPerfMeasRespStateMsgEntry + 9, // 16: service_layer.SLPerfMeasRespMsg.Entries:type_name -> service_layer.SLPerfMeasRespMsgEntry + 5, // 17: service_layer.SLPerfMeasOper.SLPerfMeasNotifStream:input_type -> service_layer.SLPerfMeasReqMsg + 10, // 18: service_layer.SLPerfMeasOper.SLPerfMeasNotifStream:output_type -> service_layer.SLPerfMeasRespMsg + 18, // [18:19] is the sub-list for method output_type + 17, // [17:18] 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 +} + +func init() { file_sl_perf_meas_proto_init() } +func file_sl_perf_meas_proto_init() { + if File_sl_perf_meas_proto != nil { + return + } + file_sl_common_types_proto_init() + file_sl_perf_meas_proto_msgTypes[0].OneofWrappers = []any{} + file_sl_perf_meas_proto_msgTypes[2].OneofWrappers = []any{ + (*SLPerfMeasReqMsgEntry_PerfSessionName)(nil), + (*SLPerfMeasReqMsgEntry_Parameters)(nil), + } + file_sl_perf_meas_proto_msgTypes[5].OneofWrappers = []any{ + (*SLPerfMeasRespDataMsgEntry_Stats)(nil), + (*SLPerfMeasRespDataMsgEntry_Info)(nil), + } + file_sl_perf_meas_proto_msgTypes[6].OneofWrappers = []any{} + file_sl_perf_meas_proto_msgTypes[7].OneofWrappers = []any{ + (*SLPerfMeasRespMsgEntry_Error)(nil), + (*SLPerfMeasRespMsgEntry_SessionDetail)(nil), + (*SLPerfMeasRespMsgEntry_SessionState)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_perf_meas_proto_rawDesc), len(file_sl_perf_meas_proto_rawDesc)), + NumEnums: 2, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_sl_perf_meas_proto_goTypes, + DependencyIndexes: file_sl_perf_meas_proto_depIdxs, + EnumInfos: file_sl_perf_meas_proto_enumTypes, + MessageInfos: file_sl_perf_meas_proto_msgTypes, + }.Build() + File_sl_perf_meas_proto = out.File + file_sl_perf_meas_proto_goTypes = nil + file_sl_perf_meas_proto_depIdxs = nil +} diff --git a/grpc/go/src/gengo/sl_perf_meas_grpc.pb.go b/grpc/go/src/gengo/sl_perf_meas_grpc.pb.go new file mode 100644 index 00000000..00c66269 --- /dev/null +++ b/grpc/go/src/gengo/sl_perf_meas_grpc.pb.go @@ -0,0 +1,229 @@ +// @file +// @brief Server RPC proto file for Performance monitoring probing. +// Declares an RPC that gets performance monitoring details. +// ---------------------------------------------------------------- +// Copyright (c) 2026 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 +// source: sl_perf_meas.proto + +package service_layer + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLPerfMeasOper_SLPerfMeasNotifStream_FullMethodName = "/service_layer.SLPerfMeasOper/SLPerfMeasNotifStream" +) + +// SLPerfMeasOperClient is the client API for SLPerfMeasOper service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup Performance +// @brief Performance monitoring service definitions. +// Defines the RPC for programming performance-measurement sessions and +// receiving notifications for those sessions. +// @{ +type SLPerfMeasOperClient interface { + // @addtogroup Performance + // @{ + // + // SLPerfMeasNotifStream is a single bidirectional stream that carries + // BOTH programming requests (create / delete / get-stats / get-info / + // flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + // asynchronous notifications (per-session UP/DOWN state changes, + // operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + // + // Lifecycle / ownership contract: + // + // 1. Session ownership. + // A session created on a stream is owned by that stream. A given + // server instance allows only one active SLPerfMeasNotifStream + // client at a time; a second client connecting will be rejected. + // Sessions are not shared across streams. + // + // 2. Subscribe-before-program. + // Clients SHOULD open the stream before issuing any create + // request, so that no UP/DOWN notifications are lost between + // create and the first read on the stream. + // + // 3. Stream disconnect (client side). + // On client disconnect or transport failure, the server sweeps + // all sessions owned by that stream. On reconnect the client + // MUST recreate any sessions it needs; nothing is preserved + // across the disconnect. + // + // 4. PM (perf_meas) process disconnect. + // If the underlying perf_meas process disconnects from the + // server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + // session state is retained; when PM reconnects, the server + // replays all sessions to PM and resumes per-session UP/DOWN + // notifications. No client action is required. + // + // 5. Server (emsd) restart / failover. + // Sessions are NOT preserved across a server restart or HA + // switchover. After the gRPC stream re-establishes, the client + // MUST treat all previously created sessions as gone and + // recreate them. + // + // 6. Reconciliation. + // On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + // wait for per-session UP notifications (no recreate needed). + // On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + // sessions have been removed; the client MUST create a fresh + // set of sessions (no replay/UP notifications will follow). + SLPerfMeasNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLPerfMeasReqMsg, SLPerfMeasRespMsg], error) +} + +type sLPerfMeasOperClient struct { + cc grpc.ClientConnInterface +} + +func NewSLPerfMeasOperClient(cc grpc.ClientConnInterface) SLPerfMeasOperClient { + return &sLPerfMeasOperClient{cc} +} + +func (c *sLPerfMeasOperClient) SLPerfMeasNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLPerfMeasReqMsg, SLPerfMeasRespMsg], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLPerfMeasOper_ServiceDesc.Streams[0], SLPerfMeasOper_SLPerfMeasNotifStream_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[SLPerfMeasReqMsg, SLPerfMeasRespMsg]{ClientStream: stream} + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLPerfMeasOper_SLPerfMeasNotifStreamClient = grpc.BidiStreamingClient[SLPerfMeasReqMsg, SLPerfMeasRespMsg] + +// SLPerfMeasOperServer is the server API for SLPerfMeasOper service. +// All implementations must embed UnimplementedSLPerfMeasOperServer +// for forward compatibility. +// +// @defgroup Performance +// @brief Performance monitoring service definitions. +// Defines the RPC for programming performance-measurement sessions and +// receiving notifications for those sessions. +// @{ +type SLPerfMeasOperServer interface { + // @addtogroup Performance + // @{ + // + // SLPerfMeasNotifStream is a single bidirectional stream that carries + // BOTH programming requests (create / delete / get-stats / get-info / + // flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + // asynchronous notifications (per-session UP/DOWN state changes, + // operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + // + // Lifecycle / ownership contract: + // + // 1. Session ownership. + // A session created on a stream is owned by that stream. A given + // server instance allows only one active SLPerfMeasNotifStream + // client at a time; a second client connecting will be rejected. + // Sessions are not shared across streams. + // + // 2. Subscribe-before-program. + // Clients SHOULD open the stream before issuing any create + // request, so that no UP/DOWN notifications are lost between + // create and the first read on the stream. + // + // 3. Stream disconnect (client side). + // On client disconnect or transport failure, the server sweeps + // all sessions owned by that stream. On reconnect the client + // MUST recreate any sessions it needs; nothing is preserved + // across the disconnect. + // + // 4. PM (perf_meas) process disconnect. + // If the underlying perf_meas process disconnects from the + // server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + // session state is retained; when PM reconnects, the server + // replays all sessions to PM and resumes per-session UP/DOWN + // notifications. No client action is required. + // + // 5. Server (emsd) restart / failover. + // Sessions are NOT preserved across a server restart or HA + // switchover. After the gRPC stream re-establishes, the client + // MUST treat all previously created sessions as gone and + // recreate them. + // + // 6. Reconciliation. + // On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + // wait for per-session UP notifications (no recreate needed). + // On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + // sessions have been removed; the client MUST create a fresh + // set of sessions (no replay/UP notifications will follow). + SLPerfMeasNotifStream(grpc.BidiStreamingServer[SLPerfMeasReqMsg, SLPerfMeasRespMsg]) error + mustEmbedUnimplementedSLPerfMeasOperServer() +} + +// UnimplementedSLPerfMeasOperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLPerfMeasOperServer struct{} + +func (UnimplementedSLPerfMeasOperServer) SLPerfMeasNotifStream(grpc.BidiStreamingServer[SLPerfMeasReqMsg, SLPerfMeasRespMsg]) error { + return status.Errorf(codes.Unimplemented, "method SLPerfMeasNotifStream not implemented") +} +func (UnimplementedSLPerfMeasOperServer) mustEmbedUnimplementedSLPerfMeasOperServer() {} +func (UnimplementedSLPerfMeasOperServer) testEmbeddedByValue() {} + +// UnsafeSLPerfMeasOperServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SLPerfMeasOperServer will +// result in compilation errors. +type UnsafeSLPerfMeasOperServer interface { + mustEmbedUnimplementedSLPerfMeasOperServer() +} + +func RegisterSLPerfMeasOperServer(s grpc.ServiceRegistrar, srv SLPerfMeasOperServer) { + // If the following call pancis, it indicates UnimplementedSLPerfMeasOperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&SLPerfMeasOper_ServiceDesc, srv) +} + +func _SLPerfMeasOper_SLPerfMeasNotifStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SLPerfMeasOperServer).SLPerfMeasNotifStream(&grpc.GenericServerStream[SLPerfMeasReqMsg, SLPerfMeasRespMsg]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLPerfMeasOper_SLPerfMeasNotifStreamServer = grpc.BidiStreamingServer[SLPerfMeasReqMsg, SLPerfMeasRespMsg] + +// SLPerfMeasOper_ServiceDesc is the grpc.ServiceDesc for SLPerfMeasOper service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SLPerfMeasOper_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "service_layer.SLPerfMeasOper", + HandlerType: (*SLPerfMeasOperServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "SLPerfMeasNotifStream", + Handler: _SLPerfMeasOper_SLPerfMeasNotifStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "sl_perf_meas.proto", +} diff --git a/grpc/go/src/gengo/sl_policy.pb.go b/grpc/go/src/gengo/sl_policy.pb.go index 82e0fa93..3bf61d7a 100644 --- a/grpc/go/src/gengo/sl_policy.pb.go +++ b/grpc/go/src/gengo/sl_policy.pb.go @@ -12,8 +12,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_policy.proto package service_layer @@ -23,6 +23,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -205,10 +206,7 @@ func (SLApplyDirection) EnumDescriptor() ([]byte, []int) { } type SLPolicyOpMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Policy object operation Oper SLPolicyObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLPolicyObjectOp" json:"Oper,omitempty"` // Unique OperationID sent by the client @@ -217,16 +215,16 @@ type SLPolicyOpMsg struct { // the life of the client. OperationID uint64 `protobuf:"varint,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` // List of policy entries - Policies []*SLPolicyEntry `protobuf:"bytes,3,rep,name=Policies,proto3" json:"Policies,omitempty"` + Policies []*SLPolicyEntry `protobuf:"bytes,3,rep,name=Policies,proto3" json:"Policies,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyOpMsg) Reset() { *x = SLPolicyOpMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyOpMsg) String() string { @@ -237,7 +235,7 @@ func (*SLPolicyOpMsg) ProtoMessage() {} func (x *SLPolicyOpMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -275,26 +273,23 @@ func (x *SLPolicyOpMsg) GetPolicies() []*SLPolicyEntry { // Policy-map object type SLPolicyEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Policy unique key identifier Key *SLPolicyKey `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` - // Types that are assignable to SLPolicyObjectList: + // Types that are valid to be assigned to SLPolicyObjectList: // // *SLPolicyEntry_Rules // *SLPolicyEntry_Intfs SLPolicyObjectList isSLPolicyEntry_SLPolicyObjectList `protobuf_oneof:"SLPolicyObjectList"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyEntry) Reset() { *x = SLPolicyEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyEntry) String() string { @@ -305,7 +300,7 @@ func (*SLPolicyEntry) ProtoMessage() {} func (x *SLPolicyEntry) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -327,23 +322,27 @@ func (x *SLPolicyEntry) GetKey() *SLPolicyKey { return nil } -func (m *SLPolicyEntry) GetSLPolicyObjectList() isSLPolicyEntry_SLPolicyObjectList { - if m != nil { - return m.SLPolicyObjectList +func (x *SLPolicyEntry) GetSLPolicyObjectList() isSLPolicyEntry_SLPolicyObjectList { + if x != nil { + return x.SLPolicyObjectList } return nil } func (x *SLPolicyEntry) GetRules() *PolicyRuleList { - if x, ok := x.GetSLPolicyObjectList().(*SLPolicyEntry_Rules); ok { - return x.Rules + if x != nil { + if x, ok := x.SLPolicyObjectList.(*SLPolicyEntry_Rules); ok { + return x.Rules + } } return nil } func (x *SLPolicyEntry) GetIntfs() *PolicyIntfList { - if x, ok := x.GetSLPolicyObjectList().(*SLPolicyEntry_Intfs); ok { - return x.Intfs + if x != nil { + if x, ok := x.SLPolicyObjectList.(*SLPolicyEntry_Intfs); ok { + return x.Intfs + } } return nil } @@ -366,20 +365,17 @@ func (*SLPolicyEntry_Intfs) isSLPolicyEntry_SLPolicyObjectList() {} // List of rules type PolicyRuleList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PolicyRules []*SLPolicyRule `protobuf:"bytes,1,rep,name=PolicyRules,proto3" json:"PolicyRules,omitempty"` unknownFields protoimpl.UnknownFields - - PolicyRules []*SLPolicyRule `protobuf:"bytes,1,rep,name=PolicyRules,proto3" json:"PolicyRules,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PolicyRuleList) Reset() { *x = PolicyRuleList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PolicyRuleList) String() string { @@ -390,7 +386,7 @@ func (*PolicyRuleList) ProtoMessage() {} func (x *PolicyRuleList) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -414,20 +410,17 @@ func (x *PolicyRuleList) GetPolicyRules() []*SLPolicyRule { // List of interfaces type PolicyIntfList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PolicyIntfs []*SLPolicyIntf `protobuf:"bytes,1,rep,name=PolicyIntfs,proto3" json:"PolicyIntfs,omitempty"` unknownFields protoimpl.UnknownFields - - PolicyIntfs []*SLPolicyIntf `protobuf:"bytes,1,rep,name=PolicyIntfs,proto3" json:"PolicyIntfs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PolicyIntfList) Reset() { *x = PolicyIntfList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PolicyIntfList) String() string { @@ -438,7 +431,7 @@ func (*PolicyIntfList) ProtoMessage() {} func (x *PolicyIntfList) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -461,23 +454,20 @@ func (x *PolicyIntfList) GetPolicyIntfs() []*SLPolicyIntf { } type SLPolicyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Name of the policy PolicyName string `protobuf:"bytes,1,opt,name=PolicyName,proto3" json:"PolicyName,omitempty"` // PolicyType - Type SLPolicyType `protobuf:"varint,2,opt,name=Type,proto3,enum=service_layer.SLPolicyType" json:"Type,omitempty"` + Type SLPolicyType `protobuf:"varint,2,opt,name=Type,proto3,enum=service_layer.SLPolicyType" json:"Type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyKey) Reset() { *x = SLPolicyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyKey) String() string { @@ -488,7 +478,7 @@ func (*SLPolicyKey) ProtoMessage() {} func (x *SLPolicyKey) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -529,10 +519,7 @@ func (x *SLPolicyKey) GetType() SLPolicyType { // one action MUST be present for the match criteria // under a rule. type SLPolicyRule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Name of the rule referenced in the policy object RuleName string `protobuf:"bytes,1,opt,name=RuleName,proto3" json:"RuleName,omitempty"` // Priority of the rule within the policy @@ -540,16 +527,16 @@ type SLPolicyRule struct { // Defines the match criteria under this rule Match *SLRuleMatch `protobuf:"bytes,3,opt,name=Match,proto3" json:"Match,omitempty"` // Action associated with this rule - Action *SLRuleAction `protobuf:"bytes,4,opt,name=Action,proto3" json:"Action,omitempty"` + Action *SLRuleAction `protobuf:"bytes,4,opt,name=Action,proto3" json:"Action,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyRule) Reset() { *x = SLPolicyRule{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyRule) String() string { @@ -560,7 +547,7 @@ func (*SLPolicyRule) ProtoMessage() {} func (x *SLPolicyRule) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -608,24 +595,21 @@ func (x *SLPolicyRule) GetAction() *SLRuleAction { // matched by the packet for application of the // specified action. type SLRuleMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Encapsulate all different values of dscp supported Dscp *SLDscpMatch `protobuf:"bytes,1,opt,name=Dscp,proto3" json:"Dscp,omitempty"` // Match on PathGroup Identifier // The path group belongs to the same VRF as the policy entry. - PathGroup *SLPathGroupRefKey `protobuf:"bytes,2,opt,name=PathGroup,proto3" json:"PathGroup,omitempty"` + PathGroup *SLPathGroupRefKey `protobuf:"bytes,2,opt,name=PathGroup,proto3" json:"PathGroup,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRuleMatch) Reset() { *x = SLRuleMatch{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRuleMatch) String() string { @@ -636,7 +620,7 @@ func (*SLRuleMatch) ProtoMessage() {} func (x *SLRuleMatch) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -668,23 +652,20 @@ func (x *SLRuleMatch) GetPathGroup() *SLPathGroupRefKey { // Dscp match type // Oneof is used here for future extensibility type SLDscpMatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Dscp: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Dscp: // // *SLDscpMatch_DscpValue - Dscp isSLDscpMatch_Dscp `protobuf_oneof:"Dscp"` + Dscp isSLDscpMatch_Dscp `protobuf_oneof:"Dscp"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLDscpMatch) Reset() { *x = SLDscpMatch{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLDscpMatch) String() string { @@ -695,7 +676,7 @@ func (*SLDscpMatch) ProtoMessage() {} func (x *SLDscpMatch) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -710,16 +691,18 @@ func (*SLDscpMatch) Descriptor() ([]byte, []int) { return file_sl_policy_proto_rawDescGZIP(), []int{7} } -func (m *SLDscpMatch) GetDscp() isSLDscpMatch_Dscp { - if m != nil { - return m.Dscp +func (x *SLDscpMatch) GetDscp() isSLDscpMatch_Dscp { + if x != nil { + return x.Dscp } return nil } func (x *SLDscpMatch) GetDscpValue() uint32 { - if x, ok := x.GetDscp().(*SLDscpMatch_DscpValue); ok { - return x.DscpValue + if x != nil { + if x, ok := x.Dscp.(*SLDscpMatch_DscpValue); ok { + return x.DscpValue + } } return 0 } @@ -737,24 +720,21 @@ func (*SLDscpMatch_DscpValue) isSLDscpMatch_Dscp() {} // Action applied on the packet that matches a rule. type SLRuleAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // PathGroup where packet will be forwarded. // The path group belongs to the same VRF as the policy entry. PathGroup *SLPathGroupRefKey `protobuf:"bytes,1,opt,name=PathGroup,proto3" json:"PathGroup,omitempty"` // Enable Stats counter EnableStatsCounter bool `protobuf:"varint,2,opt,name=EnableStatsCounter,proto3" json:"EnableStatsCounter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRuleAction) Reset() { *x = SLRuleAction{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRuleAction) String() string { @@ -765,7 +745,7 @@ func (*SLRuleAction) ProtoMessage() {} func (x *SLRuleAction) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -796,23 +776,20 @@ func (x *SLRuleAction) GetEnableStatsCounter() bool { // Policy intf object type SLPolicyIntf struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Interface on which the policy is applied/unapplied Key *SLInterface `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // Policy Apply Direction - IntfDir SLApplyDirection `protobuf:"varint,2,opt,name=IntfDir,proto3,enum=service_layer.SLApplyDirection" json:"IntfDir,omitempty"` + IntfDir SLApplyDirection `protobuf:"varint,2,opt,name=IntfDir,proto3,enum=service_layer.SLApplyDirection" json:"IntfDir,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyIntf) Reset() { *x = SLPolicyIntf{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyIntf) String() string { @@ -823,7 +800,7 @@ func (*SLPolicyIntf) ProtoMessage() {} func (x *SLPolicyIntf) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -853,22 +830,19 @@ func (x *SLPolicyIntf) GetIntfDir() SLApplyDirection { } type SLPolicyOpRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Policy object operation for which the response is sent - OperationID uint64 `protobuf:"varint,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - Results []*SLPolicyRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + OperationID uint64 `protobuf:"varint,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Results []*SLPolicyRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyOpRsp) Reset() { *x = SLPolicyOpRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyOpRsp) String() string { @@ -879,7 +853,7 @@ func (*SLPolicyOpRsp) ProtoMessage() {} func (x *SLPolicyOpRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -909,27 +883,24 @@ func (x *SLPolicyOpRsp) GetResults() []*SLPolicyRes { } type SLPolicyRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Policy unique key identifier Key *SLPolicyKey `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` - // Types that are assignable to SLPolicyOpStatus: + // Types that are valid to be assigned to SLPolicyOpStatus: // // *SLPolicyRes_PolicyStatus // *SLPolicyRes_RulesStatus // *SLPolicyRes_IntfStatus SLPolicyOpStatus isSLPolicyRes_SLPolicyOpStatus `protobuf_oneof:"SLPolicyOpStatus"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyRes) Reset() { *x = SLPolicyRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyRes) String() string { @@ -940,7 +911,7 @@ func (*SLPolicyRes) ProtoMessage() {} func (x *SLPolicyRes) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -962,30 +933,36 @@ func (x *SLPolicyRes) GetKey() *SLPolicyKey { return nil } -func (m *SLPolicyRes) GetSLPolicyOpStatus() isSLPolicyRes_SLPolicyOpStatus { - if m != nil { - return m.SLPolicyOpStatus +func (x *SLPolicyRes) GetSLPolicyOpStatus() isSLPolicyRes_SLPolicyOpStatus { + if x != nil { + return x.SLPolicyOpStatus } return nil } func (x *SLPolicyRes) GetPolicyStatus() *SLErrorStatus { - if x, ok := x.GetSLPolicyOpStatus().(*SLPolicyRes_PolicyStatus); ok { - return x.PolicyStatus + if x != nil { + if x, ok := x.SLPolicyOpStatus.(*SLPolicyRes_PolicyStatus); ok { + return x.PolicyStatus + } } return nil } func (x *SLPolicyRes) GetRulesStatus() *SLPolicyRuleStatusList { - if x, ok := x.GetSLPolicyOpStatus().(*SLPolicyRes_RulesStatus); ok { - return x.RulesStatus + if x != nil { + if x, ok := x.SLPolicyOpStatus.(*SLPolicyRes_RulesStatus); ok { + return x.RulesStatus + } } return nil } func (x *SLPolicyRes) GetIntfStatus() *SLPolicyIntfStatusList { - if x, ok := x.GetSLPolicyOpStatus().(*SLPolicyRes_IntfStatus); ok { - return x.IntfStatus + if x != nil { + if x, ok := x.SLPolicyOpStatus.(*SLPolicyRes_IntfStatus); ok { + return x.IntfStatus + } } return nil } @@ -1018,20 +995,17 @@ func (*SLPolicyRes_RulesStatus) isSLPolicyRes_SLPolicyOpStatus() {} func (*SLPolicyRes_IntfStatus) isSLPolicyRes_SLPolicyOpStatus() {} type SLPolicyRuleStatusList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + RulesStatus []*SLPolicyRuleStatus `protobuf:"bytes,1,rep,name=RulesStatus,proto3" json:"RulesStatus,omitempty"` unknownFields protoimpl.UnknownFields - - RulesStatus []*SLPolicyRuleStatus `protobuf:"bytes,1,rep,name=RulesStatus,proto3" json:"RulesStatus,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLPolicyRuleStatusList) Reset() { *x = SLPolicyRuleStatusList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyRuleStatusList) String() string { @@ -1042,7 +1016,7 @@ func (*SLPolicyRuleStatusList) ProtoMessage() {} func (x *SLPolicyRuleStatusList) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1065,20 +1039,17 @@ func (x *SLPolicyRuleStatusList) GetRulesStatus() []*SLPolicyRuleStatus { } type SLPolicyIntfStatusList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IntfsStatus []*SLPolicyIntfStatus `protobuf:"bytes,1,rep,name=IntfsStatus,proto3" json:"IntfsStatus,omitempty"` unknownFields protoimpl.UnknownFields - - IntfsStatus []*SLPolicyIntfStatus `protobuf:"bytes,1,rep,name=IntfsStatus,proto3" json:"IntfsStatus,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLPolicyIntfStatusList) Reset() { *x = SLPolicyIntfStatusList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyIntfStatusList) String() string { @@ -1089,7 +1060,7 @@ func (*SLPolicyIntfStatusList) ProtoMessage() {} func (x *SLPolicyIntfStatusList) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1112,21 +1083,18 @@ func (x *SLPolicyIntfStatusList) GetIntfsStatus() []*SLPolicyIntfStatus { } type SLPolicyRuleStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + RuleName string `protobuf:"bytes,1,opt,name=RuleName,proto3" json:"RuleName,omitempty"` + Status *SLErrorStatus `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"` unknownFields protoimpl.UnknownFields - - RuleName string `protobuf:"bytes,1,opt,name=RuleName,proto3" json:"RuleName,omitempty"` - Status *SLErrorStatus `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLPolicyRuleStatus) Reset() { *x = SLPolicyRuleStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyRuleStatus) String() string { @@ -1137,7 +1105,7 @@ func (*SLPolicyRuleStatus) ProtoMessage() {} func (x *SLPolicyRuleStatus) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1167,21 +1135,18 @@ func (x *SLPolicyRuleStatus) GetStatus() *SLErrorStatus { } type SLPolicyIntfStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Intf *SLInterface `protobuf:"bytes,1,opt,name=Intf,proto3" json:"Intf,omitempty"` + Status *SLErrorStatus `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"` unknownFields protoimpl.UnknownFields - - Intf *SLInterface `protobuf:"bytes,1,opt,name=Intf,proto3" json:"Intf,omitempty"` - Status *SLErrorStatus `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLPolicyIntfStatus) Reset() { *x = SLPolicyIntfStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyIntfStatus) String() string { @@ -1192,7 +1157,7 @@ func (*SLPolicyIntfStatus) ProtoMessage() {} func (x *SLPolicyIntfStatus) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1223,18 +1188,16 @@ func (x *SLPolicyIntfStatus) GetStatus() *SLErrorStatus { // Get all the policies and the interfaces where it is applied type SLPolicyGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyGetMsg) Reset() { *x = SLPolicyGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyGetMsg) String() string { @@ -1245,7 +1208,7 @@ func (*SLPolicyGetMsg) ProtoMessage() {} func (x *SLPolicyGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1262,25 +1225,22 @@ func (*SLPolicyGetMsg) Descriptor() ([]byte, []int) { // List of policies, rules and the interfaces where it is applied type SLPolicyInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Policy unique key identifier Key *SLPolicyKey `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` // List of rules PolicyRules []*SLPolicyRule `protobuf:"bytes,2,rep,name=PolicyRules,proto3" json:"PolicyRules,omitempty"` // List of interfaces - PolicyIntfs []*SLPolicyIntf `protobuf:"bytes,3,rep,name=PolicyIntfs,proto3" json:"PolicyIntfs,omitempty"` + PolicyIntfs []*SLPolicyIntf `protobuf:"bytes,3,rep,name=PolicyIntfs,proto3" json:"PolicyIntfs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyInfo) Reset() { *x = SLPolicyInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyInfo) String() string { @@ -1291,7 +1251,7 @@ func (*SLPolicyInfo) ProtoMessage() {} func (x *SLPolicyInfo) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1328,23 +1288,20 @@ func (x *SLPolicyInfo) GetPolicyIntfs() []*SLPolicyIntf { } type SLPolicyGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Status of the policy get operation PolicyCfgOpStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=PolicyCfgOpStatus,proto3" json:"PolicyCfgOpStatus,omitempty"` // List of Policy info. It will be empty incase of failure - PolicyObjs []*SLPolicyInfo `protobuf:"bytes,2,rep,name=PolicyObjs,proto3" json:"PolicyObjs,omitempty"` + PolicyObjs []*SLPolicyInfo `protobuf:"bytes,2,rep,name=PolicyObjs,proto3" json:"PolicyObjs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyGetMsgRsp) Reset() { *x = SLPolicyGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyGetMsgRsp) String() string { @@ -1355,7 +1312,7 @@ func (*SLPolicyGetMsgRsp) ProtoMessage() {} func (x *SLPolicyGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1386,18 +1343,16 @@ func (x *SLPolicyGetMsgRsp) GetPolicyObjs() []*SLPolicyInfo { // Policy Global Get Capabilities Message type SLPolicyGlobalGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyGlobalGetMsg) Reset() { *x = SLPolicyGlobalGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyGlobalGetMsg) String() string { @@ -1408,7 +1363,7 @@ func (*SLPolicyGlobalGetMsg) ProtoMessage() {} func (x *SLPolicyGlobalGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1425,25 +1380,22 @@ func (*SLPolicyGlobalGetMsg) Descriptor() ([]byte, []int) { // Policy Global Get Capabilities Message Response type SLPolicyGlobalGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Max number of policies supported MaxPolicies uint32 `protobuf:"varint,2,opt,name=MaxPolicies,proto3" json:"MaxPolicies,omitempty"` // Max Rules supported within a policy - MaxRules uint32 `protobuf:"varint,3,opt,name=MaxRules,proto3" json:"MaxRules,omitempty"` + MaxRules uint32 `protobuf:"varint,3,opt,name=MaxRules,proto3" json:"MaxRules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLPolicyGlobalGetMsgRsp) Reset() { *x = SLPolicyGlobalGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_policy_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_policy_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLPolicyGlobalGetMsgRsp) String() string { @@ -1454,7 +1406,7 @@ func (*SLPolicyGlobalGetMsgRsp) ProtoMessage() {} func (x *SLPolicyGlobalGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_policy_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1492,236 +1444,116 @@ func (x *SLPolicyGlobalGetMsgRsp) GetMaxRules() uint32 { var File_sl_policy_proto protoreflect.FileDescriptor -var file_sl_policy_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0xa0, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x4f, 0x70, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 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, 0x38, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xc1, 0x01, 0x0a, 0x0d, 0x53, - 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x03, - 0x4b, 0x65, 0x79, 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, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x35, 0x0a, 0x05, 0x49, 0x6e, 0x74, 0x66, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x05, 0x49, 0x6e, 0x74, 0x66, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x53, 0x4c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4f, - 0x0a, 0x0e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x3d, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 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, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, - 0x4f, 0x0a, 0x0e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x73, - 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, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x6e, 0x74, 0x66, 0x52, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x73, - 0x22, 0x5e, 0x0a, 0x0b, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x12, - 0x1e, 0x0a, 0x0a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x22, 0xb3, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x12, - 0x30, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 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, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x33, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x0b, 0x53, 0x4c, 0x52, 0x75, 0x6c, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x04, 0x44, 0x73, 0x63, 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, 0x44, 0x73, 0x63, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x04, 0x44, 0x73, 0x63, 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, - 0x75, 0x70, 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, 0x50, 0x61, 0x74, 0x68, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x50, 0x61, 0x74, 0x68, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x35, 0x0a, 0x0b, 0x53, 0x4c, 0x44, 0x73, 0x63, 0x70, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x09, 0x44, 0x73, 0x63, 0x70, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x44, 0x73, 0x63, 0x70, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x44, 0x73, 0x63, 0x70, 0x22, 0x7e, 0x0a, 0x0c, - 0x53, 0x4c, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x09, - 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x4b, 0x65, - 0x79, 0x52, 0x09, 0x50, 0x61, 0x74, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x12, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x77, 0x0a, 0x0c, - 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x12, 0x2c, 0x0a, 0x03, - 0x4b, 0x65, 0x79, 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, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x49, 0x6e, - 0x74, 0x66, 0x44, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x49, 0x6e, - 0x74, 0x66, 0x44, 0x69, 0x72, 0x22, 0x67, 0x0a, 0x0d, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4f, 0x70, 0x52, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xa7, - 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x12, 0x2c, - 0x0a, 0x03, 0x4b, 0x65, 0x79, 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, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x0c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, 0x0c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x49, 0x0a, 0x0b, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, - 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x49, - 0x6e, 0x74, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x74, 0x66, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x4f, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5d, 0x0a, 0x16, 0x53, 0x4c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 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, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5d, 0x0a, 0x16, 0x53, 0x4c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x66, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x6e, 0x74, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x49, 0x6e, 0x74, 0x66, 0x73, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x66, 0x0a, 0x12, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 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, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7a, - 0x0a, 0x12, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x74, 0x66, 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, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x04, - 0x49, 0x6e, 0x74, 0x66, 0x12, 0x34, 0x0a, 0x06, 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, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x4c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xba, 0x01, 0x0a, - 0x0c, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, - 0x03, 0x4b, 0x65, 0x79, 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, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x52, 0x0b, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x74, 0x66, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x53, 0x4c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, - 0x4a, 0x0a, 0x11, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x66, 0x67, 0x4f, 0x70, 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, 0x11, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x43, 0x66, 0x67, 0x4f, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x62, 0x6a, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x62, 0x6a, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x4c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, - 0x22, 0x93, 0x01, 0x0a, 0x17, 0x53, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 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, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x78, 0x50, - 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, 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, - 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x44, 0x44, - 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x50, - 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, - 0x41, 0x44, 0x44, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, - 0x50, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x12, - 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, 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, 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, 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, -} +const file_sl_policy_proto_rawDesc = "" + + "\n" + + "\x0fsl_policy.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\xa0\x01\n" + + "\rSLPolicyOpMsg\x123\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x1f.service_layer.SLPolicyObjectOpR\x04Oper\x12 \n" + + "\vOperationID\x18\x02 \x01(\x04R\vOperationID\x128\n" + + "\bPolicies\x18\x03 \x03(\v2\x1c.service_layer.SLPolicyEntryR\bPolicies\"\xc1\x01\n" + + "\rSLPolicyEntry\x12,\n" + + "\x03Key\x18\x01 \x01(\v2\x1a.service_layer.SLPolicyKeyR\x03Key\x125\n" + + "\x05Rules\x18\x02 \x01(\v2\x1d.service_layer.PolicyRuleListH\x00R\x05Rules\x125\n" + + "\x05Intfs\x18\x03 \x01(\v2\x1d.service_layer.PolicyIntfListH\x00R\x05IntfsB\x14\n" + + "\x12SLPolicyObjectList\"O\n" + + "\x0ePolicyRuleList\x12=\n" + + "\vPolicyRules\x18\x01 \x03(\v2\x1b.service_layer.SLPolicyRuleR\vPolicyRules\"O\n" + + "\x0ePolicyIntfList\x12=\n" + + "\vPolicyIntfs\x18\x01 \x03(\v2\x1b.service_layer.SLPolicyIntfR\vPolicyIntfs\"^\n" + + "\vSLPolicyKey\x12\x1e\n" + + "\n" + + "PolicyName\x18\x01 \x01(\tR\n" + + "PolicyName\x12/\n" + + "\x04Type\x18\x02 \x01(\x0e2\x1b.service_layer.SLPolicyTypeR\x04Type\"\xb3\x01\n" + + "\fSLPolicyRule\x12\x1a\n" + + "\bRuleName\x18\x01 \x01(\tR\bRuleName\x12 \n" + + "\vPriorityStr\x18\x02 \x01(\tR\vPriorityStr\x120\n" + + "\x05Match\x18\x03 \x01(\v2\x1a.service_layer.SLRuleMatchR\x05Match\x123\n" + + "\x06Action\x18\x04 \x01(\v2\x1b.service_layer.SLRuleActionR\x06Action\"}\n" + + "\vSLRuleMatch\x12.\n" + + "\x04Dscp\x18\x01 \x01(\v2\x1a.service_layer.SLDscpMatchR\x04Dscp\x12>\n" + + "\tPathGroup\x18\x02 \x01(\v2 .service_layer.SLPathGroupRefKeyR\tPathGroup\"5\n" + + "\vSLDscpMatch\x12\x1e\n" + + "\tDscpValue\x18\x01 \x01(\rH\x00R\tDscpValueB\x06\n" + + "\x04Dscp\"~\n" + + "\fSLRuleAction\x12>\n" + + "\tPathGroup\x18\x01 \x01(\v2 .service_layer.SLPathGroupRefKeyR\tPathGroup\x12.\n" + + "\x12EnableStatsCounter\x18\x02 \x01(\bR\x12EnableStatsCounter\"w\n" + + "\fSLPolicyIntf\x12,\n" + + "\x03Key\x18\x01 \x01(\v2\x1a.service_layer.SLInterfaceR\x03Key\x129\n" + + "\aIntfDir\x18\x02 \x01(\x0e2\x1f.service_layer.SLApplyDirectionR\aIntfDir\"g\n" + + "\rSLPolicyOpRsp\x12 \n" + + "\vOperationID\x18\x01 \x01(\x04R\vOperationID\x124\n" + + "\aResults\x18\x02 \x03(\v2\x1a.service_layer.SLPolicyResR\aResults\"\xa7\x02\n" + + "\vSLPolicyRes\x12,\n" + + "\x03Key\x18\x01 \x01(\v2\x1a.service_layer.SLPolicyKeyR\x03Key\x12B\n" + + "\fPolicyStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\fPolicyStatus\x12I\n" + + "\vRulesStatus\x18\x03 \x01(\v2%.service_layer.SLPolicyRuleStatusListH\x00R\vRulesStatus\x12G\n" + + "\n" + + "IntfStatus\x18\x04 \x01(\v2%.service_layer.SLPolicyIntfStatusListH\x00R\n" + + "IntfStatusB\x12\n" + + "\x10SLPolicyOpStatus\"]\n" + + "\x16SLPolicyRuleStatusList\x12C\n" + + "\vRulesStatus\x18\x01 \x03(\v2!.service_layer.SLPolicyRuleStatusR\vRulesStatus\"]\n" + + "\x16SLPolicyIntfStatusList\x12C\n" + + "\vIntfsStatus\x18\x01 \x03(\v2!.service_layer.SLPolicyIntfStatusR\vIntfsStatus\"f\n" + + "\x12SLPolicyRuleStatus\x12\x1a\n" + + "\bRuleName\x18\x01 \x01(\tR\bRuleName\x124\n" + + "\x06Status\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\x06Status\"z\n" + + "\x12SLPolicyIntfStatus\x12.\n" + + "\x04Intf\x18\x01 \x01(\v2\x1a.service_layer.SLInterfaceR\x04Intf\x124\n" + + "\x06Status\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\x06Status\"\x10\n" + + "\x0eSLPolicyGetMsg\"\xba\x01\n" + + "\fSLPolicyInfo\x12,\n" + + "\x03Key\x18\x01 \x01(\v2\x1a.service_layer.SLPolicyKeyR\x03Key\x12=\n" + + "\vPolicyRules\x18\x02 \x03(\v2\x1b.service_layer.SLPolicyRuleR\vPolicyRules\x12=\n" + + "\vPolicyIntfs\x18\x03 \x03(\v2\x1b.service_layer.SLPolicyIntfR\vPolicyIntfs\"\x9c\x01\n" + + "\x11SLPolicyGetMsgRsp\x12J\n" + + "\x11PolicyCfgOpStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\x11PolicyCfgOpStatus\x12;\n" + + "\n" + + "PolicyObjs\x18\x02 \x03(\v2\x1b.service_layer.SLPolicyInfoR\n" + + "PolicyObjs\"\x16\n" + + "\x14SLPolicyGlobalGetMsg\"\x93\x01\n" + + "\x17SLPolicyGlobalGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12 \n" + + "\vMaxPolicies\x18\x02 \x01(\rR\vMaxPolicies\x12\x1a\n" + + "\bMaxRules\x18\x03 \x01(\rR\bMaxRules*\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\a*=\n" + + "\fSLPolicyType\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\x012\x88\x02\n" + + "\bSLPolicy\x12H\n" + + "\n" + + "SLPolicyOp\x12\x1c.service_layer.SLPolicyOpMsg\x1a\x1c.service_layer.SLPolicyOpRsp\x12P\n" + + "\vSLPolicyGet\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" var ( file_sl_policy_proto_rawDescOnce sync.Once - file_sl_policy_proto_rawDescData = file_sl_policy_proto_rawDesc + file_sl_policy_proto_rawDescData []byte ) func file_sl_policy_proto_rawDescGZIP() []byte { file_sl_policy_proto_rawDescOnce.Do(func() { - file_sl_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_policy_proto_rawDescData) + file_sl_policy_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_policy_proto_rawDesc), len(file_sl_policy_proto_rawDesc))) }) return file_sl_policy_proto_rawDescData } var file_sl_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_sl_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 21) -var file_sl_policy_proto_goTypes = []interface{}{ +var file_sl_policy_proto_goTypes = []any{ (SLPolicyObjectOp)(0), // 0: service_layer.SLPolicyObjectOp (SLPolicyType)(0), // 1: service_layer.SLPolicyType (SLApplyDirection)(0), // 2: service_layer.SLApplyDirection @@ -1801,268 +1633,14 @@ func file_sl_policy_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyOpMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyRuleList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyIntfList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyRule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRuleMatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLDscpMatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRuleAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyIntf); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyOpRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyRuleStatusList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyIntfStatusList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyRuleStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyIntfStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyGlobalGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_policy_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLPolicyGlobalGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_policy_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_sl_policy_proto_msgTypes[1].OneofWrappers = []any{ (*SLPolicyEntry_Rules)(nil), (*SLPolicyEntry_Intfs)(nil), } - file_sl_policy_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_sl_policy_proto_msgTypes[7].OneofWrappers = []any{ (*SLDscpMatch_DscpValue)(nil), } - file_sl_policy_proto_msgTypes[11].OneofWrappers = []interface{}{ + file_sl_policy_proto_msgTypes[11].OneofWrappers = []any{ (*SLPolicyRes_PolicyStatus)(nil), (*SLPolicyRes_RulesStatus)(nil), (*SLPolicyRes_IntfStatus)(nil), @@ -2071,7 +1649,7 @@ func file_sl_policy_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_policy_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_policy_proto_rawDesc), len(file_sl_policy_proto_rawDesc)), NumEnums: 3, NumMessages: 21, NumExtensions: 0, @@ -2083,7 +1661,6 @@ func file_sl_policy_proto_init() { MessageInfos: file_sl_policy_proto_msgTypes, }.Build() File_sl_policy_proto = out.File - file_sl_policy_proto_rawDesc = nil file_sl_policy_proto_goTypes = nil file_sl_policy_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_policy_grpc.pb.go b/grpc/go/src/gengo/sl_policy_grpc.pb.go index 53eab2c5..cfab81ee 100644 --- a/grpc/go/src/gengo/sl_policy_grpc.pb.go +++ b/grpc/go/src/gengo/sl_policy_grpc.pb.go @@ -1,7 +1,19 @@ +// @file +// @brief Client RPC proto file for Policy RPCs. +// Declares RPC calls for adding, replacing, deleting policies, +// and applying/un-applying these policies on interfaces. +// +// ---------------------------------------------------------------- +// Copyright (c) 2024-2025 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_policy.proto package service_layer @@ -15,12 +27,28 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLPolicy_SLPolicyOp_FullMethodName = "/service_layer.SLPolicy/SLPolicyOp" + SLPolicy_SLPolicyGet_FullMethodName = "/service_layer.SLPolicy/SLPolicyGet" + SLPolicy_SLPolicyGlobalGet_FullMethodName = "/service_layer.SLPolicy/SLPolicyGlobalGet" +) // SLPolicyClient is the client API for SLPolicy service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLPolicy +// @ingroup Policy +// 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. +// @{ type SLPolicyClient interface { // On client restart or RPC disconnects, the client has the // to reconcile its new state with the state on the device @@ -28,7 +56,7 @@ type SLPolicyClient interface { SLPolicyOp(ctx context.Context, in *SLPolicyOpMsg, opts ...grpc.CallOption) (*SLPolicyOpRsp, error) // Retrieve all Policies and its rules and the interfaces where the // policy is applied from the server - SLPolicyGet(ctx context.Context, in *SLPolicyGetMsg, opts ...grpc.CallOption) (SLPolicy_SLPolicyGetClient, error) + SLPolicyGet(ctx context.Context, in *SLPolicyGetMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLPolicyGetMsgRsp], error) // Retrieve Global Policy capabilities SLPolicyGlobalGet(ctx context.Context, in *SLPolicyGlobalGetMsg, opts ...grpc.CallOption) (*SLPolicyGlobalGetMsgRsp, error) } @@ -42,20 +70,22 @@ func NewSLPolicyClient(cc grpc.ClientConnInterface) SLPolicyClient { } func (c *sLPolicyClient) SLPolicyOp(ctx context.Context, in *SLPolicyOpMsg, opts ...grpc.CallOption) (*SLPolicyOpRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLPolicyOpRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLPolicy/SLPolicyOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLPolicy_SLPolicyOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLPolicyClient) SLPolicyGet(ctx context.Context, in *SLPolicyGetMsg, opts ...grpc.CallOption) (SLPolicy_SLPolicyGetClient, error) { - stream, err := c.cc.NewStream(ctx, &SLPolicy_ServiceDesc.Streams[0], "/service_layer.SLPolicy/SLPolicyGet", opts...) +func (c *sLPolicyClient) SLPolicyGet(ctx context.Context, in *SLPolicyGetMsg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SLPolicyGetMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLPolicy_ServiceDesc.Streams[0], SLPolicy_SLPolicyGet_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLPolicySLPolicyGetClient{stream} + x := &grpc.GenericClientStream[SLPolicyGetMsg, SLPolicyGetMsgRsp]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -65,26 +95,13 @@ func (c *sLPolicyClient) SLPolicyGet(ctx context.Context, in *SLPolicyGetMsg, op return x, nil } -type SLPolicy_SLPolicyGetClient interface { - Recv() (*SLPolicyGetMsgRsp, error) - grpc.ClientStream -} - -type sLPolicySLPolicyGetClient struct { - grpc.ClientStream -} - -func (x *sLPolicySLPolicyGetClient) Recv() (*SLPolicyGetMsgRsp, error) { - m := new(SLPolicyGetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLPolicy_SLPolicyGetClient = grpc.ServerStreamingClient[SLPolicyGetMsgRsp] func (c *sLPolicyClient) SLPolicyGlobalGet(ctx context.Context, in *SLPolicyGlobalGetMsg, opts ...grpc.CallOption) (*SLPolicyGlobalGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLPolicyGlobalGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLPolicy/SLPolicyGlobalGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLPolicy_SLPolicyGlobalGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -93,7 +110,17 @@ func (c *sLPolicyClient) SLPolicyGlobalGet(ctx context.Context, in *SLPolicyGlob // SLPolicyServer is the server API for SLPolicy service. // All implementations must embed UnimplementedSLPolicyServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLPolicy +// @ingroup Policy +// 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. +// @{ type SLPolicyServer interface { // On client restart or RPC disconnects, the client has the // to reconcile its new state with the state on the device @@ -101,26 +128,30 @@ type SLPolicyServer interface { SLPolicyOp(context.Context, *SLPolicyOpMsg) (*SLPolicyOpRsp, error) // Retrieve all Policies and its rules and the interfaces where the // policy is applied from the server - SLPolicyGet(*SLPolicyGetMsg, SLPolicy_SLPolicyGetServer) error + SLPolicyGet(*SLPolicyGetMsg, grpc.ServerStreamingServer[SLPolicyGetMsgRsp]) error // Retrieve Global Policy capabilities SLPolicyGlobalGet(context.Context, *SLPolicyGlobalGetMsg) (*SLPolicyGlobalGetMsgRsp, error) mustEmbedUnimplementedSLPolicyServer() } -// UnimplementedSLPolicyServer must be embedded to have forward compatible implementations. -type UnimplementedSLPolicyServer struct { -} +// UnimplementedSLPolicyServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLPolicyServer struct{} func (UnimplementedSLPolicyServer) SLPolicyOp(context.Context, *SLPolicyOpMsg) (*SLPolicyOpRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLPolicyOp not implemented") } -func (UnimplementedSLPolicyServer) SLPolicyGet(*SLPolicyGetMsg, SLPolicy_SLPolicyGetServer) error { +func (UnimplementedSLPolicyServer) SLPolicyGet(*SLPolicyGetMsg, grpc.ServerStreamingServer[SLPolicyGetMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLPolicyGet not implemented") } func (UnimplementedSLPolicyServer) SLPolicyGlobalGet(context.Context, *SLPolicyGlobalGetMsg) (*SLPolicyGlobalGetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLPolicyGlobalGet not implemented") } func (UnimplementedSLPolicyServer) mustEmbedUnimplementedSLPolicyServer() {} +func (UnimplementedSLPolicyServer) testEmbeddedByValue() {} // UnsafeSLPolicyServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLPolicyServer will @@ -130,6 +161,13 @@ type UnsafeSLPolicyServer interface { } func RegisterSLPolicyServer(s grpc.ServiceRegistrar, srv SLPolicyServer) { + // If the following call pancis, it indicates UnimplementedSLPolicyServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLPolicy_ServiceDesc, srv) } @@ -143,7 +181,7 @@ func _SLPolicy_SLPolicyOp_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLPolicy/SLPolicyOp", + FullMethod: SLPolicy_SLPolicyOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLPolicyServer).SLPolicyOp(ctx, req.(*SLPolicyOpMsg)) @@ -156,21 +194,11 @@ func _SLPolicy_SLPolicyGet_Handler(srv interface{}, stream grpc.ServerStream) er if err := stream.RecvMsg(m); err != nil { return err } - return srv.(SLPolicyServer).SLPolicyGet(m, &sLPolicySLPolicyGetServer{stream}) -} - -type SLPolicy_SLPolicyGetServer interface { - Send(*SLPolicyGetMsgRsp) error - grpc.ServerStream + return srv.(SLPolicyServer).SLPolicyGet(m, &grpc.GenericServerStream[SLPolicyGetMsg, SLPolicyGetMsgRsp]{ServerStream: stream}) } -type sLPolicySLPolicyGetServer struct { - grpc.ServerStream -} - -func (x *sLPolicySLPolicyGetServer) Send(m *SLPolicyGetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLPolicy_SLPolicyGetServer = grpc.ServerStreamingServer[SLPolicyGetMsgRsp] func _SLPolicy_SLPolicyGlobalGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SLPolicyGlobalGetMsg) @@ -182,7 +210,7 @@ func _SLPolicy_SLPolicyGlobalGet_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLPolicy/SLPolicyGlobalGet", + FullMethod: SLPolicy_SLPolicyGlobalGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLPolicyServer).SLPolicyGlobalGet(ctx, req.(*SLPolicyGlobalGetMsg)) diff --git a/grpc/go/src/gengo/sl_route_common.pb.go b/grpc/go/src/gengo/sl_route_common.pb.go index 8830f2d8..788ea831 100644 --- a/grpc/go/src/gengo/sl_route_common.pb.go +++ b/grpc/go/src/gengo/sl_route_common.pb.go @@ -5,7 +5,7 @@ // default route status for a route object. // // ---------------------------------------------------------------- -// Copyright (c) 2016, 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2016, 2023, 2024, 2026 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // @@ -13,8 +13,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_route_common.proto package service_layer @@ -24,6 +24,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -125,6 +126,14 @@ const ( // 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 = 4 + // This flag is applicable only to SLPathGroup object-type and defines a pure backup + // path-group for FRR applications. + SLRouteFlags_SL_ROUTE_FLAG_FRR_PATHGROUP SLRouteFlags = 5 + // Setting this flag for an object enables: + // - Lossless updates and make-before-break (MBB) behavior. + // - HW-ACK tracking for the entire forwarding chain. + // This flag is applicable to SLAFIPRoute and SLMplsEntry objects. + SLRouteFlags_SL_ROUTE_FLAG_LOSSLESS_UPDATE SLRouteFlags = 6 ) // Enum value maps for SLRouteFlags. @@ -135,6 +144,8 @@ var ( 2: "SL_ROUTE_FLAG_DISABLE_LABEL_MERGE", 3: "SL_ROUTE_FLAG_VIABLE_PATHS_ONLY", 4: "SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH", + 5: "SL_ROUTE_FLAG_FRR_PATHGROUP", + 6: "SL_ROUTE_FLAG_LOSSLESS_UPDATE", } SLRouteFlags_value = map[string]int32{ "SL_ROUTE_FLAG_RESERVED": 0, @@ -142,6 +153,8 @@ var ( "SL_ROUTE_FLAG_DISABLE_LABEL_MERGE": 2, "SL_ROUTE_FLAG_VIABLE_PATHS_ONLY": 3, "SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH": 4, + "SL_ROUTE_FLAG_FRR_PATHGROUP": 5, + "SL_ROUTE_FLAG_LOSSLESS_UPDATE": 6, } ) @@ -179,6 +192,8 @@ const ( SLPathFlags_SL_PATH_FLAG_RESERVED SLPathFlags = 0 // Enables hardware optimization for single path VxLAN tunnels. SLPathFlags_SL_PATH_FLAG_SINGLE_PATH_OPT SLPathFlags = 1 + // This path is a pure backup that's protecting another path + SLPathFlags_SL_PATH_FLAG_BACKUP SLPathFlags = 3 ) // Enum value maps for SLPathFlags. @@ -186,10 +201,12 @@ var ( SLPathFlags_name = map[int32]string{ 0: "SL_PATH_FLAG_RESERVED", 1: "SL_PATH_FLAG_SINGLE_PATH_OPT", + 3: "SL_PATH_FLAG_BACKUP", } SLPathFlags_value = map[string]int32{ "SL_PATH_FLAG_RESERVED": 0, "SL_PATH_FLAG_SINGLE_PATH_OPT": 1, + "SL_PATH_FLAG_BACKUP": 3, } ) @@ -220,20 +237,66 @@ func (SLPathFlags) EnumDescriptor() ([]byte, []int) { return file_sl_route_common_proto_rawDescGZIP(), []int{2} } +type SLUnderlayLevels int32 + +const ( + // NHG placement is decided by the system. + SLUnderlayLevels_SL_UNDERLAY_LEVEL_DEFAULT SLUnderlayLevels = 0 + // NHG will be programmed at a different stage to prevent flattening. + SLUnderlayLevels_SL_UNDERLAY_LEVEL_NO_FLATTENING SLUnderlayLevels = 1 +) + +// Enum value maps for SLUnderlayLevels. +var ( + SLUnderlayLevels_name = map[int32]string{ + 0: "SL_UNDERLAY_LEVEL_DEFAULT", + 1: "SL_UNDERLAY_LEVEL_NO_FLATTENING", + } + SLUnderlayLevels_value = map[string]int32{ + "SL_UNDERLAY_LEVEL_DEFAULT": 0, + "SL_UNDERLAY_LEVEL_NO_FLATTENING": 1, + } +) + +func (x SLUnderlayLevels) Enum() *SLUnderlayLevels { + p := new(SLUnderlayLevels) + *p = x + return p +} + +func (x SLUnderlayLevels) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLUnderlayLevels) Descriptor() protoreflect.EnumDescriptor { + return file_sl_route_common_proto_enumTypes[3].Descriptor() +} + +func (SLUnderlayLevels) Type() protoreflect.EnumType { + return &file_sl_route_common_proto_enumTypes[3] +} + +func (x SLUnderlayLevels) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLUnderlayLevels.Descriptor instead. +func (SLUnderlayLevels) EnumDescriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{3} +} + // Route Globals Get Message type SLRouteGlobalsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteGlobalsGetMsg) Reset() { *x = SLRouteGlobalsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteGlobalsGetMsg) String() string { @@ -244,7 +307,7 @@ func (*SLRouteGlobalsGetMsg) ProtoMessage() {} func (x *SLRouteGlobalsGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -261,25 +324,22 @@ func (*SLRouteGlobalsGetMsg) Descriptor() ([]byte, []int) { // Route Globals Get Message Response type SLRouteGlobalsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Max VrfReg objects within a single VrfRegMsg message. MaxVrfregPerVrfregmsg uint32 `protobuf:"varint,2,opt,name=MaxVrfregPerVrfregmsg,proto3" json:"MaxVrfregPerVrfregmsg,omitempty"` // Max Route objects within a single RouteMsg message. MaxRoutePerRoutemsg uint32 `protobuf:"varint,3,opt,name=MaxRoutePerRoutemsg,proto3" json:"MaxRoutePerRoutemsg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteGlobalsGetMsgRsp) Reset() { *x = SLRouteGlobalsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteGlobalsGetMsgRsp) String() string { @@ -290,7 +350,7 @@ func (*SLRouteGlobalsGetMsgRsp) ProtoMessage() {} func (x *SLRouteGlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -328,18 +388,16 @@ func (x *SLRouteGlobalsGetMsgRsp) GetMaxRoutePerRoutemsg() uint32 { // Route Global Stats Get Message type SLRouteGlobalStatsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteGlobalStatsGetMsg) Reset() { *x = SLRouteGlobalStatsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteGlobalStatsGetMsg) String() string { @@ -350,7 +408,7 @@ func (*SLRouteGlobalStatsGetMsg) ProtoMessage() {} func (x *SLRouteGlobalStatsGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -367,25 +425,22 @@ func (*SLRouteGlobalStatsGetMsg) Descriptor() ([]byte, []int) { // Route Global Stats Get Message Response type SLRouteGlobalStatsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Num VRFs registered through the service layer for the requested client VrfCount uint32 `protobuf:"varint,2,opt,name=VrfCount,proto3" json:"VrfCount,omitempty"` // Num Routes added through the service layer for the requested client - RouteCount uint32 `protobuf:"varint,3,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` + RouteCount uint32 `protobuf:"varint,3,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteGlobalStatsGetMsgRsp) Reset() { *x = SLRouteGlobalStatsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteGlobalStatsGetMsgRsp) String() string { @@ -396,7 +451,7 @@ func (*SLRouteGlobalStatsGetMsgRsp) ProtoMessage() {} func (x *SLRouteGlobalStatsGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -434,10 +489,7 @@ func (x *SLRouteGlobalStatsGetMsgRsp) GetRouteCount() uint32 { // VRF Registration message type SLVrfReg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF Name. VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Default Admin distance for routes programmed by this application @@ -455,15 +507,15 @@ type SLVrfReg struct { // AdminDistance and VrfPurgeIntervalSeconds values are ignored // for SL_PATH_GROUP_TABLE type registration VrfPurgeIntervalSeconds uint32 `protobuf:"varint,3,opt,name=VrfPurgeIntervalSeconds,proto3" json:"VrfPurgeIntervalSeconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfReg) Reset() { *x = SLVrfReg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfReg) String() string { @@ -474,7 +526,7 @@ func (*SLVrfReg) ProtoMessage() {} func (x *SLVrfReg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -512,23 +564,20 @@ func (x *SLVrfReg) GetVrfPurgeIntervalSeconds() uint32 { // VRF Registration messages. type SLVrfRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Registration Operation Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLRegOp" json:"Oper,omitempty"` // List of VRF registrations - VrfRegMsgs []*SLVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs,proto3" json:"VrfRegMsgs,omitempty"` + VrfRegMsgs []*SLVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs,proto3" json:"VrfRegMsgs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfRegMsg) Reset() { *x = SLVrfRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfRegMsg) String() string { @@ -539,7 +588,7 @@ func (*SLVrfRegMsg) ProtoMessage() {} func (x *SLVrfRegMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -570,23 +619,20 @@ func (x *SLVrfRegMsg) GetVrfRegMsgs() []*SLVrfReg { // VRF Registration message Result type SLVrfRegMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // VRF Name - VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfRegMsgRes) Reset() { *x = SLVrfRegMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfRegMsgRes) String() string { @@ -597,7 +643,7 @@ func (*SLVrfRegMsgRes) ProtoMessage() {} func (x *SLVrfRegMsgRes) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -628,10 +674,7 @@ func (x *SLVrfRegMsgRes) GetVrfName() string { // VRF Registration message Response. type SLVrfRegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -644,16 +687,16 @@ type SLVrfRegMsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfRegMsgRsp) Reset() { *x = SLVrfRegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfRegMsgRsp) String() string { @@ -664,7 +707,7 @@ func (*SLVrfRegMsgRsp) ProtoMessage() {} func (x *SLVrfRegMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -695,10 +738,7 @@ func (x *SLVrfRegMsgRsp) GetResults() []*SLVrfRegMsgRes { // VRF Get Message type SLVrfRegGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name (key). // If the Key is not specified, then request up to the first // 'EntriesCount' entries. @@ -713,16 +753,16 @@ type SLVrfRegGetMsg struct { // // request up to 'EntriesCount' entries starting from the key's next // GetNext does not get the routes in the next client. - GetNext bool `protobuf:"varint,3,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,3,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfRegGetMsg) Reset() { *x = SLVrfRegGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfRegGetMsg) String() string { @@ -733,7 +773,7 @@ func (*SLVrfRegGetMsg) ProtoMessage() {} func (x *SLVrfRegGetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -771,10 +811,7 @@ func (x *SLVrfRegGetMsg) GetGetNext() bool { // VRF Get Message Response type SLVrfRegGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. @@ -783,16 +820,16 @@ type SLVrfRegGetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLVrfReg `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLVrfReg `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfRegGetMsgRsp) Reset() { *x = SLVrfRegGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfRegGetMsgRsp) String() string { @@ -803,7 +840,7 @@ func (*SLVrfRegGetMsgRsp) ProtoMessage() {} func (x *SLVrfRegGetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -841,23 +878,20 @@ func (x *SLVrfRegGetMsgRsp) GetEntries() []*SLVrfReg { // VRF Get Stats Message Response type SLVRFGetStatsMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name as key VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Num VRF Routes added through the service layer. - RouteCount uint32 `protobuf:"varint,2,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` + RouteCount uint32 `protobuf:"varint,2,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVRFGetStatsMsgRes) Reset() { *x = SLVRFGetStatsMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVRFGetStatsMsgRes) String() string { @@ -868,7 +902,7 @@ func (*SLVRFGetStatsMsgRes) ProtoMessage() {} func (x *SLVRFGetStatsMsgRes) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -899,10 +933,7 @@ func (x *SLVRFGetStatsMsgRes) GetRouteCount() uint32 { // VRF Get Stats Message Response type SLVRFGetStatsMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. @@ -911,16 +942,16 @@ type SLVRFGetStatsMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get Stats operation on per client basis // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLVRFGetStatsMsgRes `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLVRFGetStatsMsgRes `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVRFGetStatsMsgRsp) Reset() { *x = SLVRFGetStatsMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVRFGetStatsMsgRsp) String() string { @@ -931,7 +962,7 @@ func (*SLVRFGetStatsMsgRsp) ProtoMessage() {} func (x *SLVRFGetStatsMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -969,10 +1000,7 @@ func (x *SLVRFGetStatsMsgRsp) GetEntries() []*SLVRFGetStatsMsgRes { // Common Get Notifications message type SLRouteGetNotifMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Oper = SL_NOTIFOP_ENABLE // // This is to enable route notifications in a VRF @@ -998,16 +1026,16 @@ type SLRouteGetNotifMsg struct { SrcProto string `protobuf:"bytes,4,opt,name=SrcProto,proto3" json:"SrcProto,omitempty"` // Source Protocol Tag. This can be empty if N/A. // Contact Cisco for supported protocol tags. - SrcProtoTag string `protobuf:"bytes,5,opt,name=SrcProtoTag,proto3" json:"SrcProtoTag,omitempty"` + SrcProtoTag string `protobuf:"bytes,5,opt,name=SrcProtoTag,proto3" json:"SrcProtoTag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteGetNotifMsg) Reset() { *x = SLRouteGetNotifMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteGetNotifMsg) String() string { @@ -1018,7 +1046,7 @@ func (*SLRouteGetNotifMsg) ProtoMessage() {} func (x *SLRouteGetNotifMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1070,10 +1098,7 @@ func (x *SLRouteGetNotifMsg) GetSrcProtoTag() string { // Common Route Notification Status message type SLRouteNotifStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator in the request. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` // Vrf in the request. @@ -1083,16 +1108,16 @@ type SLRouteNotifStatus struct { // SL_XXX: signifies an error in setting up a notification for the Vrf. // // Implies that notifications for this VRF will not be sent. - NotifStatus *SLErrorStatus `protobuf:"bytes,3,opt,name=NotifStatus,proto3" json:"NotifStatus,omitempty"` + NotifStatus *SLErrorStatus `protobuf:"bytes,3,opt,name=NotifStatus,proto3" json:"NotifStatus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteNotifStatus) Reset() { *x = SLRouteNotifStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteNotifStatus) String() string { @@ -1103,7 +1128,7 @@ func (*SLRouteNotifStatus) ProtoMessage() {} func (x *SLRouteNotifStatus) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1141,21 +1166,18 @@ func (x *SLRouteNotifStatus) GetNotifStatus() *SLErrorStatus { // Common Marker Notification message type SLRouteNotifMarker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Vrf that this notification message applies to. - VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteNotifMarker) Reset() { *x = SLRouteNotifMarker{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteNotifMarker) String() string { @@ -1166,7 +1188,7 @@ func (*SLRouteNotifMarker) ProtoMessage() {} func (x *SLRouteNotifMarker) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1190,23 +1212,20 @@ func (x *SLRouteNotifMarker) GetVrfName() string { // Common Vrf Notification message type SLVrfNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Vrf that this notification message applies to. VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Status of this Vrf: add/update/delete. - Status SLObjectOp `protobuf:"varint,2,opt,name=Status,proto3,enum=service_layer.SLObjectOp" json:"Status,omitempty"` + Status SLObjectOp `protobuf:"varint,2,opt,name=Status,proto3,enum=service_layer.SLObjectOp" json:"Status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVrfNotif) Reset() { *x = SLVrfNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVrfNotif) String() string { @@ -1217,7 +1236,7 @@ func (*SLVrfNotif) ProtoMessage() {} func (x *SLVrfNotif) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1248,10 +1267,7 @@ func (x *SLVrfNotif) GetStatus() SLObjectOp { // Common IPv4/IPv6 route attributes. type SLRouteCommon struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Adminstrative distance of the route. [0-255]. // RIB uses this field to break the tie when multiple // sources install the same route. @@ -1339,6 +1355,7 @@ type SLRouteCommon struct { // All others are reserved. RouteFlags []SLRouteFlags `protobuf:"varint,7,rep,packed,name=RouteFlags,proto3,enum=service_layer.SLRouteFlags" json:"RouteFlags,omitempty"` // Route Metric. + // Range [0-4294967294] // The metric is typically based on information like load, hop count, // MTU, reliability of the path, etc. // When routes from different protocols share the same admin distance, @@ -1346,16 +1363,16 @@ type SLRouteCommon struct { Metric uint32 `protobuf:"varint,8,opt,name=Metric,proto3" json:"Metric,omitempty"` // Each entry can have priority value, this priority value may be used // in internal queuing of routes while programming the data-plane - Priority SLUpdatePriority `protobuf:"varint,9,opt,name=Priority,proto3,enum=service_layer.SLUpdatePriority" json:"Priority,omitempty"` + Priority SLUpdatePriority `protobuf:"varint,9,opt,name=Priority,proto3,enum=service_layer.SLUpdatePriority" json:"Priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRouteCommon) Reset() { *x = SLRouteCommon{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRouteCommon) String() string { @@ -1366,7 +1383,7 @@ func (*SLRouteCommon) ProtoMessage() {} func (x *SLRouteCommon) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1439,10 +1456,7 @@ func (x *SLRouteCommon) GetPriority() SLUpdatePriority { // Attributes for constructing VxLAN encapsulation for a IP packet. type SLVxLANPath struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Virtual network identifier. Client must set a valid non-zero idenifier. VNI uint32 `protobuf:"varint,1,opt,name=VNI,proto3" json:"VNI,omitempty"` // Source MAC address is optional. @@ -1453,15 +1467,15 @@ type SLVxLANPath struct { SrcIpAddress *SLIpAddress `protobuf:"bytes,4,opt,name=SrcIpAddress,proto3" json:"SrcIpAddress,omitempty"` // Tunnel Destination or Remote IP address is mandatory. DestIpAddress *SLIpAddress `protobuf:"bytes,5,opt,name=DestIpAddress,proto3" json:"DestIpAddress,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLVxLANPath) Reset() { *x = SLVxLANPath{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLVxLANPath) String() string { @@ -1472,7 +1486,7 @@ func (*SLVxLANPath) ProtoMessage() {} func (x *SLVxLANPath) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1535,14 +1549,14 @@ func (x *SLVxLANPath) GetDestIpAddress() *SLIpAddress { // link down, BFD, etc.). Revertion is mainly timeout based. The timeout // value is platform specific and is not configurable. type SLRoutePath struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // One of IPv4 or IPv6 address. // For ENCAP_VXLAN, this field is not supported and will be ignored. NexthopAddress *SLIpAddress `protobuf:"bytes,1,opt,name=NexthopAddress,proto3" json:"NexthopAddress,omitempty"` // Outgoing interface name for the path. + // When this field is not set, the next hop is considered non-connected. + // See SLPathGroup.UnderlayLevel for the connected-path requirement when + // SL_UNDERLAY_LEVEL_NO_FLATTENING is used. // For ENCAP_VXLAN, this field is not supported and will be ignored. // The client should listen to interface state change API for create/delete // and reprogram the route or PG. @@ -1553,6 +1567,10 @@ type SLRoutePath struct { // route, MPLS label or PathGroup must have a value of 0. For // unequal cost load balancing, all paths must have non-zero value // otherwise system defaults to equal cost load balancing. + // Alternatively for unequal cost load balancing, paths that need to + // take more load can be repeated as many times within the list, but in such + // case the LoadMetric is recommended to be set to 1 for all paths in the + // PathList for operational simplicity. LoadMetric uint32 `protobuf:"varint,3,opt,name=LoadMetric,proto3" json:"LoadMetric,omitempty"` // Path VRF name. This field is optional and if not specified, VRF of // the AF object containing this path is assumed. The client can set a @@ -1616,7 +1634,7 @@ type SLRoutePath struct { 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. + // Deprecated: Marked as deprecated in sl_route_common.proto. 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 @@ -1628,7 +1646,7 @@ type SLRoutePath struct { // This field and VxLANPath are mutually exclusive. This field // is deprecated and will eventually be removed. // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in sl_route_common.proto. VtepRouterMacAddress []byte `protobuf:"bytes,11,opt,name=VtepRouterMacAddress,proto3" json:"VtepRouterMacAddress,omitempty"` // Create L3 VxLAN tunnel endpoint. Apply VxLAN encapsulation // on the IP packet. @@ -1643,19 +1661,42 @@ type SLRoutePath struct { // to allow for future extension. // If any field in the oneof is set, all other fields are ignored // - // Types that are assignable to Entry: + // Types that are valid to be assigned to Entry: // // *SLRoutePath_PathGroupKey Entry isSLRoutePath_Entry `protobuf_oneof:"entry"` + // BackupIndex identifies the backup SLRoutePath object that is protecting this + // SLRoutePath object. This object then becomes the "primary" path and the SLRoutePath + // at index identified by BackupIndex is the "backup" to this SLRoutePath. + // + // BackupIndex is the position of the backup SLRoutePath object in the parent PathList that this object + // is also part of. + // The PathList indices start with 1 i.e. the first element is at index 1 and not 0 (0 is reserved). + // + // BackupIndex is supported only when the following objects reference the PathList + // + // SLPathGroup + // SLMplsEntry + // SLAFIPRoute + // + // Backup SLRoutePath referenced through BackupIndex object MUST be either a + // a) pure backup path with SL_PATH_FLAG_BACKUP set + // b) pure backup PathGroup with SL_ROUTE_FLAG_FRR_PATHGROUP set + // c) ECMP backup path (SL_PATH_FLAG_BACKUP is not set) + BackupIndex []uint32 `protobuf:"varint,16,rep,packed,name=BackupIndex,proto3" json:"BackupIndex,omitempty"` + // MinResolutionLength is an optional filed. + // When set, this field dictates the minimum prefix length required for next hop resolution. + // For example, if this field is set to 24, only /24 and larger prefixes would be considered. + MinResolutionLength uint32 `protobuf:"varint,17,opt,name=MinResolutionLength,proto3" json:"MinResolutionLength,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutePath) Reset() { *x = SLRoutePath{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_common_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutePath) String() string { @@ -1666,7 +1707,7 @@ func (*SLRoutePath) ProtoMessage() {} func (x *SLRoutePath) ProtoReflect() protoreflect.Message { mi := &file_sl_route_common_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1737,7 +1778,7 @@ func (x *SLRoutePath) GetRemoteAddress() []*SLIpAddress { return nil } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in sl_route_common.proto. func (x *SLRoutePath) GetEncapType() SLEncapType { if x != nil { return x.EncapType @@ -1745,7 +1786,7 @@ func (x *SLRoutePath) GetEncapType() SLEncapType { return SLEncapType_SL_ENCAP_RESERVED } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in sl_route_common.proto. func (x *SLRoutePath) GetVtepRouterMacAddress() []byte { if x != nil { return x.VtepRouterMacAddress @@ -1767,20 +1808,36 @@ func (x *SLRoutePath) GetPathFlags() []SLPathFlags { return nil } -func (m *SLRoutePath) GetEntry() isSLRoutePath_Entry { - if m != nil { - return m.Entry +func (x *SLRoutePath) GetEntry() isSLRoutePath_Entry { + if x != nil { + return x.Entry } return nil } func (x *SLRoutePath) GetPathGroupKey() *SLPathGroupRefKey { - if x, ok := x.GetEntry().(*SLRoutePath_PathGroupKey); ok { - return x.PathGroupKey + if x != nil { + if x, ok := x.Entry.(*SLRoutePath_PathGroupKey); ok { + return x.PathGroupKey + } } return nil } +func (x *SLRoutePath) GetBackupIndex() []uint32 { + if x != nil { + return x.BackupIndex + } + return nil +} + +func (x *SLRoutePath) GetMinResolutionLength() uint32 { + if x != nil { + return x.MinResolutionLength + } + return 0 +} + type isSLRoutePath_Entry interface { isSLRoutePath_Entry() } @@ -1792,25 +1849,177 @@ type SLRoutePath_PathGroupKey struct { func (*SLRoutePath_PathGroupKey) isSLRoutePath_Entry() {} -// IP Route Prefix and Prefix Length -type SLRoutePrefix struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Path Group definition. +type SLPathGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Path Group ID + PathGroupId *SLObjectId `protobuf:"bytes,1,opt,name=PathGroupId,proto3" json:"PathGroupId,omitempty"` + // Administrative distance of the Path Group. [0-255]. + // RIB uses this field to break the tie when multiple + // sources install the same Path Group. + // Lower distance is preferred over higher distance. + // The per path group object admin distance overrides the default admin + // distance set at VRF registration. see SLVrfReg. + AdminDistance uint32 `protobuf:"varint,2,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` + // Description of paths in the PathGroup. + // Oneof is used here for future extensibility. + // + // Types that are valid to be assigned to Entry: + // + // *SLPathGroup_PathList + Entry isSLPathGroup_Entry `protobuf_oneof:"entry"` + // Flags to control programming of the PathGroup to Routing + // Information Base. See SLRouteFlags for flag enumerations. + // Supported values are: + // + // 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 + // load balance group when path viability changes and + // expects the client to take corrective action. + // + // - If the flag is set, the network element only installs viable + // paths from the PathList in the PathGroup's load balance group. + // The Network element also automatically updates the PathGroup's + // load balance group when path viability changes. + // + // SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH. + // - If this flag is not set, routes and MPLS entries referencing + // this PathGroup are considered active if they are preferred + // 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 + // PathGroup changes. + // + // - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also + // be set. The routes and MPLS entries referencing this PathGroup are + // considered active if they are preferred based + // 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. + // + // SL_ROUTE_FLAG_FRR_PATHGROUP + // - If this flag is set, this PathGroup object provides backup path to one or more path/pathgroups. + // PathGroup with this flag set will be considered as pure backup. + // + // Others - Reserved. + PgFlags []SLRouteFlags `protobuf:"varint,4,rep,packed,name=PgFlags,proto3,enum=service_layer.SLRouteFlags" json:"PgFlags,omitempty"` + // SLUnderlayLevels indicates the lookup stage at which the path group + // is programmed. This is relevant only when hierarchical lookup is required. + // If underlay level is set to SL_UNDERLAY_LEVEL_NO_FLATTENING, all paths + // in the PathList must be connected next hops (NexthopInterface must be set). + // This is an optional field. + UnderlayLevel SLUnderlayLevels `protobuf:"varint,5,opt,name=UnderlayLevel,proto3,enum=service_layer.SLUnderlayLevels" json:"UnderlayLevel,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPathGroup) Reset() { + *x = SLPathGroup{} + mi := &file_sl_route_common_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPathGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPathGroup) ProtoMessage() {} + +func (x *SLPathGroup) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPathGroup.ProtoReflect.Descriptor instead. +func (*SLPathGroup) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{19} +} + +func (x *SLPathGroup) GetPathGroupId() *SLObjectId { + if x != nil { + return x.PathGroupId + } + return nil +} + +func (x *SLPathGroup) GetAdminDistance() uint32 { + if x != nil { + return x.AdminDistance + } + return 0 +} + +func (x *SLPathGroup) GetEntry() isSLPathGroup_Entry { + if x != nil { + return x.Entry + } + return nil +} + +func (x *SLPathGroup) GetPathList() *SLPathGroup_SLPathList { + if x != nil { + if x, ok := x.Entry.(*SLPathGroup_PathList); ok { + return x.PathList + } + } + return nil +} + +func (x *SLPathGroup) GetPgFlags() []SLRouteFlags { + if x != nil { + return x.PgFlags + } + return nil +} + +func (x *SLPathGroup) GetUnderlayLevel() SLUnderlayLevels { + if x != nil { + return x.UnderlayLevel + } + return SLUnderlayLevels_SL_UNDERLAY_LEVEL_DEFAULT +} + +type isSLPathGroup_Entry interface { + isSLPathGroup_Entry() +} + +type SLPathGroup_PathList struct { + // Path List + // Specifying more than one path is allowed for ECMP/UCMP/FRR cases. + PathList *SLPathGroup_SLPathList `protobuf:"bytes,3,opt,name=PathList,proto3,oneof"` +} + +func (*SLPathGroup_PathList) isSLPathGroup_Entry() {} +// IP Route Prefix and Prefix Length +type SLRoutePrefix struct { + state protoimpl.MessageState `protogen:"open.v1"` // 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"` + PrefixLen uint32 `protobuf:"varint,2,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } 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) - } + mi := &file_sl_route_common_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutePrefix) String() string { @@ -1820,8 +2029,8 @@ func (x *SLRoutePrefix) String() string { func (*SLRoutePrefix) ProtoMessage() {} func (x *SLRoutePrefix) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_route_common_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1833,7 +2042,7 @@ func (x *SLRoutePrefix) ProtoReflect() protoreflect.Message { // Deprecated: Use SLRoutePrefix.ProtoReflect.Descriptor instead. func (*SLRoutePrefix) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{19} + return file_sl_route_common_proto_rawDescGZIP(), []int{20} } func (x *SLRoutePrefix) GetPrefix() *SLIpAddress { @@ -1850,335 +2059,335 @@ func (x *SLRoutePrefix) GetPrefixLen() uint32 { return 0 } -var File_sl_route_common_proto protoreflect.FileDescriptor +type SLPathGroup_SLPath struct { + state protoimpl.MessageState `protogen:"open.v1"` + Path *SLRoutePath `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLPathGroup_SLPath) Reset() { + *x = SLPathGroup_SLPath{} + mi := &file_sl_route_common_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLPathGroup_SLPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPathGroup_SLPath) ProtoMessage() {} + +func (x *SLPathGroup_SLPath) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPathGroup_SLPath.ProtoReflect.Descriptor instead. +func (*SLPathGroup_SLPath) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{19, 0} +} + +func (x *SLPathGroup_SLPath) GetPath() *SLRoutePath { + if x != nil { + return x.Path + } + return nil +} + +// A list of SLPathList +type SLPathGroup_SLPathList struct { + state protoimpl.MessageState `protogen:"open.v1"` + Paths []*SLPathGroup_SLPath `protobuf:"bytes,1,rep,name=Paths,proto3" json:"Paths,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} -var file_sl_route_common_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0x16, 0x0a, - 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, - 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 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, 0x34, 0x0a, - 0x15, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x50, 0x65, 0x72, 0x56, 0x72, 0x66, - 0x72, 0x65, 0x67, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x4d, 0x61, - 0x78, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x50, 0x65, 0x72, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, - 0x6d, 0x73, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, - 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x6d, 0x73, 0x67, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, - 0x67, 0x22, 0x95, 0x01, 0x0a, 0x1b, 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, 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, 0x56, 0x72, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x56, 0x72, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x53, 0x4c, - 0x56, 0x72, 0x66, 0x52, 0x65, 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, 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, 0x38, 0x0a, 0x17, 0x56, 0x72, 0x66, 0x50, 0x75, 0x72, - 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x56, 0x72, 0x66, 0x50, 0x75, 0x72, 0x67, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x22, 0x72, 0x0a, 0x0b, 0x53, 0x4c, 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, 0x37, 0x0a, 0x0a, 0x56, - 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x02, 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, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, - 0x4d, 0x73, 0x67, 0x73, 0x22, 0x66, 0x0a, 0x0e, 0x53, 0x4c, 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, 0x22, 0x8d, 0x01, 0x0a, - 0x0e, 0x53, 0x4c, 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, 0x37, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x68, 0x0a, 0x0e, - 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 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, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, - 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x11, 0x53, 0x4c, 0x56, 0x72, 0x66, - 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x45, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x3a, - 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, 0x52, - 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x45, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 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, 0x4f, 0x0a, - 0x13, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x73, 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, 0x1e, - 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa1, - 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x3a, 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, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x65, 0x73, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4d, 0x73, 0x67, 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, 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, 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, 0x22, - 0x8e, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x3e, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x2e, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 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, - 0x22, 0x59, 0x0a, 0x0a, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x4e, 0x6f, 0x74, 0x69, 0x66, 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, 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, 0xc4, 0x02, 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, - 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0xd5, 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, 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, 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, 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, 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, 0x4a, 0x04, 0x08, - 0x05, 0x10, 0x06, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 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, +func (x *SLPathGroup_SLPathList) Reset() { + *x = SLPathGroup_SLPathList{} + mi := &file_sl_route_common_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } +func (x *SLPathGroup_SLPathList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLPathGroup_SLPathList) ProtoMessage() {} + +func (x *SLPathGroup_SLPathList) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLPathGroup_SLPathList.ProtoReflect.Descriptor instead. +func (*SLPathGroup_SLPathList) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{19, 1} +} + +func (x *SLPathGroup_SLPathList) GetPaths() []*SLPathGroup_SLPath { + if x != nil { + return x.Paths + } + return nil +} + +var File_sl_route_common_proto protoreflect.FileDescriptor + +const file_sl_route_common_proto_rawDesc = "" + + "\n" + + "\x15sl_route_common.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x16\n" + + "\x14SLRouteGlobalsGetMsg\"\xbd\x01\n" + + "\x17SLRouteGlobalsGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x124\n" + + "\x15MaxVrfregPerVrfregmsg\x18\x02 \x01(\rR\x15MaxVrfregPerVrfregmsg\x120\n" + + "\x13MaxRoutePerRoutemsg\x18\x03 \x01(\rR\x13MaxRoutePerRoutemsg\"\x1a\n" + + "\x18SLRouteGlobalStatsGetMsg\"\x95\x01\n" + + "\x1bSLRouteGlobalStatsGetMsgRsp\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x1a\n" + + "\bVrfCount\x18\x02 \x01(\rR\bVrfCount\x12\x1e\n" + + "\n" + + "RouteCount\x18\x03 \x01(\rR\n" + + "RouteCount\"\x84\x01\n" + + "\bSLVrfReg\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x12$\n" + + "\rAdminDistance\x18\x02 \x01(\rR\rAdminDistance\x128\n" + + "\x17VrfPurgeIntervalSeconds\x18\x03 \x01(\rR\x17VrfPurgeIntervalSeconds\"r\n" + + "\vSLVrfRegMsg\x12*\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x16.service_layer.SLRegOpR\x04Oper\x127\n" + + "\n" + + "VrfRegMsgs\x18\x02 \x03(\v2\x17.service_layer.SLVrfRegR\n" + + "VrfRegMsgs\"f\n" + + "\x0eSLVrfRegMsgRes\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\"\x8d\x01\n" + + "\x0eSLVrfRegMsgRsp\x12B\n" + + "\rStatusSummary\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x127\n" + + "\aResults\x18\x02 \x03(\v2\x1d.service_layer.SLVrfRegMsgResR\aResults\"h\n" + + "\x0eSLVrfRegGetMsg\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x12\"\n" + + "\fEntriesCount\x18\x02 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x03 \x01(\bR\aGetNext\"\x94\x01\n" + + "\x11SLVrfRegGetMsgRsp\x12\x10\n" + + "\x03Eof\x18\x01 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x121\n" + + "\aEntries\x18\x03 \x03(\v2\x17.service_layer.SLVrfRegR\aEntries\"O\n" + + "\x13SLVRFGetStatsMsgRes\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x12\x1e\n" + + "\n" + + "RouteCount\x18\x02 \x01(\rR\n" + + "RouteCount\"\xa1\x01\n" + + "\x13SLVRFGetStatsMsgRsp\x12\x10\n" + + "\x03Eof\x18\x01 \x01(\bR\x03Eof\x12:\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12<\n" + + "\aEntries\x18\x03 \x03(\v2\".service_layer.SLVRFGetStatsMsgResR\aEntries\"\xba\x01\n" + + "\x12SLRouteGetNotifMsg\x12,\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x18.service_layer.SLNotifOpR\x04Oper\x12\x1e\n" + + "\n" + + "Correlator\x18\x02 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x03 \x01(\tR\aVrfName\x12\x1a\n" + + "\bSrcProto\x18\x04 \x01(\tR\bSrcProto\x12 \n" + + "\vSrcProtoTag\x18\x05 \x01(\tR\vSrcProtoTag\"\x8e\x01\n" + + "\x12SLRouteNotifStatus\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12>\n" + + "\vNotifStatus\x18\x03 \x01(\v2\x1c.service_layer.SLErrorStatusR\vNotifStatus\".\n" + + "\x12SLRouteNotifMarker\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\"Y\n" + + "\n" + + "SLVrfNotif\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x121\n" + + "\x06Status\x18\x02 \x01(\x0e2\x19.service_layer.SLObjectOpR\x06Status\"\xc4\x02\n" + + "\rSLRouteCommon\x12$\n" + + "\rAdminDistance\x18\x01 \x01(\rR\rAdminDistance\x12\x1e\n" + + "\n" + + "LocalLabel\x18\x02 \x01(\rR\n" + + "LocalLabel\x12\x10\n" + + "\x03Tag\x18\x03 \x01(\rR\x03Tag\x12\x1a\n" + + "\bSrcProto\x18\x04 \x01(\tR\bSrcProto\x12 \n" + + "\vSrcProtoTag\x18\x05 \x01(\tR\vSrcProtoTag\x12;\n" + + "\n" + + "RouteFlags\x18\a \x03(\x0e2\x1b.service_layer.SLRouteFlagsR\n" + + "RouteFlags\x12\x16\n" + + "\x06Metric\x18\b \x01(\rR\x06Metric\x12;\n" + + "\bPriority\x18\t \x01(\x0e2\x1f.service_layer.SLUpdatePriorityR\bPriorityJ\x04\b\x06\x10\aR\x05Flags\"\xf5\x01\n" + + "\vSLVxLANPath\x12\x10\n" + + "\x03VNI\x18\x01 \x01(\rR\x03VNI\x12*\n" + + "\x10SourceMacAddress\x18\x02 \x01(\fR\x10SourceMacAddress\x12&\n" + + "\x0eDestMacAddress\x18\x03 \x01(\fR\x0eDestMacAddress\x12>\n" + + "\fSrcIpAddress\x18\x04 \x01(\v2\x1a.service_layer.SLIpAddressR\fSrcIpAddress\x12@\n" + + "\rDestIpAddress\x18\x05 \x01(\v2\x1a.service_layer.SLIpAddressR\rDestIpAddress\"\xa9\x06\n" + + "\vSLRoutePath\x12B\n" + + "\x0eNexthopAddress\x18\x01 \x01(\v2\x1a.service_layer.SLIpAddressR\x0eNexthopAddress\x12F\n" + + "\x10NexthopInterface\x18\x02 \x01(\v2\x1a.service_layer.SLInterfaceR\x10NexthopInterface\x12\x1e\n" + + "\n" + + "LoadMetric\x18\x03 \x01(\rR\n" + + "LoadMetric\x12\x18\n" + + "\aVrfName\x18\x04 \x01(\tR\aVrfName\x12\x16\n" + + "\x06PathId\x18\x06 \x01(\rR\x06PathId\x120\n" + + "\x13ProtectedPathBitmap\x18\a \x03(\x04R\x13ProtectedPathBitmap\x12\x1e\n" + + "\n" + + "LabelStack\x18\b \x03(\rR\n" + + "LabelStack\x12@\n" + + "\rRemoteAddress\x18\t \x03(\v2\x1a.service_layer.SLIpAddressR\rRemoteAddress\x12<\n" + + "\tEncapType\x18\n" + + " \x01(\x0e2\x1a.service_layer.SLEncapTypeB\x02\x18\x01R\tEncapType\x126\n" + + "\x14VtepRouterMacAddress\x18\v \x01(\fB\x02\x18\x01R\x14VtepRouterMacAddress\x128\n" + + "\tVxLANPath\x18\f \x01(\v2\x1a.service_layer.SLVxLANPathR\tVxLANPath\x128\n" + + "\tPathFlags\x18\x0e \x03(\x0e2\x1a.service_layer.SLPathFlagsR\tPathFlags\x12F\n" + + "\fPathGroupKey\x18\x0f \x01(\v2 .service_layer.SLPathGroupRefKeyH\x00R\fPathGroupKey\x12 \n" + + "\vBackupIndex\x18\x10 \x03(\rR\vBackupIndex\x120\n" + + "\x13MinResolutionLength\x18\x11 \x01(\rR\x13MinResolutionLengthB\a\n" + + "\x05entryJ\x04\b\r\x10\x0eJ\x04\b\x05\x10\x06R\x05FlagsR\x06Metric\"\xbd\x03\n" + + "\vSLPathGroup\x12;\n" + + "\vPathGroupId\x18\x01 \x01(\v2\x19.service_layer.SLObjectIdR\vPathGroupId\x12$\n" + + "\rAdminDistance\x18\x02 \x01(\rR\rAdminDistance\x12C\n" + + "\bPathList\x18\x03 \x01(\v2%.service_layer.SLPathGroup.SLPathListH\x00R\bPathList\x125\n" + + "\aPgFlags\x18\x04 \x03(\x0e2\x1b.service_layer.SLRouteFlagsR\aPgFlags\x12E\n" + + "\rUnderlayLevel\x18\x05 \x01(\x0e2\x1f.service_layer.SLUnderlayLevelsR\rUnderlayLevel\x1a8\n" + + "\x06SLPath\x12.\n" + + "\x04Path\x18\x01 \x01(\v2\x1a.service_layer.SLRoutePathR\x04Path\x1aE\n" + + "\n" + + "SLPathList\x127\n" + + "\x05Paths\x18\x01 \x03(\v2!.service_layer.SLPathGroup.SLPathR\x05PathsB\a\n" + + "\x05entry\"a\n" + + "\rSLRoutePrefix\x122\n" + + "\x06Prefix\x18\x01 \x01(\v2\x1a.service_layer.SLIpAddressR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x02 \x01(\rR\tPrefixLen*\xca\x01\n" + + "\vSLNotifType\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*\x86\x02\n" + + "\fSLRouteFlags\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\x12\x1f\n" + + "\x1bSL_ROUTE_FLAG_FRR_PATHGROUP\x10\x05\x12!\n" + + "\x1dSL_ROUTE_FLAG_LOSSLESS_UPDATE\x10\x06*c\n" + + "\vSLPathFlags\x12\x19\n" + + "\x15SL_PATH_FLAG_RESERVED\x10\x00\x12 \n" + + "\x1cSL_PATH_FLAG_SINGLE_PATH_OPT\x10\x01\x12\x17\n" + + "\x13SL_PATH_FLAG_BACKUP\x10\x03*V\n" + + "\x10SLUnderlayLevels\x12\x1d\n" + + "\x19SL_UNDERLAY_LEVEL_DEFAULT\x10\x00\x12#\n" + + "\x1fSL_UNDERLAY_LEVEL_NO_FLATTENING\x10\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" + var ( file_sl_route_common_proto_rawDescOnce sync.Once - file_sl_route_common_proto_rawDescData = file_sl_route_common_proto_rawDesc + file_sl_route_common_proto_rawDescData []byte ) func file_sl_route_common_proto_rawDescGZIP() []byte { file_sl_route_common_proto_rawDescOnce.Do(func() { - file_sl_route_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_common_proto_rawDescData) + file_sl_route_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_route_common_proto_rawDesc), len(file_sl_route_common_proto_rawDesc))) }) return file_sl_route_common_proto_rawDescData } -var file_sl_route_common_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_sl_route_common_proto_msgTypes = make([]protoimpl.MessageInfo, 20) -var file_sl_route_common_proto_goTypes = []interface{}{ +var file_sl_route_common_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_sl_route_common_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_sl_route_common_proto_goTypes = []any{ (SLNotifType)(0), // 0: service_layer.SLNotifType (SLRouteFlags)(0), // 1: service_layer.SLRouteFlags (SLPathFlags)(0), // 2: service_layer.SLPathFlags - (*SLRouteGlobalsGetMsg)(nil), // 3: service_layer.SLRouteGlobalsGetMsg - (*SLRouteGlobalsGetMsgRsp)(nil), // 4: service_layer.SLRouteGlobalsGetMsgRsp - (*SLRouteGlobalStatsGetMsg)(nil), // 5: service_layer.SLRouteGlobalStatsGetMsg - (*SLRouteGlobalStatsGetMsgRsp)(nil), // 6: service_layer.SLRouteGlobalStatsGetMsgRsp - (*SLVrfReg)(nil), // 7: service_layer.SLVrfReg - (*SLVrfRegMsg)(nil), // 8: service_layer.SLVrfRegMsg - (*SLVrfRegMsgRes)(nil), // 9: service_layer.SLVrfRegMsgRes - (*SLVrfRegMsgRsp)(nil), // 10: service_layer.SLVrfRegMsgRsp - (*SLVrfRegGetMsg)(nil), // 11: service_layer.SLVrfRegGetMsg - (*SLVrfRegGetMsgRsp)(nil), // 12: service_layer.SLVrfRegGetMsgRsp - (*SLVRFGetStatsMsgRes)(nil), // 13: service_layer.SLVRFGetStatsMsgRes - (*SLVRFGetStatsMsgRsp)(nil), // 14: service_layer.SLVRFGetStatsMsgRsp - (*SLRouteGetNotifMsg)(nil), // 15: service_layer.SLRouteGetNotifMsg - (*SLRouteNotifStatus)(nil), // 16: service_layer.SLRouteNotifStatus - (*SLRouteNotifMarker)(nil), // 17: service_layer.SLRouteNotifMarker - (*SLVrfNotif)(nil), // 18: service_layer.SLVrfNotif - (*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 - (SLObjectOp)(0), // 26: service_layer.SLObjectOp - (SLUpdatePriority)(0), // 27: service_layer.SLUpdatePriority - (*SLIpAddress)(nil), // 28: service_layer.SLIpAddress - (*SLInterface)(nil), // 29: service_layer.SLInterface - (SLEncapType)(0), // 30: service_layer.SLEncapType - (*SLPathGroupRefKey)(nil), // 31: service_layer.SLPathGroupRefKey + (SLUnderlayLevels)(0), // 3: service_layer.SLUnderlayLevels + (*SLRouteGlobalsGetMsg)(nil), // 4: service_layer.SLRouteGlobalsGetMsg + (*SLRouteGlobalsGetMsgRsp)(nil), // 5: service_layer.SLRouteGlobalsGetMsgRsp + (*SLRouteGlobalStatsGetMsg)(nil), // 6: service_layer.SLRouteGlobalStatsGetMsg + (*SLRouteGlobalStatsGetMsgRsp)(nil), // 7: service_layer.SLRouteGlobalStatsGetMsgRsp + (*SLVrfReg)(nil), // 8: service_layer.SLVrfReg + (*SLVrfRegMsg)(nil), // 9: service_layer.SLVrfRegMsg + (*SLVrfRegMsgRes)(nil), // 10: service_layer.SLVrfRegMsgRes + (*SLVrfRegMsgRsp)(nil), // 11: service_layer.SLVrfRegMsgRsp + (*SLVrfRegGetMsg)(nil), // 12: service_layer.SLVrfRegGetMsg + (*SLVrfRegGetMsgRsp)(nil), // 13: service_layer.SLVrfRegGetMsgRsp + (*SLVRFGetStatsMsgRes)(nil), // 14: service_layer.SLVRFGetStatsMsgRes + (*SLVRFGetStatsMsgRsp)(nil), // 15: service_layer.SLVRFGetStatsMsgRsp + (*SLRouteGetNotifMsg)(nil), // 16: service_layer.SLRouteGetNotifMsg + (*SLRouteNotifStatus)(nil), // 17: service_layer.SLRouteNotifStatus + (*SLRouteNotifMarker)(nil), // 18: service_layer.SLRouteNotifMarker + (*SLVrfNotif)(nil), // 19: service_layer.SLVrfNotif + (*SLRouteCommon)(nil), // 20: service_layer.SLRouteCommon + (*SLVxLANPath)(nil), // 21: service_layer.SLVxLANPath + (*SLRoutePath)(nil), // 22: service_layer.SLRoutePath + (*SLPathGroup)(nil), // 23: service_layer.SLPathGroup + (*SLRoutePrefix)(nil), // 24: service_layer.SLRoutePrefix + (*SLPathGroup_SLPath)(nil), // 25: service_layer.SLPathGroup.SLPath + (*SLPathGroup_SLPathList)(nil), // 26: service_layer.SLPathGroup.SLPathList + (*SLErrorStatus)(nil), // 27: service_layer.SLErrorStatus + (SLRegOp)(0), // 28: service_layer.SLRegOp + (SLNotifOp)(0), // 29: service_layer.SLNotifOp + (SLObjectOp)(0), // 30: service_layer.SLObjectOp + (SLUpdatePriority)(0), // 31: service_layer.SLUpdatePriority + (*SLIpAddress)(nil), // 32: service_layer.SLIpAddress + (*SLInterface)(nil), // 33: service_layer.SLInterface + (SLEncapType)(0), // 34: service_layer.SLEncapType + (*SLPathGroupRefKey)(nil), // 35: service_layer.SLPathGroupRefKey + (*SLObjectId)(nil), // 36: service_layer.SLObjectId } var file_sl_route_common_proto_depIdxs = []int32{ - 23, // 0: service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 23, // 1: service_layer.SLRouteGlobalStatsGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 24, // 2: service_layer.SLVrfRegMsg.Oper:type_name -> service_layer.SLRegOp - 7, // 3: service_layer.SLVrfRegMsg.VrfRegMsgs:type_name -> service_layer.SLVrfReg - 23, // 4: service_layer.SLVrfRegMsgRes.ErrStatus:type_name -> service_layer.SLErrorStatus - 23, // 5: service_layer.SLVrfRegMsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus - 9, // 6: service_layer.SLVrfRegMsgRsp.Results:type_name -> service_layer.SLVrfRegMsgRes - 23, // 7: service_layer.SLVrfRegGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 7, // 8: service_layer.SLVrfRegGetMsgRsp.Entries:type_name -> service_layer.SLVrfReg - 23, // 9: service_layer.SLVRFGetStatsMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus - 13, // 10: service_layer.SLVRFGetStatsMsgRsp.Entries:type_name -> service_layer.SLVRFGetStatsMsgRes - 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, // 0: service_layer.SLRouteGlobalsGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 27, // 1: service_layer.SLRouteGlobalStatsGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 28, // 2: service_layer.SLVrfRegMsg.Oper:type_name -> service_layer.SLRegOp + 8, // 3: service_layer.SLVrfRegMsg.VrfRegMsgs:type_name -> service_layer.SLVrfReg + 27, // 4: service_layer.SLVrfRegMsgRes.ErrStatus:type_name -> service_layer.SLErrorStatus + 27, // 5: service_layer.SLVrfRegMsgRsp.StatusSummary:type_name -> service_layer.SLErrorStatus + 10, // 6: service_layer.SLVrfRegMsgRsp.Results:type_name -> service_layer.SLVrfRegMsgRes + 27, // 7: service_layer.SLVrfRegGetMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 8, // 8: service_layer.SLVrfRegGetMsgRsp.Entries:type_name -> service_layer.SLVrfReg + 27, // 9: service_layer.SLVRFGetStatsMsgRsp.ErrStatus:type_name -> service_layer.SLErrorStatus + 14, // 10: service_layer.SLVRFGetStatsMsgRsp.Entries:type_name -> service_layer.SLVRFGetStatsMsgRes + 29, // 11: service_layer.SLRouteGetNotifMsg.Oper:type_name -> service_layer.SLNotifOp + 27, // 12: service_layer.SLRouteNotifStatus.NotifStatus:type_name -> service_layer.SLErrorStatus + 30, // 13: service_layer.SLVrfNotif.Status:type_name -> service_layer.SLObjectOp 1, // 14: service_layer.SLRouteCommon.RouteFlags:type_name -> service_layer.SLRouteFlags - 27, // 15: service_layer.SLRouteCommon.Priority:type_name -> service_layer.SLUpdatePriority - 28, // 16: service_layer.SLVxLANPath.SrcIpAddress:type_name -> service_layer.SLIpAddress - 28, // 17: service_layer.SLVxLANPath.DestIpAddress:type_name -> service_layer.SLIpAddress - 28, // 18: service_layer.SLRoutePath.NexthopAddress:type_name -> service_layer.SLIpAddress - 29, // 19: service_layer.SLRoutePath.NexthopInterface:type_name -> service_layer.SLInterface - 28, // 20: service_layer.SLRoutePath.RemoteAddress:type_name -> service_layer.SLIpAddress - 30, // 21: service_layer.SLRoutePath.EncapType:type_name -> service_layer.SLEncapType - 20, // 22: service_layer.SLRoutePath.VxLANPath:type_name -> service_layer.SLVxLANPath + 31, // 15: service_layer.SLRouteCommon.Priority:type_name -> service_layer.SLUpdatePriority + 32, // 16: service_layer.SLVxLANPath.SrcIpAddress:type_name -> service_layer.SLIpAddress + 32, // 17: service_layer.SLVxLANPath.DestIpAddress:type_name -> service_layer.SLIpAddress + 32, // 18: service_layer.SLRoutePath.NexthopAddress:type_name -> service_layer.SLIpAddress + 33, // 19: service_layer.SLRoutePath.NexthopInterface:type_name -> service_layer.SLInterface + 32, // 20: service_layer.SLRoutePath.RemoteAddress:type_name -> service_layer.SLIpAddress + 34, // 21: service_layer.SLRoutePath.EncapType:type_name -> service_layer.SLEncapType + 21, // 22: service_layer.SLRoutePath.VxLANPath:type_name -> service_layer.SLVxLANPath 2, // 23: service_layer.SLRoutePath.PathFlags:type_name -> service_layer.SLPathFlags - 31, // 24: service_layer.SLRoutePath.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey - 28, // 25: service_layer.SLRoutePrefix.Prefix:type_name -> service_layer.SLIpAddress - 26, // [26:26] is the sub-list for method output_type - 26, // [26:26] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 35, // 24: service_layer.SLRoutePath.PathGroupKey:type_name -> service_layer.SLPathGroupRefKey + 36, // 25: service_layer.SLPathGroup.PathGroupId:type_name -> service_layer.SLObjectId + 26, // 26: service_layer.SLPathGroup.PathList:type_name -> service_layer.SLPathGroup.SLPathList + 1, // 27: service_layer.SLPathGroup.PgFlags:type_name -> service_layer.SLRouteFlags + 3, // 28: service_layer.SLPathGroup.UnderlayLevel:type_name -> service_layer.SLUnderlayLevels + 32, // 29: service_layer.SLRoutePrefix.Prefix:type_name -> service_layer.SLIpAddress + 22, // 30: service_layer.SLPathGroup.SLPath.Path:type_name -> service_layer.SLRoutePath + 25, // 31: service_layer.SLPathGroup.SLPathList.Paths:type_name -> service_layer.SLPathGroup.SLPath + 32, // [32:32] is the sub-list for method output_type + 32, // [32:32] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name } func init() { file_sl_route_common_proto_init() } @@ -2187,258 +2396,19 @@ func file_sl_route_common_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_route_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalStatsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalStatsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfReg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVRFGetStatsMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVRFGetStatsMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGetNotifMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteNotifStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteNotifMarker); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteCommon); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVxLANPath); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutePath); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutePrefix); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_route_common_proto_msgTypes[18].OneofWrappers = []interface{}{ + file_sl_route_common_proto_msgTypes[18].OneofWrappers = []any{ (*SLRoutePath_PathGroupKey)(nil), } + file_sl_route_common_proto_msgTypes[19].OneofWrappers = []any{ + (*SLPathGroup_PathList)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_route_common_proto_rawDesc, - NumEnums: 3, - NumMessages: 20, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_route_common_proto_rawDesc), len(file_sl_route_common_proto_rawDesc)), + NumEnums: 4, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, @@ -2448,7 +2418,6 @@ func file_sl_route_common_proto_init() { MessageInfos: file_sl_route_common_proto_msgTypes, }.Build() File_sl_route_common_proto = out.File - file_sl_route_common_proto_rawDesc = nil file_sl_route_common_proto_goTypes = nil file_sl_route_common_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_route_ipv4.pb.go b/grpc/go/src/gengo/sl_route_ipv4.pb.go index c5ef01c6..41f950d3 100644 --- a/grpc/go/src/gengo/sl_route_ipv4.pb.go +++ b/grpc/go/src/gengo/sl_route_ipv4.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_route_ipv4.proto package service_layer @@ -21,6 +21,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -32,10 +33,7 @@ const ( // IPv4 route type SLRoutev4 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv4 Prefix. Valid addresses: // - 0.0.0.0 // - 1.0.0.0 - 223.255.255.255 @@ -46,16 +44,16 @@ type SLRoutev4 struct { RouteCommon *SLRouteCommon `protobuf:"bytes,3,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,4,rep,name=PathList,proto3" json:"PathList,omitempty"` + PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList,proto3" json:"PathList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4) Reset() { *x = SLRoutev4{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4) String() string { @@ -66,7 +64,7 @@ func (*SLRoutev4) ProtoMessage() {} func (x *SLRoutev4) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -111,10 +109,7 @@ func (x *SLRoutev4) GetPathList() []*SLRoutePath { // List of routes for bulk download type SLRoutev4Msg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Route Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // Correlator. This can be used to correlate replies with requests. @@ -123,16 +118,16 @@ type SLRoutev4Msg struct { // VRF name. VrfName string `protobuf:"bytes,3,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // List of routes for the VRF specified above - Routes []*SLRoutev4 `protobuf:"bytes,4,rep,name=Routes,proto3" json:"Routes,omitempty"` + Routes []*SLRoutev4 `protobuf:"bytes,4,rep,name=Routes,proto3" json:"Routes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4Msg) Reset() { *x = SLRoutev4Msg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4Msg) String() string { @@ -143,7 +138,7 @@ func (*SLRoutev4Msg) ProtoMessage() {} func (x *SLRoutev4Msg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -188,25 +183,22 @@ func (x *SLRoutev4Msg) GetRoutes() []*SLRoutev4 { // IPv4 route result, uniquely identified by the Prefix/PrefixLen pair type SLRoutev4Res struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // IPv4 Prefix Prefix uint32 `protobuf:"varint,2,opt,name=Prefix,proto3" json:"Prefix,omitempty"` // IPv4 prefix length, [0-32] - PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` + PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4Res) Reset() { *x = SLRoutev4Res{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4Res) String() string { @@ -217,7 +209,7 @@ func (*SLRoutev4Res) ProtoMessage() {} func (x *SLRoutev4Res) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -255,10 +247,7 @@ func (x *SLRoutev4Res) GetPrefixLen() uint32 { // IPv4 bulk route result status type SLRoutev4MsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -276,16 +265,16 @@ type SLRoutev4MsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,3,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLRoutev4Res `protobuf:"bytes,4,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLRoutev4Res `protobuf:"bytes,4,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4MsgRsp) Reset() { *x = SLRoutev4MsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4MsgRsp) String() string { @@ -296,7 +285,7 @@ func (*SLRoutev4MsgRsp) ProtoMessage() {} func (x *SLRoutev4MsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -341,10 +330,7 @@ func (x *SLRoutev4MsgRsp) GetResults() []*SLRoutev4Res { // Used to retrieve route attributes type SLRoutev4GetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate stream replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -366,16 +352,16 @@ type SLRoutev4GetMsg struct { // // request up to 'EntriesCount' entries starting from the key's next // GetNext does not get the routes in the next client - GetNext bool `protobuf:"varint,6,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,6,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4GetMsg) Reset() { *x = SLRoutev4GetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4GetMsg) String() string { @@ -386,7 +372,7 @@ func (*SLRoutev4GetMsg) ProtoMessage() {} func (x *SLRoutev4GetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -445,10 +431,7 @@ func (x *SLRoutev4GetMsg) GetGetNext() bool { // Get Route message response type SLRoutev4GetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -462,16 +445,16 @@ type SLRoutev4GetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLRoutev4 `protobuf:"bytes,5,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLRoutev4 `protobuf:"bytes,5,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4GetMsgRsp) Reset() { *x = SLRoutev4GetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4GetMsgRsp) String() string { @@ -482,7 +465,7 @@ func (*SLRoutev4GetMsgRsp) ProtoMessage() {} func (x *SLRoutev4GetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -534,23 +517,20 @@ func (x *SLRoutev4GetMsgRsp) GetEntries() []*SLRoutev4 { // IPv4 Route notification type SLRoutev4NotifRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name. VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // IPv4 routes - Entries []*SLRoutev4 `protobuf:"bytes,2,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLRoutev4 `protobuf:"bytes,2,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4NotifRoute) Reset() { *x = SLRoutev4NotifRoute{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4NotifRoute) String() string { @@ -561,7 +541,7 @@ func (*SLRoutev4NotifRoute) ProtoMessage() {} func (x *SLRoutev4NotifRoute) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -592,31 +572,28 @@ func (x *SLRoutev4NotifRoute) GetEntries() []*SLRoutev4 { // IPv4 notification message type SLRoutev4Notif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Event Type EventType SLNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=service_layer.SLNotifType" json:"EventType,omitempty"` // Further info based on EventType // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLRoutev4Notif_ErrStatus // *SLRoutev4Notif_NotifStatus // *SLRoutev4Notif_Route // *SLRoutev4Notif_Marker // *SLRoutev4Notif_Vrf - Event isSLRoutev4Notif_Event `protobuf_oneof:"Event"` + Event isSLRoutev4Notif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev4Notif) Reset() { *x = SLRoutev4Notif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv4_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv4_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev4Notif) String() string { @@ -627,7 +604,7 @@ func (*SLRoutev4Notif) ProtoMessage() {} func (x *SLRoutev4Notif) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv4_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -649,44 +626,54 @@ func (x *SLRoutev4Notif) GetEventType() SLNotifType { return SLNotifType_SL_EVENT_TYPE_RESERVED } -func (m *SLRoutev4Notif) GetEvent() isSLRoutev4Notif_Event { - if m != nil { - return m.Event +func (x *SLRoutev4Notif) GetEvent() isSLRoutev4Notif_Event { + if x != nil { + return x.Event } return nil } func (x *SLRoutev4Notif) GetErrStatus() *SLErrorStatus { - if x, ok := x.GetEvent().(*SLRoutev4Notif_ErrStatus); ok { - return x.ErrStatus + if x != nil { + if x, ok := x.Event.(*SLRoutev4Notif_ErrStatus); ok { + return x.ErrStatus + } } return nil } func (x *SLRoutev4Notif) GetNotifStatus() *SLRouteNotifStatus { - if x, ok := x.GetEvent().(*SLRoutev4Notif_NotifStatus); ok { - return x.NotifStatus + if x != nil { + if x, ok := x.Event.(*SLRoutev4Notif_NotifStatus); ok { + return x.NotifStatus + } } return nil } func (x *SLRoutev4Notif) GetRoute() *SLRoutev4NotifRoute { - if x, ok := x.GetEvent().(*SLRoutev4Notif_Route); ok { - return x.Route + if x != nil { + if x, ok := x.Event.(*SLRoutev4Notif_Route); ok { + return x.Route + } } return nil } func (x *SLRoutev4Notif) GetMarker() *SLRouteNotifMarker { - if x, ok := x.GetEvent().(*SLRoutev4Notif_Marker); ok { - return x.Marker + if x != nil { + if x, ok := x.Event.(*SLRoutev4Notif_Marker); ok { + return x.Marker + } } return nil } func (x *SLRoutev4Notif) GetVrf() *SLVrfNotif { - if x, ok := x.GetEvent().(*SLRoutev4Notif_Vrf); ok { - return x.Vrf + if x != nil { + if x, ok := x.Event.(*SLRoutev4Notif_Vrf); ok { + return x.Vrf + } } return nil } @@ -742,191 +729,86 @@ func (*SLRoutev4Notif_Vrf) isSLRoutev4Notif_Event() {} var File_sl_route_ipv4_proto protoreflect.FileDescriptor -var file_sl_route_ipv4_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 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, - 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, -} +const file_sl_route_ipv4_proto_rawDesc = "" + + "\n" + + "\x13sl_route_ipv4.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"\xb9\x01\n" + + "\tSLRoutev4\x12\x16\n" + + "\x06Prefix\x18\x01 \x01(\rR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x02 \x01(\rR\tPrefixLen\x12>\n" + + "\vRouteCommon\x18\x03 \x01(\v2\x1c.service_layer.SLRouteCommonR\vRouteCommon\x126\n" + + "\bPathList\x18\x04 \x03(\v2\x1a.service_layer.SLRoutePathR\bPathList\"\xa9\x01\n" + + "\fSLRoutev4Msg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12\x1e\n" + + "\n" + + "Correlator\x18\x02 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x03 \x01(\tR\aVrfName\x120\n" + + "\x06Routes\x18\x04 \x03(\v2\x18.service_layer.SLRoutev4R\x06Routes\"\x80\x01\n" + + "\fSLRoutev4Res\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x16\n" + + "\x06Prefix\x18\x02 \x01(\rR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x03 \x01(\rR\tPrefixLen\"\xc6\x01\n" + + "\x0fSLRoutev4MsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12B\n" + + "\rStatusSummary\x18\x03 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x125\n" + + "\aResults\x18\x04 \x03(\v2\x1b.service_layer.SLRoutev4ResR\aResults\"\xbf\x01\n" + + "\x0fSLRoutev4GetMsg\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12\x16\n" + + "\x06Prefix\x18\x03 \x01(\rR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x04 \x01(\rR\tPrefixLen\x12\"\n" + + "\fEntriesCount\x18\x05 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x06 \x01(\bR\aGetNext\"\xd0\x01\n" + + "\x12SLRoutev4GetMsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x10\n" + + "\x03Eof\x18\x02 \x01(\bR\x03Eof\x12\x18\n" + + "\aVrfName\x18\x03 \x01(\tR\aVrfName\x12:\n" + + "\tErrStatus\x18\x04 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x122\n" + + "\aEntries\x18\x05 \x03(\v2\x18.service_layer.SLRoutev4R\aEntries\"c\n" + + "\x13SLRoutev4NotifRoute\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x122\n" + + "\aEntries\x18\x02 \x03(\v2\x18.service_layer.SLRoutev4R\aEntries\"\x80\x03\n" + + "\x0eSLRoutev4Notif\x128\n" + + "\tEventType\x18\x01 \x01(\x0e2\x1a.service_layer.SLNotifTypeR\tEventType\x12<\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\tErrStatus\x12E\n" + + "\vNotifStatus\x18\x03 \x01(\v2!.service_layer.SLRouteNotifStatusH\x00R\vNotifStatus\x12:\n" + + "\x05Route\x18\x04 \x01(\v2\".service_layer.SLRoutev4NotifRouteH\x00R\x05Route\x12;\n" + + "\x06Marker\x18\x05 \x01(\v2!.service_layer.SLRouteNotifMarkerH\x00R\x06Marker\x12-\n" + + "\x03Vrf\x18\x06 \x01(\v2\x19.service_layer.SLVrfNotifH\x00R\x03VrfB\a\n" + + "\x05Event2\x98\a\n" + + "\rSLRoutev4Oper\x12b\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" + + "\vSLRoutev4Op\x12\x1b.service_layer.SLRoutev4Msg\x1a\x1e.service_layer.SLRoutev4MsgRsp\x12Q\n" + + "\fSLRoutev4Get\x12\x1e.service_layer.SLRoutev4GetMsg\x1a!.service_layer.SLRoutev4GetMsgRsp\x12T\n" + + "\x11SLRoutev4OpStream\x12\x1b.service_layer.SLRoutev4Msg\x1a\x1e.service_layer.SLRoutev4MsgRsp(\x010\x01\x12[\n" + + "\x12SLRoutev4GetStream\x12\x1e.service_layer.SLRoutev4GetMsg\x1a!.service_layer.SLRoutev4GetMsgRsp(\x010\x01\x12_\n" + + "\x17SLRoutev4GetNotifStream\x12!.service_layer.SLRouteGetNotifMsg\x1a\x1d.service_layer.SLRoutev4Notif(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_route_ipv4_proto_rawDescOnce sync.Once - file_sl_route_ipv4_proto_rawDescData = file_sl_route_ipv4_proto_rawDesc + file_sl_route_ipv4_proto_rawDescData []byte ) func file_sl_route_ipv4_proto_rawDescGZIP() []byte { file_sl_route_ipv4_proto_rawDescOnce.Do(func() { - file_sl_route_ipv4_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_ipv4_proto_rawDescData) + file_sl_route_ipv4_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_route_ipv4_proto_rawDesc), len(file_sl_route_ipv4_proto_rawDesc))) }) return file_sl_route_ipv4_proto_rawDescData } var file_sl_route_ipv4_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_sl_route_ipv4_proto_goTypes = []interface{}{ +var file_sl_route_ipv4_proto_goTypes = []any{ (*SLRoutev4)(nil), // 0: service_layer.SLRoutev4 (*SLRoutev4Msg)(nil), // 1: service_layer.SLRoutev4Msg (*SLRoutev4Res)(nil), // 2: service_layer.SLRoutev4Res @@ -1005,105 +887,7 @@ func file_sl_route_ipv4_proto_init() { } file_sl_common_types_proto_init() file_sl_route_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_route_ipv4_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4Msg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4Res); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4MsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4GetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4GetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4NotifRoute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv4_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev4Notif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_route_ipv4_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_sl_route_ipv4_proto_msgTypes[7].OneofWrappers = []any{ (*SLRoutev4Notif_ErrStatus)(nil), (*SLRoutev4Notif_NotifStatus)(nil), (*SLRoutev4Notif_Route)(nil), @@ -1114,7 +898,7 @@ func file_sl_route_ipv4_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_route_ipv4_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_route_ipv4_proto_rawDesc), len(file_sl_route_ipv4_proto_rawDesc)), NumEnums: 0, NumMessages: 8, NumExtensions: 0, @@ -1125,7 +909,6 @@ func file_sl_route_ipv4_proto_init() { MessageInfos: file_sl_route_ipv4_proto_msgTypes, }.Build() File_sl_route_ipv4_proto = out.File - file_sl_route_ipv4_proto_rawDesc = nil file_sl_route_ipv4_proto_goTypes = nil file_sl_route_ipv4_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_route_ipv4_grpc.pb.go b/grpc/go/src/gengo/sl_route_ipv4_grpc.pb.go index 2fec9727..7e1c559d 100644 --- a/grpc/go/src/gengo/sl_route_ipv4_grpc.pb.go +++ b/grpc/go/src/gengo/sl_route_ipv4_grpc.pb.go @@ -1,7 +1,17 @@ +// @file +// @brief Server RPC proto file for IPv4. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016, 2023, 2024 by cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_route_ipv4.proto package service_layer @@ -15,12 +25,33 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLRoutev4Oper_SLRoutev4GlobalsGet_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4GlobalsGet" + SLRoutev4Oper_SLRoutev4GlobalStatsGet_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4GlobalStatsGet" + SLRoutev4Oper_SLRoutev4VrfRegOp_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4VrfRegOp" + SLRoutev4Oper_SLRoutev4VrfRegGet_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4VrfRegGet" + SLRoutev4Oper_SLRoutev4VrfGetStats_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4VrfGetStats" + SLRoutev4Oper_SLRoutev4Op_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4Op" + SLRoutev4Oper_SLRoutev4Get_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4Get" + SLRoutev4Oper_SLRoutev4OpStream_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4OpStream" + SLRoutev4Oper_SLRoutev4GetStream_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4GetStream" + SLRoutev4Oper_SLRoutev4GetNotifStream_FullMethodName = "/service_layer.SLRoutev4Oper/SLRoutev4GetNotifStream" +) // SLRoutev4OperClient is the client API for SLRoutev4Oper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLRouteIPv4Oper +// @ingroup AF +// Defines RPC calls for IPv4 route changes and VRF registration. +// This service declares both the Vrf Registration, as well as adding, deleting +// and getting IPv4 routes. +// All IPv4 addresses are encoded in host byte order. +// @{ type SLRoutev4OperClient interface { // Used to retrieve Global Route information SLRoutev4GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) @@ -99,9 +130,9 @@ type SLRoutev4OperClient interface { // Route delete. The route's key is enough to delete the object. // Other attributes, if provided are ignored. // Delete of a non-existant route is returned as success. - SLRoutev4OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev4Oper_SLRoutev4OpStreamClient, error) + SLRoutev4OpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev4Msg, SLRoutev4MsgRsp], error) // Retrieves route attributes. - SLRoutev4GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev4Oper_SLRoutev4GetStreamClient, error) + SLRoutev4GetStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev4GetMsg, SLRoutev4GetMsgRsp], error) // This call is used to get a stream of route notifications. // It can be used to get "push" notifications for route // adds/updates/deletes. @@ -112,7 +143,7 @@ type SLRoutev4OperClient interface { // The success/failure of the notification request is relayed in the // SLRouteNotifStatus followed by a Start marker, any routes if present, // and an End Marker. - SLRoutev4GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev4Oper_SLRoutev4GetNotifStreamClient, error) + SLRoutev4GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRouteGetNotifMsg, SLRoutev4Notif], error) } type sLRoutev4OperClient struct { @@ -124,8 +155,9 @@ func NewSLRoutev4OperClient(cc grpc.ClientConnInterface) SLRoutev4OperClient { } func (c *sLRoutev4OperClient) SLRoutev4GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRouteGlobalsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4GlobalsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4GlobalsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -133,8 +165,9 @@ func (c *sLRoutev4OperClient) SLRoutev4GlobalsGet(ctx context.Context, in *SLRou } func (c *sLRoutev4OperClient) SLRoutev4GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRouteGlobalStatsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4GlobalStatsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4GlobalStatsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -142,8 +175,9 @@ func (c *sLRoutev4OperClient) SLRoutev4GlobalStatsGet(ctx context.Context, in *S } func (c *sLRoutev4OperClient) SLRoutev4VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLVrfRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4VrfRegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4VrfRegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -151,8 +185,9 @@ func (c *sLRoutev4OperClient) SLRoutev4VrfRegOp(ctx context.Context, in *SLVrfRe } func (c *sLRoutev4OperClient) SLRoutev4VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLVrfRegGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4VrfRegGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4VrfRegGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -160,8 +195,9 @@ func (c *sLRoutev4OperClient) SLRoutev4VrfRegGet(ctx context.Context, in *SLVrfR } func (c *sLRoutev4OperClient) SLRoutev4VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLVRFGetStatsMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4VrfGetStats", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4VrfGetStats_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -169,8 +205,9 @@ func (c *sLRoutev4OperClient) SLRoutev4VrfGetStats(ctx context.Context, in *SLVr } func (c *sLRoutev4OperClient) SLRoutev4Op(ctx context.Context, in *SLRoutev4Msg, opts ...grpc.CallOption) (*SLRoutev4MsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRoutev4MsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4Op", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4Op_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -178,110 +215,65 @@ func (c *sLRoutev4OperClient) SLRoutev4Op(ctx context.Context, in *SLRoutev4Msg, } func (c *sLRoutev4OperClient) SLRoutev4Get(ctx context.Context, in *SLRoutev4GetMsg, opts ...grpc.CallOption) (*SLRoutev4GetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRoutev4GetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev4Oper/SLRoutev4Get", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev4Oper_SLRoutev4Get_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLRoutev4OperClient) SLRoutev4OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev4Oper_SLRoutev4OpStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev4Oper_ServiceDesc.Streams[0], "/service_layer.SLRoutev4Oper/SLRoutev4OpStream", opts...) +func (c *sLRoutev4OperClient) SLRoutev4OpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev4Msg, SLRoutev4MsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLRoutev4Oper_ServiceDesc.Streams[0], SLRoutev4Oper_SLRoutev4OpStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLRoutev4OperSLRoutev4OpStreamClient{stream} + x := &grpc.GenericClientStream[SLRoutev4Msg, SLRoutev4MsgRsp]{ClientStream: stream} return x, nil } -type SLRoutev4Oper_SLRoutev4OpStreamClient interface { - Send(*SLRoutev4Msg) error - Recv() (*SLRoutev4MsgRsp, error) - grpc.ClientStream -} - -type sLRoutev4OperSLRoutev4OpStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev4OperSLRoutev4OpStreamClient) Send(m *SLRoutev4Msg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev4OperSLRoutev4OpStreamClient) Recv() (*SLRoutev4MsgRsp, error) { - m := new(SLRoutev4MsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev4Oper_SLRoutev4OpStreamClient = grpc.BidiStreamingClient[SLRoutev4Msg, SLRoutev4MsgRsp] -func (c *sLRoutev4OperClient) SLRoutev4GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev4Oper_SLRoutev4GetStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev4Oper_ServiceDesc.Streams[1], "/service_layer.SLRoutev4Oper/SLRoutev4GetStream", opts...) +func (c *sLRoutev4OperClient) SLRoutev4GetStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev4GetMsg, SLRoutev4GetMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLRoutev4Oper_ServiceDesc.Streams[1], SLRoutev4Oper_SLRoutev4GetStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLRoutev4OperSLRoutev4GetStreamClient{stream} + x := &grpc.GenericClientStream[SLRoutev4GetMsg, SLRoutev4GetMsgRsp]{ClientStream: stream} return x, nil } -type SLRoutev4Oper_SLRoutev4GetStreamClient interface { - Send(*SLRoutev4GetMsg) error - Recv() (*SLRoutev4GetMsgRsp, error) - grpc.ClientStream -} - -type sLRoutev4OperSLRoutev4GetStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev4OperSLRoutev4GetStreamClient) Send(m *SLRoutev4GetMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev4OperSLRoutev4GetStreamClient) Recv() (*SLRoutev4GetMsgRsp, error) { - m := new(SLRoutev4GetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev4Oper_SLRoutev4GetStreamClient = grpc.BidiStreamingClient[SLRoutev4GetMsg, SLRoutev4GetMsgRsp] -func (c *sLRoutev4OperClient) SLRoutev4GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev4Oper_SLRoutev4GetNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev4Oper_ServiceDesc.Streams[2], "/service_layer.SLRoutev4Oper/SLRoutev4GetNotifStream", opts...) +func (c *sLRoutev4OperClient) SLRoutev4GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRouteGetNotifMsg, SLRoutev4Notif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLRoutev4Oper_ServiceDesc.Streams[2], SLRoutev4Oper_SLRoutev4GetNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLRoutev4OperSLRoutev4GetNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLRouteGetNotifMsg, SLRoutev4Notif]{ClientStream: stream} return x, nil } -type SLRoutev4Oper_SLRoutev4GetNotifStreamClient interface { - Send(*SLRouteGetNotifMsg) error - Recv() (*SLRoutev4Notif, error) - grpc.ClientStream -} - -type sLRoutev4OperSLRoutev4GetNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev4OperSLRoutev4GetNotifStreamClient) Send(m *SLRouteGetNotifMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev4OperSLRoutev4GetNotifStreamClient) Recv() (*SLRoutev4Notif, error) { - m := new(SLRoutev4Notif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev4Oper_SLRoutev4GetNotifStreamClient = grpc.BidiStreamingClient[SLRouteGetNotifMsg, SLRoutev4Notif] // SLRoutev4OperServer is the server API for SLRoutev4Oper service. // All implementations must embed UnimplementedSLRoutev4OperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLRouteIPv4Oper +// @ingroup AF +// Defines RPC calls for IPv4 route changes and VRF registration. +// This service declares both the Vrf Registration, as well as adding, deleting +// and getting IPv4 routes. +// All IPv4 addresses are encoded in host byte order. +// @{ type SLRoutev4OperServer interface { // Used to retrieve Global Route information SLRoutev4GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) @@ -360,9 +352,9 @@ type SLRoutev4OperServer interface { // Route delete. The route's key is enough to delete the object. // Other attributes, if provided are ignored. // Delete of a non-existant route is returned as success. - SLRoutev4OpStream(SLRoutev4Oper_SLRoutev4OpStreamServer) error + SLRoutev4OpStream(grpc.BidiStreamingServer[SLRoutev4Msg, SLRoutev4MsgRsp]) error // Retrieves route attributes. - SLRoutev4GetStream(SLRoutev4Oper_SLRoutev4GetStreamServer) error + SLRoutev4GetStream(grpc.BidiStreamingServer[SLRoutev4GetMsg, SLRoutev4GetMsgRsp]) error // This call is used to get a stream of route notifications. // It can be used to get "push" notifications for route // adds/updates/deletes. @@ -373,13 +365,16 @@ type SLRoutev4OperServer interface { // The success/failure of the notification request is relayed in the // SLRouteNotifStatus followed by a Start marker, any routes if present, // and an End Marker. - SLRoutev4GetNotifStream(SLRoutev4Oper_SLRoutev4GetNotifStreamServer) error + SLRoutev4GetNotifStream(grpc.BidiStreamingServer[SLRouteGetNotifMsg, SLRoutev4Notif]) error mustEmbedUnimplementedSLRoutev4OperServer() } -// UnimplementedSLRoutev4OperServer must be embedded to have forward compatible implementations. -type UnimplementedSLRoutev4OperServer struct { -} +// UnimplementedSLRoutev4OperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLRoutev4OperServer struct{} func (UnimplementedSLRoutev4OperServer) SLRoutev4GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLRoutev4GlobalsGet not implemented") @@ -402,16 +397,17 @@ func (UnimplementedSLRoutev4OperServer) SLRoutev4Op(context.Context, *SLRoutev4M func (UnimplementedSLRoutev4OperServer) SLRoutev4Get(context.Context, *SLRoutev4GetMsg) (*SLRoutev4GetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLRoutev4Get not implemented") } -func (UnimplementedSLRoutev4OperServer) SLRoutev4OpStream(SLRoutev4Oper_SLRoutev4OpStreamServer) error { +func (UnimplementedSLRoutev4OperServer) SLRoutev4OpStream(grpc.BidiStreamingServer[SLRoutev4Msg, SLRoutev4MsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLRoutev4OpStream not implemented") } -func (UnimplementedSLRoutev4OperServer) SLRoutev4GetStream(SLRoutev4Oper_SLRoutev4GetStreamServer) error { +func (UnimplementedSLRoutev4OperServer) SLRoutev4GetStream(grpc.BidiStreamingServer[SLRoutev4GetMsg, SLRoutev4GetMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLRoutev4GetStream not implemented") } -func (UnimplementedSLRoutev4OperServer) SLRoutev4GetNotifStream(SLRoutev4Oper_SLRoutev4GetNotifStreamServer) error { +func (UnimplementedSLRoutev4OperServer) SLRoutev4GetNotifStream(grpc.BidiStreamingServer[SLRouteGetNotifMsg, SLRoutev4Notif]) error { return status.Errorf(codes.Unimplemented, "method SLRoutev4GetNotifStream not implemented") } func (UnimplementedSLRoutev4OperServer) mustEmbedUnimplementedSLRoutev4OperServer() {} +func (UnimplementedSLRoutev4OperServer) testEmbeddedByValue() {} // UnsafeSLRoutev4OperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLRoutev4OperServer will @@ -421,6 +417,13 @@ type UnsafeSLRoutev4OperServer interface { } func RegisterSLRoutev4OperServer(s grpc.ServiceRegistrar, srv SLRoutev4OperServer) { + // If the following call pancis, it indicates UnimplementedSLRoutev4OperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLRoutev4Oper_ServiceDesc, srv) } @@ -434,7 +437,7 @@ func _SLRoutev4Oper_SLRoutev4GlobalsGet_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4GlobalsGet", + FullMethod: SLRoutev4Oper_SLRoutev4GlobalsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4GlobalsGet(ctx, req.(*SLRouteGlobalsGetMsg)) @@ -452,7 +455,7 @@ func _SLRoutev4Oper_SLRoutev4GlobalStatsGet_Handler(srv interface{}, ctx context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4GlobalStatsGet", + FullMethod: SLRoutev4Oper_SLRoutev4GlobalStatsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4GlobalStatsGet(ctx, req.(*SLRouteGlobalStatsGetMsg)) @@ -470,7 +473,7 @@ func _SLRoutev4Oper_SLRoutev4VrfRegOp_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4VrfRegOp", + FullMethod: SLRoutev4Oper_SLRoutev4VrfRegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4VrfRegOp(ctx, req.(*SLVrfRegMsg)) @@ -488,7 +491,7 @@ func _SLRoutev4Oper_SLRoutev4VrfRegGet_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4VrfRegGet", + FullMethod: SLRoutev4Oper_SLRoutev4VrfRegGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4VrfRegGet(ctx, req.(*SLVrfRegGetMsg)) @@ -506,7 +509,7 @@ func _SLRoutev4Oper_SLRoutev4VrfGetStats_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4VrfGetStats", + FullMethod: SLRoutev4Oper_SLRoutev4VrfGetStats_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4VrfGetStats(ctx, req.(*SLVrfRegGetMsg)) @@ -524,7 +527,7 @@ func _SLRoutev4Oper_SLRoutev4Op_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4Op", + FullMethod: SLRoutev4Oper_SLRoutev4Op_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4Op(ctx, req.(*SLRoutev4Msg)) @@ -542,7 +545,7 @@ func _SLRoutev4Oper_SLRoutev4Get_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev4Oper/SLRoutev4Get", + FullMethod: SLRoutev4Oper_SLRoutev4Get_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev4OperServer).SLRoutev4Get(ctx, req.(*SLRoutev4GetMsg)) @@ -551,82 +554,25 @@ func _SLRoutev4Oper_SLRoutev4Get_Handler(srv interface{}, ctx context.Context, d } func _SLRoutev4Oper_SLRoutev4OpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev4OperServer).SLRoutev4OpStream(&sLRoutev4OperSLRoutev4OpStreamServer{stream}) -} - -type SLRoutev4Oper_SLRoutev4OpStreamServer interface { - Send(*SLRoutev4MsgRsp) error - Recv() (*SLRoutev4Msg, error) - grpc.ServerStream -} - -type sLRoutev4OperSLRoutev4OpStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev4OperSLRoutev4OpStreamServer) Send(m *SLRoutev4MsgRsp) error { - return x.ServerStream.SendMsg(m) + return srv.(SLRoutev4OperServer).SLRoutev4OpStream(&grpc.GenericServerStream[SLRoutev4Msg, SLRoutev4MsgRsp]{ServerStream: stream}) } -func (x *sLRoutev4OperSLRoutev4OpStreamServer) Recv() (*SLRoutev4Msg, error) { - m := new(SLRoutev4Msg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev4Oper_SLRoutev4OpStreamServer = grpc.BidiStreamingServer[SLRoutev4Msg, SLRoutev4MsgRsp] func _SLRoutev4Oper_SLRoutev4GetStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev4OperServer).SLRoutev4GetStream(&sLRoutev4OperSLRoutev4GetStreamServer{stream}) -} - -type SLRoutev4Oper_SLRoutev4GetStreamServer interface { - Send(*SLRoutev4GetMsgRsp) error - Recv() (*SLRoutev4GetMsg, error) - grpc.ServerStream + return srv.(SLRoutev4OperServer).SLRoutev4GetStream(&grpc.GenericServerStream[SLRoutev4GetMsg, SLRoutev4GetMsgRsp]{ServerStream: stream}) } -type sLRoutev4OperSLRoutev4GetStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev4OperSLRoutev4GetStreamServer) Send(m *SLRoutev4GetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLRoutev4OperSLRoutev4GetStreamServer) Recv() (*SLRoutev4GetMsg, error) { - m := new(SLRoutev4GetMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev4Oper_SLRoutev4GetStreamServer = grpc.BidiStreamingServer[SLRoutev4GetMsg, SLRoutev4GetMsgRsp] func _SLRoutev4Oper_SLRoutev4GetNotifStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev4OperServer).SLRoutev4GetNotifStream(&sLRoutev4OperSLRoutev4GetNotifStreamServer{stream}) -} - -type SLRoutev4Oper_SLRoutev4GetNotifStreamServer interface { - Send(*SLRoutev4Notif) error - Recv() (*SLRouteGetNotifMsg, error) - grpc.ServerStream -} - -type sLRoutev4OperSLRoutev4GetNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev4OperSLRoutev4GetNotifStreamServer) Send(m *SLRoutev4Notif) error { - return x.ServerStream.SendMsg(m) + return srv.(SLRoutev4OperServer).SLRoutev4GetNotifStream(&grpc.GenericServerStream[SLRouteGetNotifMsg, SLRoutev4Notif]{ServerStream: stream}) } -func (x *sLRoutev4OperSLRoutev4GetNotifStreamServer) Recv() (*SLRouteGetNotifMsg, error) { - m := new(SLRouteGetNotifMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev4Oper_SLRoutev4GetNotifStreamServer = grpc.BidiStreamingServer[SLRouteGetNotifMsg, SLRoutev4Notif] // SLRoutev4Oper_ServiceDesc is the grpc.ServiceDesc for SLRoutev4Oper service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_route_ipv6.pb.go b/grpc/go/src/gengo/sl_route_ipv6.pb.go index 870326a4..21d97c5c 100644 --- a/grpc/go/src/gengo/sl_route_ipv6.pb.go +++ b/grpc/go/src/gengo/sl_route_ipv6.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_route_ipv6.proto package service_layer @@ -21,6 +21,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -32,10 +33,7 @@ const ( // IPv6 route type SLRoutev6 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv6 Prefix // 0:: - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff Prefix []byte `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` @@ -45,16 +43,16 @@ type SLRoutev6 struct { RouteCommon *SLRouteCommon `protobuf:"bytes,3,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,4,rep,name=PathList,proto3" json:"PathList,omitempty"` + PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList,proto3" json:"PathList,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6) Reset() { *x = SLRoutev6{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6) String() string { @@ -65,7 +63,7 @@ func (*SLRoutev6) ProtoMessage() {} func (x *SLRoutev6) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -110,10 +108,7 @@ func (x *SLRoutev6) GetPathList() []*SLRoutePath { // List of routes for bulk download type SLRoutev6Msg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Route Object Operations Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` // Correlator. This can be used to correlate replies with requests. @@ -122,16 +117,16 @@ type SLRoutev6Msg struct { // VRF name. VrfName string `protobuf:"bytes,3,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // List of routes for the VRF specified above - Routes []*SLRoutev6 `protobuf:"bytes,4,rep,name=Routes,proto3" json:"Routes,omitempty"` + Routes []*SLRoutev6 `protobuf:"bytes,4,rep,name=Routes,proto3" json:"Routes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6Msg) Reset() { *x = SLRoutev6Msg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6Msg) String() string { @@ -142,7 +137,7 @@ func (*SLRoutev6Msg) ProtoMessage() {} func (x *SLRoutev6Msg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -187,25 +182,22 @@ func (x *SLRoutev6Msg) GetRoutes() []*SLRoutev6 { // IPv6 route result, uniquely identified by the Prefix/PrefixLen pair type SLRoutev6Res struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Corresponding error code ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // IPv6 Prefix Prefix []byte `protobuf:"bytes,2,opt,name=Prefix,proto3" json:"Prefix,omitempty"` // IPv6 prefix length, [0-32] - PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` + PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6Res) Reset() { *x = SLRoutev6Res{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6Res) String() string { @@ -216,7 +208,7 @@ func (*SLRoutev6Res) ProtoMessage() {} func (x *SLRoutev6Res) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -254,10 +246,7 @@ func (x *SLRoutev6Res) GetPrefixLen() uint32 { // IPv6 bulk route result status type SLRoutev6MsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -275,16 +264,16 @@ type SLRoutev6MsgRsp struct { StatusSummary *SLErrorStatus `protobuf:"bytes,3,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLRoutev6Res `protobuf:"bytes,4,rep,name=Results,proto3" json:"Results,omitempty"` + Results []*SLRoutev6Res `protobuf:"bytes,4,rep,name=Results,proto3" json:"Results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6MsgRsp) Reset() { *x = SLRoutev6MsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6MsgRsp) String() string { @@ -295,7 +284,7 @@ func (*SLRoutev6MsgRsp) ProtoMessage() {} func (x *SLRoutev6MsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -340,10 +329,7 @@ func (x *SLRoutev6MsgRsp) GetResults() []*SLRoutev6Res { // Used to retrieve route attributes type SLRoutev6GetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -365,16 +351,16 @@ type SLRoutev6GetMsg struct { // // request up to 'EntriesCount' entries starting from the key's next // GetNext does not get the routes in the next client - GetNext bool `protobuf:"varint,6,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,6,opt,name=GetNext,proto3" json:"GetNext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6GetMsg) Reset() { *x = SLRoutev6GetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6GetMsg) String() string { @@ -385,7 +371,7 @@ func (*SLRoutev6GetMsg) ProtoMessage() {} func (x *SLRoutev6GetMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -444,10 +430,7 @@ func (x *SLRoutev6GetMsg) GetGetNext() bool { // Gt Route message response type SLRoutev6GetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` @@ -461,16 +444,16 @@ type SLRoutev6GetMsgRsp struct { ErrStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLRoutev6 `protobuf:"bytes,5,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLRoutev6 `protobuf:"bytes,5,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6GetMsgRsp) Reset() { *x = SLRoutev6GetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6GetMsgRsp) String() string { @@ -481,7 +464,7 @@ func (*SLRoutev6GetMsgRsp) ProtoMessage() {} func (x *SLRoutev6GetMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -533,23 +516,20 @@ func (x *SLRoutev6GetMsgRsp) GetEntries() []*SLRoutev6 { // IPv6 Route notification type SLRoutev6NotifRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // VRF name. VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // IPv6 routes - Entries []*SLRoutev6 `protobuf:"bytes,2,rep,name=Entries,proto3" json:"Entries,omitempty"` + Entries []*SLRoutev6 `protobuf:"bytes,2,rep,name=Entries,proto3" json:"Entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6NotifRoute) Reset() { *x = SLRoutev6NotifRoute{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6NotifRoute) String() string { @@ -560,7 +540,7 @@ func (*SLRoutev6NotifRoute) ProtoMessage() {} func (x *SLRoutev6NotifRoute) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -591,31 +571,28 @@ func (x *SLRoutev6NotifRoute) GetEntries() []*SLRoutev6 { // IPv6 notification message type SLRoutev6Notif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Event Type EventType SLNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=service_layer.SLNotifType" json:"EventType,omitempty"` // Further info based on EventType // - // Types that are assignable to Event: + // Types that are valid to be assigned to Event: // // *SLRoutev6Notif_ErrStatus // *SLRoutev6Notif_NotifStatus // *SLRoutev6Notif_Route // *SLRoutev6Notif_Marker // *SLRoutev6Notif_Vrf - Event isSLRoutev6Notif_Event `protobuf_oneof:"Event"` + Event isSLRoutev6Notif_Event `protobuf_oneof:"Event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLRoutev6Notif) Reset() { *x = SLRoutev6Notif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_route_ipv6_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLRoutev6Notif) String() string { @@ -626,7 +603,7 @@ func (*SLRoutev6Notif) ProtoMessage() {} func (x *SLRoutev6Notif) ProtoReflect() protoreflect.Message { mi := &file_sl_route_ipv6_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -648,44 +625,54 @@ func (x *SLRoutev6Notif) GetEventType() SLNotifType { return SLNotifType_SL_EVENT_TYPE_RESERVED } -func (m *SLRoutev6Notif) GetEvent() isSLRoutev6Notif_Event { - if m != nil { - return m.Event +func (x *SLRoutev6Notif) GetEvent() isSLRoutev6Notif_Event { + if x != nil { + return x.Event } return nil } func (x *SLRoutev6Notif) GetErrStatus() *SLErrorStatus { - if x, ok := x.GetEvent().(*SLRoutev6Notif_ErrStatus); ok { - return x.ErrStatus + if x != nil { + if x, ok := x.Event.(*SLRoutev6Notif_ErrStatus); ok { + return x.ErrStatus + } } return nil } func (x *SLRoutev6Notif) GetNotifStatus() *SLRouteNotifStatus { - if x, ok := x.GetEvent().(*SLRoutev6Notif_NotifStatus); ok { - return x.NotifStatus + if x != nil { + if x, ok := x.Event.(*SLRoutev6Notif_NotifStatus); ok { + return x.NotifStatus + } } return nil } func (x *SLRoutev6Notif) GetRoute() *SLRoutev6NotifRoute { - if x, ok := x.GetEvent().(*SLRoutev6Notif_Route); ok { - return x.Route + if x != nil { + if x, ok := x.Event.(*SLRoutev6Notif_Route); ok { + return x.Route + } } return nil } func (x *SLRoutev6Notif) GetMarker() *SLRouteNotifMarker { - if x, ok := x.GetEvent().(*SLRoutev6Notif_Marker); ok { - return x.Marker + if x != nil { + if x, ok := x.Event.(*SLRoutev6Notif_Marker); ok { + return x.Marker + } } return nil } func (x *SLRoutev6Notif) GetVrf() *SLVrfNotif { - if x, ok := x.GetEvent().(*SLRoutev6Notif_Vrf); ok { - return x.Vrf + if x != nil { + if x, ok := x.Event.(*SLRoutev6Notif_Vrf); ok { + return x.Vrf + } } return nil } @@ -741,191 +728,86 @@ func (*SLRoutev6Notif_Vrf) isSLRoutev6Notif_Event() {} var File_sl_route_ipv6_proto protoreflect.FileDescriptor -var file_sl_route_ipv6_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 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, - 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, -} +const file_sl_route_ipv6_proto_rawDesc = "" + + "\n" + + "\x13sl_route_ipv6.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\x1a\x15sl_route_common.proto\"\xb9\x01\n" + + "\tSLRoutev6\x12\x16\n" + + "\x06Prefix\x18\x01 \x01(\fR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x02 \x01(\rR\tPrefixLen\x12>\n" + + "\vRouteCommon\x18\x03 \x01(\v2\x1c.service_layer.SLRouteCommonR\vRouteCommon\x126\n" + + "\bPathList\x18\x04 \x03(\v2\x1a.service_layer.SLRoutePathR\bPathList\"\xa9\x01\n" + + "\fSLRoutev6Msg\x12-\n" + + "\x04Oper\x18\x01 \x01(\x0e2\x19.service_layer.SLObjectOpR\x04Oper\x12\x1e\n" + + "\n" + + "Correlator\x18\x02 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x03 \x01(\tR\aVrfName\x120\n" + + "\x06Routes\x18\x04 \x03(\v2\x18.service_layer.SLRoutev6R\x06Routes\"\x80\x01\n" + + "\fSLRoutev6Res\x12:\n" + + "\tErrStatus\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x12\x16\n" + + "\x06Prefix\x18\x02 \x01(\fR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x03 \x01(\rR\tPrefixLen\"\xc6\x01\n" + + "\x0fSLRoutev6MsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12B\n" + + "\rStatusSummary\x18\x03 \x01(\v2\x1c.service_layer.SLErrorStatusR\rStatusSummary\x125\n" + + "\aResults\x18\x04 \x03(\v2\x1b.service_layer.SLRoutev6ResR\aResults\"\xbf\x01\n" + + "\x0fSLRoutev6GetMsg\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x18\n" + + "\aVrfName\x18\x02 \x01(\tR\aVrfName\x12\x16\n" + + "\x06Prefix\x18\x03 \x01(\fR\x06Prefix\x12\x1c\n" + + "\tPrefixLen\x18\x04 \x01(\rR\tPrefixLen\x12\"\n" + + "\fEntriesCount\x18\x05 \x01(\rR\fEntriesCount\x12\x18\n" + + "\aGetNext\x18\x06 \x01(\bR\aGetNext\"\xd0\x01\n" + + "\x12SLRoutev6GetMsgRsp\x12\x1e\n" + + "\n" + + "Correlator\x18\x01 \x01(\x04R\n" + + "Correlator\x12\x10\n" + + "\x03Eof\x18\x02 \x01(\bR\x03Eof\x12\x18\n" + + "\aVrfName\x18\x03 \x01(\tR\aVrfName\x12:\n" + + "\tErrStatus\x18\x04 \x01(\v2\x1c.service_layer.SLErrorStatusR\tErrStatus\x122\n" + + "\aEntries\x18\x05 \x03(\v2\x18.service_layer.SLRoutev6R\aEntries\"c\n" + + "\x13SLRoutev6NotifRoute\x12\x18\n" + + "\aVrfName\x18\x01 \x01(\tR\aVrfName\x122\n" + + "\aEntries\x18\x02 \x03(\v2\x18.service_layer.SLRoutev6R\aEntries\"\x80\x03\n" + + "\x0eSLRoutev6Notif\x128\n" + + "\tEventType\x18\x01 \x01(\x0e2\x1a.service_layer.SLNotifTypeR\tEventType\x12<\n" + + "\tErrStatus\x18\x02 \x01(\v2\x1c.service_layer.SLErrorStatusH\x00R\tErrStatus\x12E\n" + + "\vNotifStatus\x18\x03 \x01(\v2!.service_layer.SLRouteNotifStatusH\x00R\vNotifStatus\x12:\n" + + "\x05Route\x18\x04 \x01(\v2\".service_layer.SLRoutev6NotifRouteH\x00R\x05Route\x12;\n" + + "\x06Marker\x18\x05 \x01(\v2!.service_layer.SLRouteNotifMarkerH\x00R\x06Marker\x12-\n" + + "\x03Vrf\x18\x06 \x01(\v2\x19.service_layer.SLVrfNotifH\x00R\x03VrfB\a\n" + + "\x05Event2\x98\a\n" + + "\rSLRoutev6Oper\x12b\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" + + "\vSLRoutev6Op\x12\x1b.service_layer.SLRoutev6Msg\x1a\x1e.service_layer.SLRoutev6MsgRsp\x12Q\n" + + "\fSLRoutev6Get\x12\x1e.service_layer.SLRoutev6GetMsg\x1a!.service_layer.SLRoutev6GetMsgRsp\x12T\n" + + "\x11SLRoutev6OpStream\x12\x1b.service_layer.SLRoutev6Msg\x1a\x1e.service_layer.SLRoutev6MsgRsp(\x010\x01\x12[\n" + + "\x12SLRoutev6GetStream\x12\x1e.service_layer.SLRoutev6GetMsg\x1a!.service_layer.SLRoutev6GetMsgRsp(\x010\x01\x12_\n" + + "\x17SLRoutev6GetNotifStream\x12!.service_layer.SLRouteGetNotifMsg\x1a\x1d.service_layer.SLRoutev6Notif(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_route_ipv6_proto_rawDescOnce sync.Once - file_sl_route_ipv6_proto_rawDescData = file_sl_route_ipv6_proto_rawDesc + file_sl_route_ipv6_proto_rawDescData []byte ) func file_sl_route_ipv6_proto_rawDescGZIP() []byte { file_sl_route_ipv6_proto_rawDescOnce.Do(func() { - file_sl_route_ipv6_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_ipv6_proto_rawDescData) + file_sl_route_ipv6_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_route_ipv6_proto_rawDesc), len(file_sl_route_ipv6_proto_rawDesc))) }) return file_sl_route_ipv6_proto_rawDescData } var file_sl_route_ipv6_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_sl_route_ipv6_proto_goTypes = []interface{}{ +var file_sl_route_ipv6_proto_goTypes = []any{ (*SLRoutev6)(nil), // 0: service_layer.SLRoutev6 (*SLRoutev6Msg)(nil), // 1: service_layer.SLRoutev6Msg (*SLRoutev6Res)(nil), // 2: service_layer.SLRoutev6Res @@ -1004,105 +886,7 @@ func file_sl_route_ipv6_proto_init() { } file_sl_common_types_proto_init() file_sl_route_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_route_ipv6_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6Msg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6Res); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6MsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6GetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6GetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6NotifRoute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6Notif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_route_ipv6_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_sl_route_ipv6_proto_msgTypes[7].OneofWrappers = []any{ (*SLRoutev6Notif_ErrStatus)(nil), (*SLRoutev6Notif_NotifStatus)(nil), (*SLRoutev6Notif_Route)(nil), @@ -1113,7 +897,7 @@ func file_sl_route_ipv6_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_route_ipv6_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_route_ipv6_proto_rawDesc), len(file_sl_route_ipv6_proto_rawDesc)), NumEnums: 0, NumMessages: 8, NumExtensions: 0, @@ -1124,7 +908,6 @@ func file_sl_route_ipv6_proto_init() { MessageInfos: file_sl_route_ipv6_proto_msgTypes, }.Build() File_sl_route_ipv6_proto = out.File - file_sl_route_ipv6_proto_rawDesc = nil file_sl_route_ipv6_proto_goTypes = nil file_sl_route_ipv6_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_route_ipv6_grpc.pb.go b/grpc/go/src/gengo/sl_route_ipv6_grpc.pb.go index 620dce7e..e2bfced9 100644 --- a/grpc/go/src/gengo/sl_route_ipv6_grpc.pb.go +++ b/grpc/go/src/gengo/sl_route_ipv6_grpc.pb.go @@ -1,7 +1,17 @@ +// @file +// @brief Server RPC proto file for IPv6. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016, 2023, 2024 by cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_route_ipv6.proto package service_layer @@ -15,12 +25,33 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLRoutev6Oper_SLRoutev6GlobalsGet_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet" + SLRoutev6Oper_SLRoutev6GlobalStatsGet_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet" + SLRoutev6Oper_SLRoutev6VrfRegOp_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp" + SLRoutev6Oper_SLRoutev6VrfRegGet_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet" + SLRoutev6Oper_SLRoutev6VrfGetStats_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats" + SLRoutev6Oper_SLRoutev6Op_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6Op" + SLRoutev6Oper_SLRoutev6Get_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6Get" + SLRoutev6Oper_SLRoutev6OpStream_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6OpStream" + SLRoutev6Oper_SLRoutev6GetStream_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6GetStream" + SLRoutev6Oper_SLRoutev6GetNotifStream_FullMethodName = "/service_layer.SLRoutev6Oper/SLRoutev6GetNotifStream" +) // SLRoutev6OperClient is the client API for SLRoutev6Oper service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLRouteIPv6Oper +// @ingroup AF +// Defines RPC calls for IPv6 route changes and VRF registration. +// This service declares both the Vrf Registration, as well as adding, deleting +// and getting IPv6 routes. +// All IPv6 addresses are encoded in network byte order. +// @{ type SLRoutev6OperClient interface { // Used to retrieve Global Route information SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) @@ -99,9 +130,9 @@ type SLRoutev6OperClient interface { // Route delete. The route's key is enough to delete the object. // Other attributes, if provided are ignored. // Delete of a non-existant route is returned as success. - SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) + SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev6Msg, SLRoutev6MsgRsp], error) // Retrieves route attributes. - SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) + SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev6GetMsg, SLRoutev6GetMsgRsp], error) // This call is used to get a stream of route notifications. // It can be used to get "push" notifications for route // adds/updates/deletes. @@ -112,7 +143,7 @@ type SLRoutev6OperClient interface { // The success/failure of the notification request is relayed in the // SLRouteNotifStatus followed by a Start marker, any routes if present, // and an End Marker. - SLRoutev6GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetNotifStreamClient, error) + SLRoutev6GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRouteGetNotifMsg, SLRoutev6Notif], error) } type sLRoutev6OperClient struct { @@ -124,8 +155,9 @@ func NewSLRoutev6OperClient(cc grpc.ClientConnInterface) SLRoutev6OperClient { } func (c *sLRoutev6OperClient) SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRouteGlobalsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6GlobalsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -133,8 +165,9 @@ func (c *sLRoutev6OperClient) SLRoutev6GlobalsGet(ctx context.Context, in *SLRou } func (c *sLRoutev6OperClient) SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRouteGlobalStatsGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6GlobalStatsGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -142,8 +175,9 @@ func (c *sLRoutev6OperClient) SLRoutev6GlobalStatsGet(ctx context.Context, in *S } func (c *sLRoutev6OperClient) SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLVrfRegMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6VrfRegOp_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -151,8 +185,9 @@ func (c *sLRoutev6OperClient) SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRe } func (c *sLRoutev6OperClient) SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLVrfRegGetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6VrfRegGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -160,8 +195,9 @@ func (c *sLRoutev6OperClient) SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfR } func (c *sLRoutev6OperClient) SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLVRFGetStatsMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6VrfGetStats_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -169,8 +205,9 @@ func (c *sLRoutev6OperClient) SLRoutev6VrfGetStats(ctx context.Context, in *SLVr } func (c *sLRoutev6OperClient) SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRoutev6MsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6Op", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6Op_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -178,110 +215,65 @@ func (c *sLRoutev6OperClient) SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, } func (c *sLRoutev6OperClient) SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SLRoutev6GetMsgRsp) - err := c.cc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6Get", in, out, opts...) + err := c.cc.Invoke(ctx, SLRoutev6Oper_SLRoutev6Get_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *sLRoutev6OperClient) SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[0], "/service_layer.SLRoutev6Oper/SLRoutev6OpStream", opts...) +func (c *sLRoutev6OperClient) SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev6Msg, SLRoutev6MsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[0], SLRoutev6Oper_SLRoutev6OpStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLRoutev6OperSLRoutev6OpStreamClient{stream} + x := &grpc.GenericClientStream[SLRoutev6Msg, SLRoutev6MsgRsp]{ClientStream: stream} return x, nil } -type SLRoutev6Oper_SLRoutev6OpStreamClient interface { - Send(*SLRoutev6Msg) error - Recv() (*SLRoutev6MsgRsp, error) - grpc.ClientStream -} - -type sLRoutev6OperSLRoutev6OpStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev6OperSLRoutev6OpStreamClient) Send(m *SLRoutev6Msg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6OpStreamClient) Recv() (*SLRoutev6MsgRsp, error) { - m := new(SLRoutev6MsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev6Oper_SLRoutev6OpStreamClient = grpc.BidiStreamingClient[SLRoutev6Msg, SLRoutev6MsgRsp] -func (c *sLRoutev6OperClient) SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[1], "/service_layer.SLRoutev6Oper/SLRoutev6GetStream", opts...) +func (c *sLRoutev6OperClient) SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRoutev6GetMsg, SLRoutev6GetMsgRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[1], SLRoutev6Oper_SLRoutev6GetStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLRoutev6OperSLRoutev6GetStreamClient{stream} + x := &grpc.GenericClientStream[SLRoutev6GetMsg, SLRoutev6GetMsgRsp]{ClientStream: stream} return x, nil } -type SLRoutev6Oper_SLRoutev6GetStreamClient interface { - Send(*SLRoutev6GetMsg) error - Recv() (*SLRoutev6GetMsgRsp, error) - grpc.ClientStream -} - -type sLRoutev6OperSLRoutev6GetStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev6OperSLRoutev6GetStreamClient) Send(m *SLRoutev6GetMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6GetStreamClient) Recv() (*SLRoutev6GetMsgRsp, error) { - m := new(SLRoutev6GetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev6Oper_SLRoutev6GetStreamClient = grpc.BidiStreamingClient[SLRoutev6GetMsg, SLRoutev6GetMsgRsp] -func (c *sLRoutev6OperClient) SLRoutev6GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetNotifStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[2], "/service_layer.SLRoutev6Oper/SLRoutev6GetNotifStream", opts...) +func (c *sLRoutev6OperClient) SLRoutev6GetNotifStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLRouteGetNotifMsg, SLRoutev6Notif], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[2], SLRoutev6Oper_SLRoutev6GetNotifStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLRoutev6OperSLRoutev6GetNotifStreamClient{stream} + x := &grpc.GenericClientStream[SLRouteGetNotifMsg, SLRoutev6Notif]{ClientStream: stream} return x, nil } -type SLRoutev6Oper_SLRoutev6GetNotifStreamClient interface { - Send(*SLRouteGetNotifMsg) error - Recv() (*SLRoutev6Notif, error) - grpc.ClientStream -} - -type sLRoutev6OperSLRoutev6GetNotifStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev6OperSLRoutev6GetNotifStreamClient) Send(m *SLRouteGetNotifMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6GetNotifStreamClient) Recv() (*SLRoutev6Notif, error) { - m := new(SLRoutev6Notif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev6Oper_SLRoutev6GetNotifStreamClient = grpc.BidiStreamingClient[SLRouteGetNotifMsg, SLRoutev6Notif] // SLRoutev6OperServer is the server API for SLRoutev6Oper service. // All implementations must embed UnimplementedSLRoutev6OperServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLRouteIPv6Oper +// @ingroup AF +// Defines RPC calls for IPv6 route changes and VRF registration. +// This service declares both the Vrf Registration, as well as adding, deleting +// and getting IPv6 routes. +// All IPv6 addresses are encoded in network byte order. +// @{ type SLRoutev6OperServer interface { // Used to retrieve Global Route information SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) @@ -360,9 +352,9 @@ type SLRoutev6OperServer interface { // Route delete. The route's key is enough to delete the object. // Other attributes, if provided are ignored. // Delete of a non-existant route is returned as success. - SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error + SLRoutev6OpStream(grpc.BidiStreamingServer[SLRoutev6Msg, SLRoutev6MsgRsp]) error // Retrieves route attributes. - SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error + SLRoutev6GetStream(grpc.BidiStreamingServer[SLRoutev6GetMsg, SLRoutev6GetMsgRsp]) error // This call is used to get a stream of route notifications. // It can be used to get "push" notifications for route // adds/updates/deletes. @@ -373,13 +365,16 @@ type SLRoutev6OperServer interface { // The success/failure of the notification request is relayed in the // SLRouteNotifStatus followed by a Start marker, any routes if present, // and an End Marker. - SLRoutev6GetNotifStream(SLRoutev6Oper_SLRoutev6GetNotifStreamServer) error + SLRoutev6GetNotifStream(grpc.BidiStreamingServer[SLRouteGetNotifMsg, SLRoutev6Notif]) error mustEmbedUnimplementedSLRoutev6OperServer() } -// UnimplementedSLRoutev6OperServer must be embedded to have forward compatible implementations. -type UnimplementedSLRoutev6OperServer struct { -} +// UnimplementedSLRoutev6OperServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLRoutev6OperServer struct{} func (UnimplementedSLRoutev6OperServer) SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6GlobalsGet not implemented") @@ -402,16 +397,17 @@ func (UnimplementedSLRoutev6OperServer) SLRoutev6Op(context.Context, *SLRoutev6M func (UnimplementedSLRoutev6OperServer) SLRoutev6Get(context.Context, *SLRoutev6GetMsg) (*SLRoutev6GetMsgRsp, error) { return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6Get not implemented") } -func (UnimplementedSLRoutev6OperServer) SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error { +func (UnimplementedSLRoutev6OperServer) SLRoutev6OpStream(grpc.BidiStreamingServer[SLRoutev6Msg, SLRoutev6MsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLRoutev6OpStream not implemented") } -func (UnimplementedSLRoutev6OperServer) SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error { +func (UnimplementedSLRoutev6OperServer) SLRoutev6GetStream(grpc.BidiStreamingServer[SLRoutev6GetMsg, SLRoutev6GetMsgRsp]) error { return status.Errorf(codes.Unimplemented, "method SLRoutev6GetStream not implemented") } -func (UnimplementedSLRoutev6OperServer) SLRoutev6GetNotifStream(SLRoutev6Oper_SLRoutev6GetNotifStreamServer) error { +func (UnimplementedSLRoutev6OperServer) SLRoutev6GetNotifStream(grpc.BidiStreamingServer[SLRouteGetNotifMsg, SLRoutev6Notif]) error { return status.Errorf(codes.Unimplemented, "method SLRoutev6GetNotifStream not implemented") } func (UnimplementedSLRoutev6OperServer) mustEmbedUnimplementedSLRoutev6OperServer() {} +func (UnimplementedSLRoutev6OperServer) testEmbeddedByValue() {} // UnsafeSLRoutev6OperServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLRoutev6OperServer will @@ -421,6 +417,13 @@ type UnsafeSLRoutev6OperServer interface { } func RegisterSLRoutev6OperServer(s grpc.ServiceRegistrar, srv SLRoutev6OperServer) { + // If the following call pancis, it indicates UnimplementedSLRoutev6OperServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLRoutev6Oper_ServiceDesc, srv) } @@ -434,7 +437,7 @@ func _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet", + FullMethod: SLRoutev6Oper_SLRoutev6GlobalsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, req.(*SLRouteGlobalsGetMsg)) @@ -452,7 +455,7 @@ func _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler(srv interface{}, ctx context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet", + FullMethod: SLRoutev6Oper_SLRoutev6GlobalStatsGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, req.(*SLRouteGlobalStatsGetMsg)) @@ -470,7 +473,7 @@ func _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp", + FullMethod: SLRoutev6Oper_SLRoutev6VrfRegOp_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, req.(*SLVrfRegMsg)) @@ -488,7 +491,7 @@ func _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet", + FullMethod: SLRoutev6Oper_SLRoutev6VrfRegGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, req.(*SLVrfRegGetMsg)) @@ -506,7 +509,7 @@ func _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats", + FullMethod: SLRoutev6Oper_SLRoutev6VrfGetStats_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, req.(*SLVrfRegGetMsg)) @@ -524,7 +527,7 @@ func _SLRoutev6Oper_SLRoutev6Op_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6Op", + FullMethod: SLRoutev6Oper_SLRoutev6Op_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, req.(*SLRoutev6Msg)) @@ -542,7 +545,7 @@ func _SLRoutev6Oper_SLRoutev6Get_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6Get", + FullMethod: SLRoutev6Oper_SLRoutev6Get_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, req.(*SLRoutev6GetMsg)) @@ -551,82 +554,25 @@ func _SLRoutev6Oper_SLRoutev6Get_Handler(srv interface{}, ctx context.Context, d } func _SLRoutev6Oper_SLRoutev6OpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6OpStream(&sLRoutev6OperSLRoutev6OpStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6OpStreamServer interface { - Send(*SLRoutev6MsgRsp) error - Recv() (*SLRoutev6Msg, error) - grpc.ServerStream -} - -type sLRoutev6OperSLRoutev6OpStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6OpStreamServer) Send(m *SLRoutev6MsgRsp) error { - return x.ServerStream.SendMsg(m) + return srv.(SLRoutev6OperServer).SLRoutev6OpStream(&grpc.GenericServerStream[SLRoutev6Msg, SLRoutev6MsgRsp]{ServerStream: stream}) } -func (x *sLRoutev6OperSLRoutev6OpStreamServer) Recv() (*SLRoutev6Msg, error) { - m := new(SLRoutev6Msg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev6Oper_SLRoutev6OpStreamServer = grpc.BidiStreamingServer[SLRoutev6Msg, SLRoutev6MsgRsp] func _SLRoutev6Oper_SLRoutev6GetStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6GetStream(&sLRoutev6OperSLRoutev6GetStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6GetStreamServer interface { - Send(*SLRoutev6GetMsgRsp) error - Recv() (*SLRoutev6GetMsg, error) - grpc.ServerStream + return srv.(SLRoutev6OperServer).SLRoutev6GetStream(&grpc.GenericServerStream[SLRoutev6GetMsg, SLRoutev6GetMsgRsp]{ServerStream: stream}) } -type sLRoutev6OperSLRoutev6GetStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6GetStreamServer) Send(m *SLRoutev6GetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6GetStreamServer) Recv() (*SLRoutev6GetMsg, error) { - m := new(SLRoutev6GetMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev6Oper_SLRoutev6GetStreamServer = grpc.BidiStreamingServer[SLRoutev6GetMsg, SLRoutev6GetMsgRsp] func _SLRoutev6Oper_SLRoutev6GetNotifStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6GetNotifStream(&sLRoutev6OperSLRoutev6GetNotifStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6GetNotifStreamServer interface { - Send(*SLRoutev6Notif) error - Recv() (*SLRouteGetNotifMsg, error) - grpc.ServerStream -} - -type sLRoutev6OperSLRoutev6GetNotifStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6GetNotifStreamServer) Send(m *SLRoutev6Notif) error { - return x.ServerStream.SendMsg(m) + return srv.(SLRoutev6OperServer).SLRoutev6GetNotifStream(&grpc.GenericServerStream[SLRouteGetNotifMsg, SLRoutev6Notif]{ServerStream: stream}) } -func (x *sLRoutev6OperSLRoutev6GetNotifStreamServer) Recv() (*SLRouteGetNotifMsg, error) { - m := new(SLRouteGetNotifMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLRoutev6Oper_SLRoutev6GetNotifStreamServer = grpc.BidiStreamingServer[SLRouteGetNotifMsg, SLRoutev6Notif] // SLRoutev6Oper_ServiceDesc is the grpc.ServiceDesc for SLRoutev6Oper service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_sr_common.pb.go b/grpc/go/src/gengo/sl_sr_common.pb.go index 23d29c43..98967326 100644 --- a/grpc/go/src/gengo/sl_sr_common.pb.go +++ b/grpc/go/src/gengo/sl_sr_common.pb.go @@ -13,8 +13,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_sr_common.proto package service_layer @@ -24,6 +24,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -492,10 +493,7 @@ func (SLSrteProtectionType) EnumDescriptor() ([]byte, []int) { // SR Policy flags type SLSrPolicyFlags struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SL Policy Flags // Flags associated with the SR policy // Section 4 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -512,16 +510,16 @@ type SLSrPolicyFlags struct { // address when set and IPv4 address when clear // // All others are reserved. - Flags uint32 `protobuf:"varint,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + Flags uint32 `protobuf:"varint,1,opt,name=Flags,proto3" json:"Flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyFlags) Reset() { *x = SLSrPolicyFlags{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyFlags) String() string { @@ -532,7 +530,7 @@ func (*SLSrPolicyFlags) ProtoMessage() {} func (x *SLSrPolicyFlags) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -557,24 +555,21 @@ func (x *SLSrPolicyFlags) GetFlags() uint32 { // SR Binding SID. TLV 1201 // Section 5.1 of [draft-ietf-idr-bgp-ls-sr-policy] type SLSrBsid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to BindingSid: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to BindingSid: // // *SLSrBsid_MplsBsid // *SLSrBsid_Srv6Bsid - BindingSid isSLSrBsid_BindingSid `protobuf_oneof:"BindingSid"` + BindingSid isSLSrBsid_BindingSid `protobuf_oneof:"BindingSid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrBsid) Reset() { *x = SLSrBsid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrBsid) String() string { @@ -585,7 +580,7 @@ func (*SLSrBsid) ProtoMessage() {} func (x *SLSrBsid) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -600,23 +595,27 @@ func (*SLSrBsid) Descriptor() ([]byte, []int) { return file_sl_sr_common_proto_rawDescGZIP(), []int{1} } -func (m *SLSrBsid) GetBindingSid() isSLSrBsid_BindingSid { - if m != nil { - return m.BindingSid +func (x *SLSrBsid) GetBindingSid() isSLSrBsid_BindingSid { + if x != nil { + return x.BindingSid } return nil } func (x *SLSrBsid) GetMplsBsid() uint32 { - if x, ok := x.GetBindingSid().(*SLSrBsid_MplsBsid); ok { - return x.MplsBsid + if x != nil { + if x, ok := x.BindingSid.(*SLSrBsid_MplsBsid); ok { + return x.MplsBsid + } } return 0 } func (x *SLSrBsid) GetSrv6Bsid() []byte { - if x, ok := x.GetBindingSid().(*SLSrBsid_Srv6Bsid); ok { - return x.Srv6Bsid + if x != nil { + if x, ok := x.BindingSid.(*SLSrBsid_Srv6Bsid); ok { + return x.Srv6Bsid + } } return nil } @@ -644,23 +643,20 @@ func (*SLSrBsid_Srv6Bsid) isSLSrBsid_BindingSid() {} // SR Candidate Path Name. TLV 1203 // Section 5.5 of [draft-ietf-idr-bgp-ls-sr-policy] type SLSrCpName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Symbolic name for the SR Policy candidate path without a NULL // terminator. It must be enforced that the size of the symbolic name // be limited to 255 characters. - Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrCpName) Reset() { *x = SLSrCpName{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrCpName) String() string { @@ -671,7 +667,7 @@ func (*SLSrCpName) ProtoMessage() {} func (x *SLSrCpName) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -695,21 +691,18 @@ func (x *SLSrCpName) GetName() string { // SR Segment Descriptors type SLSrSegmentDesc struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Algorithm uint32 `protobuf:"varint,1,opt,name=Algorithm,proto3" json:"Algorithm,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Algorithm uint32 `protobuf:"varint,1,opt,name=Algorithm,proto3" json:"Algorithm,omitempty"` // Carries info about local node address. // - // Types that are assignable to LocalNode: + // Types that are valid to be assigned to LocalNode: // // *SLSrSegmentDesc_Ipv4LocalAddr // *SLSrSegmentDesc_Ipv6LocalAddr LocalNode isSLSrSegmentDesc_LocalNode `protobuf_oneof:"LocalNode"` // Carries info about remote node address. // - // Types that are assignable to RemoteNode: + // Types that are valid to be assigned to RemoteNode: // // *SLSrSegmentDesc_Ipv4RemoteAddr // *SLSrSegmentDesc_Ipv6RemoteAddr @@ -722,15 +715,15 @@ type SLSrSegmentDesc struct { // the remote node address. // Section 5.8.1 of [draft-ietf-idr-bgp-ls-sr-policy] RemoteNodeIntfId uint32 `protobuf:"varint,7,opt,name=RemoteNodeIntfId,proto3" json:"RemoteNodeIntfId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrSegmentDesc) Reset() { *x = SLSrSegmentDesc{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrSegmentDesc) String() string { @@ -741,7 +734,7 @@ func (*SLSrSegmentDesc) ProtoMessage() {} func (x *SLSrSegmentDesc) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -763,44 +756,52 @@ func (x *SLSrSegmentDesc) GetAlgorithm() uint32 { return 0 } -func (m *SLSrSegmentDesc) GetLocalNode() isSLSrSegmentDesc_LocalNode { - if m != nil { - return m.LocalNode +func (x *SLSrSegmentDesc) GetLocalNode() isSLSrSegmentDesc_LocalNode { + if x != nil { + return x.LocalNode } return nil } func (x *SLSrSegmentDesc) GetIpv4LocalAddr() []byte { - if x, ok := x.GetLocalNode().(*SLSrSegmentDesc_Ipv4LocalAddr); ok { - return x.Ipv4LocalAddr + if x != nil { + if x, ok := x.LocalNode.(*SLSrSegmentDesc_Ipv4LocalAddr); ok { + return x.Ipv4LocalAddr + } } return nil } func (x *SLSrSegmentDesc) GetIpv6LocalAddr() []byte { - if x, ok := x.GetLocalNode().(*SLSrSegmentDesc_Ipv6LocalAddr); ok { - return x.Ipv6LocalAddr + if x != nil { + if x, ok := x.LocalNode.(*SLSrSegmentDesc_Ipv6LocalAddr); ok { + return x.Ipv6LocalAddr + } } return nil } -func (m *SLSrSegmentDesc) GetRemoteNode() isSLSrSegmentDesc_RemoteNode { - if m != nil { - return m.RemoteNode +func (x *SLSrSegmentDesc) GetRemoteNode() isSLSrSegmentDesc_RemoteNode { + if x != nil { + return x.RemoteNode } return nil } func (x *SLSrSegmentDesc) GetIpv4RemoteAddr() []byte { - if x, ok := x.GetRemoteNode().(*SLSrSegmentDesc_Ipv4RemoteAddr); ok { - return x.Ipv4RemoteAddr + if x != nil { + if x, ok := x.RemoteNode.(*SLSrSegmentDesc_Ipv4RemoteAddr); ok { + return x.Ipv4RemoteAddr + } } return nil } func (x *SLSrSegmentDesc) GetIpv6RemoteAddr() []byte { - if x, ok := x.GetRemoteNode().(*SLSrSegmentDesc_Ipv6RemoteAddr); ok { - return x.Ipv6RemoteAddr + if x != nil { + if x, ok := x.RemoteNode.(*SLSrSegmentDesc_Ipv6RemoteAddr); ok { + return x.Ipv6RemoteAddr + } } return nil } @@ -858,11 +859,8 @@ func (*SLSrSegmentDesc_Ipv6RemoteAddr) isSLSrSegmentDesc_RemoteNode() {} // SR Segment. TLV 1206 // Section 5.8 of [draft-ietf-idr-bgp-ls-sr-policy] type SLSrSegment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type SLSrSegmentType `protobuf:"varint,1,opt,name=Type,proto3,enum=service_layer.SLSrSegmentType" json:"Type,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Type SLSrSegmentType `protobuf:"varint,1,opt,name=Type,proto3,enum=service_layer.SLSrSegmentType" json:"Type,omitempty"` // SR Segment Flags // Flags associated with the SR Segment // Section 5.8 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -894,7 +892,7 @@ type SLSrSegment struct { // // All others are reserved. Flags uint32 `protobuf:"varint,2,opt,name=Flags,proto3" json:"Flags,omitempty"` - // Types that are assignable to Sid: + // Types that are valid to be assigned to Sid: // // *SLSrSegment_MplsLabel // *SLSrSegment_Srv6Sid @@ -906,16 +904,16 @@ type SLSrSegment struct { EndPointBehavior *SLSrv6EndPointBehavior `protobuf:"bytes,6,opt,name=EndPointBehavior,proto3" json:"EndPointBehavior,omitempty"` // SRv6 SID Structure Attribute. TLV 1252 // Section 8 of [RFC9514] - SidStruct *SLSrv6SidStruct `protobuf:"bytes,7,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + SidStruct *SLSrv6SidStruct `protobuf:"bytes,7,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrSegment) Reset() { *x = SLSrSegment{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrSegment) String() string { @@ -926,7 +924,7 @@ func (*SLSrSegment) ProtoMessage() {} func (x *SLSrSegment) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -955,23 +953,27 @@ func (x *SLSrSegment) GetFlags() uint32 { return 0 } -func (m *SLSrSegment) GetSid() isSLSrSegment_Sid { - if m != nil { - return m.Sid +func (x *SLSrSegment) GetSid() isSLSrSegment_Sid { + if x != nil { + return x.Sid } return nil } func (x *SLSrSegment) GetMplsLabel() uint32 { - if x, ok := x.GetSid().(*SLSrSegment_MplsLabel); ok { - return x.MplsLabel + if x != nil { + if x, ok := x.Sid.(*SLSrSegment_MplsLabel); ok { + return x.MplsLabel + } } return 0 } func (x *SLSrSegment) GetSrv6Sid() []byte { - if x, ok := x.GetSid().(*SLSrSegment_Srv6Sid); ok { - return x.Srv6Sid + if x != nil { + if x, ok := x.Sid.(*SLSrSegment_Srv6Sid); ok { + return x.Srv6Sid + } } return nil } @@ -1020,10 +1022,7 @@ func (*SLSrSegment_Srv6Sid) isSLSrSegment_Sid() {} // SRv6 Binding SID. TLV 1212 // Section 5.2 of [draft-ietf-idr-bgp-ls-sr-policy] type SLSrv6BindingSid struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SRv6 Binding SID Flags // Flags associated with the SRv6 Binding SID // Section 5.2 of [draft-ietf-idr-bgp-ls-sr-policy] @@ -1056,16 +1055,16 @@ type SLSrv6BindingSid struct { EndPointBehavior *SLSrv6EndPointBehavior `protobuf:"bytes,4,opt,name=EndPointBehavior,proto3" json:"EndPointBehavior,omitempty"` // SRv6 SID Structure Attribute. TLV 1252 // Section 8 of [RFC9514] - SidStruct *SLSrv6SidStruct `protobuf:"bytes,5,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + SidStruct *SLSrv6SidStruct `protobuf:"bytes,5,opt,name=SidStruct,proto3" json:"SidStruct,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrv6BindingSid) Reset() { *x = SLSrv6BindingSid{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrv6BindingSid) String() string { @@ -1076,7 +1075,7 @@ func (*SLSrv6BindingSid) ProtoMessage() {} func (x *SLSrv6BindingSid) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1129,26 +1128,23 @@ func (x *SLSrv6BindingSid) GetSidStruct() *SLSrv6SidStruct { // SRv6 End Point Behavior. TLV 1250 // Section 7.1 of [RFC9514] type SLSrv6EndPointBehavior struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Endpoint behavior of the SID EndPointBehavior uint32 `protobuf:"varint,1,opt,name=EndPointBehavior,proto3" json:"EndPointBehavior,omitempty"` // Flags associated with the SID. Section 8 of [RFC9513] // for OSPFv3, and Section 7.2 of [RFC9352] for IS-IS. Flags uint32 `protobuf:"varint,2,opt,name=Flags,proto3" json:"Flags,omitempty"` // Algorithm associated with the SID - Algorithm uint32 `protobuf:"varint,3,opt,name=Algorithm,proto3" json:"Algorithm,omitempty"` + Algorithm uint32 `protobuf:"varint,3,opt,name=Algorithm,proto3" json:"Algorithm,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrv6EndPointBehavior) Reset() { *x = SLSrv6EndPointBehavior{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrv6EndPointBehavior) String() string { @@ -1159,7 +1155,7 @@ func (*SLSrv6EndPointBehavior) ProtoMessage() {} func (x *SLSrv6EndPointBehavior) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1198,10 +1194,7 @@ func (x *SLSrv6EndPointBehavior) GetAlgorithm() uint32 { // SRv6 SID Structure Attribute. TLV 1252 // Section 8 of [RFC9514] type SLSrv6SidStruct struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Locator block length in bits LocatorBlockLen uint32 `protobuf:"varint,1,opt,name=LocatorBlockLen,proto3" json:"LocatorBlockLen,omitempty"` // Locator node length in bits @@ -1209,16 +1202,16 @@ type SLSrv6SidStruct struct { // Function length in bits FunctionLen uint32 `protobuf:"varint,3,opt,name=FunctionLen,proto3" json:"FunctionLen,omitempty"` // Argument length in bits - ArgLen uint32 `protobuf:"varint,4,opt,name=ArgLen,proto3" json:"ArgLen,omitempty"` + ArgLen uint32 `protobuf:"varint,4,opt,name=ArgLen,proto3" json:"ArgLen,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrv6SidStruct) Reset() { *x = SLSrv6SidStruct{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrv6SidStruct) String() string { @@ -1229,7 +1222,7 @@ func (*SLSrv6SidStruct) ProtoMessage() {} func (x *SLSrv6SidStruct) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1275,10 +1268,7 @@ func (x *SLSrv6SidStruct) GetArgLen() uint32 { // Identifier of an SR Policy as defined in [section 2.1 of RFC 9256] // (https://www.rfc-editor.org/rfc/rfc9256.html#section-2.1). type SLSrPolicyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IPv4 or IPv6 Router-ID of the headend node. // // The Router-ID of a node is advertised in BGP-LS TLV 1028 (IPv4) or 1029 @@ -1291,16 +1281,16 @@ type SLSrPolicyKey struct { // IPv4 or IPv6 address of the policy endpoint. // Null endpoint is a valid input. // The null endpoint is 0.0.0.0 for IPv4 and :: for IPv6 (all bits set to the 0 value). - Endpoint *SLIpAddress `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Endpoint *SLIpAddress `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyKey) Reset() { *x = SLSrPolicyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyKey) String() string { @@ -1311,7 +1301,7 @@ func (*SLSrPolicyKey) ProtoMessage() {} func (x *SLSrPolicyKey) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1351,23 +1341,20 @@ func (x *SLSrPolicyKey) GetEndpoint() *SLIpAddress { // defined in [section 2.6 of RFC 9256] // (https://www.rfc-editor.org/rfc/rfc9256.html#section-2.6). type SLSrCandidatePathKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Originator *SLSrCandidatePathKey_Originator `protobuf:"bytes,1,opt,name=originator,proto3" json:"originator,omitempty"` // Discriminator of the candidate path, as defined in [section 2.5 of RFC // 9256](https://www.rfc-editor.org/rfc/rfc9256.html#section-2.5). Discriminator uint32 `protobuf:"varint,3,opt,name=discriminator,proto3" json:"discriminator,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrCandidatePathKey) Reset() { *x = SLSrCandidatePathKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrCandidatePathKey) String() string { @@ -1378,7 +1365,7 @@ func (*SLSrCandidatePathKey) ProtoMessage() {} func (x *SLSrCandidatePathKey) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1416,10 +1403,7 @@ func (x *SLSrCandidatePathKey) GetDiscriminator() uint32 { // is represented in multiple of 4 bytes. // https://www.ietf.org/archive/id/draft-ietf-idr-bgp-ls-sr-policy-17.html#name-sr-affinity-constraint-sub- type SLSrAffinities struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Affinity include any. // // Mapped from [section 6.2 of RFC 9350] @@ -1434,16 +1418,16 @@ type SLSrAffinities struct { // // Mapped from [section 6.1 of RFC 9350] // (https://www.rfc-editor.org/rfc/rfc9350.html#section-6.1). - ExcludeAny []uint32 `protobuf:"varint,3,rep,packed,name=excludeAny,proto3" json:"excludeAny,omitempty"` + ExcludeAny []uint32 `protobuf:"varint,3,rep,packed,name=excludeAny,proto3" json:"excludeAny,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrAffinities) Reset() { *x = SLSrAffinities{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrAffinities) String() string { @@ -1454,7 +1438,7 @@ func (*SLSrAffinities) ProtoMessage() {} func (x *SLSrAffinities) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1492,26 +1476,23 @@ func (x *SLSrAffinities) GetExcludeAny() []uint32 { // Segment Rules related constraints to be used during the path computation. type SLSrSegmentRules struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Algorithm to used for dynamic path calculation. // Refer to Section 3.1.1 of [RFC8402] // Value is a numeric identifier in the range 128-255 that is associated // via configuration with the Flexible Algorithm Definition SidAlgo *uint32 `protobuf:"varint,1,opt,name=sid_algo,json=sidAlgo,proto3,oneof" json:"sid_algo,omitempty"` // Protection type to be used for path segments - Protection SLSrteProtectionType `protobuf:"varint,2,opt,name=protection,proto3,enum=service_layer.SLSrteProtectionType" json:"protection,omitempty"` + Protection SLSrteProtectionType `protobuf:"varint,2,opt,name=protection,proto3,enum=service_layer.SLSrteProtectionType" json:"protection,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrSegmentRules) Reset() { *x = SLSrSegmentRules{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrSegmentRules) String() string { @@ -1522,7 +1503,7 @@ func (*SLSrSegmentRules) ProtoMessage() {} func (x *SLSrSegmentRules) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1553,10 +1534,7 @@ func (x *SLSrSegmentRules) GetProtection() SLSrteProtectionType { // Upper-bound constraints on the computed dynamic path type SLSrUpperBoundConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Maximum number of segments in any of the candidate path segment lists. // // When set to a non-zero value, this attribute replaces the headend MSD @@ -1569,15 +1547,15 @@ type SLSrUpperBoundConstraints struct { // Supported value is platform dependent. Server can choose to respond with an error // if the value is not in the supported range. MaximumSidDepth uint32 `protobuf:"varint,1,opt,name=maximum_sid_depth,json=maximumSidDepth,proto3" json:"maximum_sid_depth,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrUpperBoundConstraints) Reset() { *x = SLSrUpperBoundConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrUpperBoundConstraints) String() string { @@ -1588,7 +1566,7 @@ func (*SLSrUpperBoundConstraints) ProtoMessage() {} func (x *SLSrUpperBoundConstraints) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1612,26 +1590,23 @@ func (x *SLSrUpperBoundConstraints) GetMaximumSidDepth() uint32 { // SRv6 Segment Identifier(SID) Address as defined in [RFC8986]. type SLSRv6SIDInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // An IPv6 address explicitly associated with the segment. SidAddress *SLIpv6Address `protobuf:"bytes,1,opt,name=sid_address,json=sidAddress,proto3" json:"sid_address,omitempty"` // Endpoint behavior associated with the SID. Behavior uint32 `protobuf:"varint,2,opt,name=behavior,proto3" json:"behavior,omitempty"` // SID Structure of the specifed SID address. // https://datatracker.ietf.org/doc/html/rfc9352#name-srv6-sid-structure-sub-sub- - Structure *SLSrv6SidStruct `protobuf:"bytes,3,opt,name=structure,proto3" json:"structure,omitempty"` + Structure *SLSrv6SidStruct `protobuf:"bytes,3,opt,name=structure,proto3" json:"structure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSRv6SIDInfo) Reset() { *x = SLSRv6SIDInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSRv6SIDInfo) String() string { @@ -1642,7 +1617,7 @@ func (*SLSRv6SIDInfo) ProtoMessage() {} func (x *SLSRv6SIDInfo) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1683,26 +1658,23 @@ func (x *SLSRv6SIDInfo) GetStructure() *SLSrv6SidStruct { // Segment descriptor types are defined in [section 4 of RFC // 9256](https://www.rfc-editor.org/rfc/rfc9256.html#section-4). type SLSrteSegment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RFC9256 specifies more segment-types, following are currently supported types. // - // Types that are assignable to Segment: + // Types that are valid to be assigned to Segment: // // *SLSrteSegment_TypeA_ // *SLSrteSegment_TypeB_ - Segment isSLSrteSegment_Segment `protobuf_oneof:"segment"` + Segment isSLSrteSegment_Segment `protobuf_oneof:"segment"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrteSegment) Reset() { *x = SLSrteSegment{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrteSegment) String() string { @@ -1713,7 +1685,7 @@ func (*SLSrteSegment) ProtoMessage() {} func (x *SLSrteSegment) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1728,23 +1700,27 @@ func (*SLSrteSegment) Descriptor() ([]byte, []int) { return file_sl_sr_common_proto_rawDescGZIP(), []int{14} } -func (m *SLSrteSegment) GetSegment() isSLSrteSegment_Segment { - if m != nil { - return m.Segment +func (x *SLSrteSegment) GetSegment() isSLSrteSegment_Segment { + if x != nil { + return x.Segment } return nil } func (x *SLSrteSegment) GetTypeA() *SLSrteSegment_TypeA { - if x, ok := x.GetSegment().(*SLSrteSegment_TypeA_); ok { - return x.TypeA + if x != nil { + if x, ok := x.Segment.(*SLSrteSegment_TypeA_); ok { + return x.TypeA + } } return nil } func (x *SLSrteSegment) GetTypeB() *SLSrteSegment_TypeB { - if x, ok := x.GetSegment().(*SLSrteSegment_TypeB_); ok { - return x.TypeB + if x != nil { + if x, ok := x.Segment.(*SLSrteSegment_TypeB_); ok { + return x.TypeB + } } return nil } @@ -1767,10 +1743,7 @@ func (*SLSrteSegment_TypeB_) isSLSrteSegment_Segment() {} // A (weighted) segment list. type SLSrSegmentList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Ordered list of segments. Segments []*SLSrteSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` // Load balancing weight factor. @@ -1782,16 +1755,16 @@ type SLSrSegmentList struct { // Segment List weight can move to CP level when SL by reference is supported Weight *uint32 `protobuf:"varint,2,opt,name=weight,proto3,oneof" json:"weight,omitempty"` // Total path *cost*, i.e., the accumulated metric values along the path. - PathCost uint32 `protobuf:"varint,3,opt,name=path_cost,json=pathCost,proto3" json:"path_cost,omitempty"` + PathCost uint32 `protobuf:"varint,3,opt,name=path_cost,json=pathCost,proto3" json:"path_cost,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrSegmentList) Reset() { *x = SLSrSegmentList{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrSegmentList) String() string { @@ -1802,7 +1775,7 @@ func (*SLSrSegmentList) ProtoMessage() {} func (x *SLSrSegmentList) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1840,23 +1813,20 @@ func (x *SLSrSegmentList) GetPathCost() uint32 { // An error message. type SLSrStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Type of error. Type *SLErrorStatus `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // Text description of the error. - Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` + Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrStatus) Reset() { *x = SLSrStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrStatus) String() string { @@ -1867,7 +1837,7 @@ func (*SLSrStatus) ProtoMessage() {} func (x *SLSrStatus) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1899,25 +1869,22 @@ func (x *SLSrStatus) GetDescription() string { // Originator of the candidate path, as defined in [section 2.4 of RFC // 9256](https://www.rfc-editor.org/rfc/rfc9256.html#section-2.4). type SLSrCandidatePathKey_Originator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Autonomous System Number (ASN) // If 2-byte ASNs are in use, the low-order 16 bits MUST be used, // and the high-order bits MUST be set to 0. Asn *SLAutonomousSystemNumber `protobuf:"bytes,1,opt,name=asn,proto3" json:"asn,omitempty"` // Originator Node Address - NodeID *SLIpAddress `protobuf:"bytes,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + NodeID *SLIpAddress `protobuf:"bytes,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrCandidatePathKey_Originator) Reset() { *x = SLSrCandidatePathKey_Originator{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrCandidatePathKey_Originator) String() string { @@ -1928,7 +1895,7 @@ func (*SLSrCandidatePathKey_Originator) ProtoMessage() {} func (x *SLSrCandidatePathKey_Originator) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1959,20 +1926,17 @@ func (x *SLSrCandidatePathKey_Originator) GetNodeID() *SLIpAddress { // Type A: SR-MPLS Label. type SLSrteSegment_TypeA struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Label uint32 `protobuf:"varint,1,opt,name=label,proto3" json:"label,omitempty"` unknownFields protoimpl.UnknownFields - - Label uint32 `protobuf:"varint,1,opt,name=label,proto3" json:"label,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLSrteSegment_TypeA) Reset() { *x = SLSrteSegment_TypeA{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrteSegment_TypeA) String() string { @@ -1983,7 +1947,7 @@ func (*SLSrteSegment_TypeA) ProtoMessage() {} func (x *SLSrteSegment_TypeA) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2007,20 +1971,17 @@ func (x *SLSrteSegment_TypeA) GetLabel() uint32 { // Type B: SRv6 SID. type SLSrteSegment_TypeB struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Srv6Sid *SLSRv6SIDInfo `protobuf:"bytes,1,opt,name=srv6_sid,json=srv6Sid,proto3" json:"srv6_sid,omitempty"` unknownFields protoimpl.UnknownFields - - Srv6Sid *SLSRv6SIDInfo `protobuf:"bytes,1,opt,name=srv6_sid,json=srv6Sid,proto3" json:"srv6_sid,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SLSrteSegment_TypeB) Reset() { *x = SLSrteSegment_TypeB{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_sr_common_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_sr_common_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrteSegment_TypeB) String() string { @@ -2031,7 +1992,7 @@ func (*SLSrteSegment_TypeB) ProtoMessage() {} func (x *SLSrteSegment_TypeB) ProtoReflect() protoreflect.Message { mi := &file_sl_sr_common_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2055,320 +2016,173 @@ func (x *SLSrteSegment_TypeB) GetSrv6Sid() *SLSRv6SIDInfo { var File_sl_sr_common_proto protoreflect.FileDescriptor -var file_sl_sr_common_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x73, 0x6c, 0x5f, 0x73, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 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, 0x22, 0x27, 0x0a, 0x0f, 0x53, 0x4c, - 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x22, 0x54, 0x0a, 0x08, 0x53, 0x4c, 0x53, 0x72, 0x42, 0x73, 0x69, 0x64, 0x12, - 0x1c, 0x0a, 0x08, 0x4d, 0x70, 0x6c, 0x73, 0x42, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x00, 0x52, 0x08, 0x4d, 0x70, 0x6c, 0x73, 0x42, 0x73, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x08, 0x53, 0x72, 0x76, 0x36, 0x42, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x08, 0x53, 0x72, 0x76, 0x36, 0x42, 0x73, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x0a, 0x53, 0x4c, 0x53, - 0x72, 0x43, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc4, 0x02, 0x0a, 0x0f, - 0x53, 0x4c, 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, - 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x26, 0x0a, - 0x0d, 0x49, 0x70, 0x76, 0x34, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0d, 0x49, 0x70, 0x76, 0x34, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0d, 0x49, 0x70, 0x76, 0x36, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0d, - 0x49, 0x70, 0x76, 0x36, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x28, 0x0a, - 0x0e, 0x49, 0x70, 0x76, 0x34, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0e, 0x49, 0x70, 0x76, 0x34, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x28, 0x0a, 0x0e, 0x49, 0x70, 0x76, 0x36, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x01, 0x52, 0x0e, 0x49, 0x70, 0x76, 0x36, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, - 0x74, 0x66, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x66, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x66, 0x49, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x6e, 0x74, 0x66, 0x49, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x22, 0xed, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x09, - 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x09, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x07, - 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x07, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x52, 0x0b, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x51, 0x0a, 0x10, 0x45, 0x6e, - 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x10, 0x45, 0x6e, 0x64, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3c, 0x0a, - 0x09, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x09, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x53, - 0x69, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x42, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x42, 0x73, 0x69, - 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x73, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x42, 0x73, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x69, - 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, - 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x53, - 0x69, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x78, 0x0a, 0x16, 0x53, 0x4c, 0x53, 0x72, - 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x45, 0x6e, - 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, - 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, - 0x12, 0x26, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x4c, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, - 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x72, - 0x67, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x72, 0x67, 0x4c, - 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 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, 0x68, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x89, 0x02, 0x0a, 0x14, 0x53, 0x4c, 0x53, - 0x72, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4b, 0x65, - 0x79, 0x12, 0x4e, 0x0a, 0x0a, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x7b, 0x0a, 0x0a, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x61, 0x73, 0x6e, - 0x12, 0x32, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x44, 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, 0x06, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x44, 0x22, 0x70, 0x0a, 0x0e, 0x53, 0x4c, 0x53, 0x72, 0x41, 0x66, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x41, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x41, 0x6e, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x53, 0x4c, 0x53, 0x72, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x73, - 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, - 0x07, 0x73, 0x69, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x53, 0x72, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x22, 0x47, 0x0a, - 0x19, 0x53, 0x4c, 0x53, 0x72, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x69, - 0x64, 0x44, 0x65, 0x70, 0x74, 0x68, 0x22, 0xa8, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x53, 0x52, 0x76, - 0x36, 0x53, 0x49, 0x44, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x69, 0x64, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 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, - 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0a, 0x73, 0x69, 0x64, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x53, 0x72, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x41, 0x48, 0x00, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x41, - 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x48, 0x00, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1a, 0x1d, 0x0a, - 0x05, 0x54, 0x79, 0x70, 0x65, 0x41, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x1a, 0x40, 0x0a, 0x05, - 0x54, 0x79, 0x70, 0x65, 0x42, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x72, 0x76, 0x36, 0x5f, 0x73, 0x69, - 0x64, 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, 0x53, 0x52, 0x76, 0x36, 0x53, 0x49, - 0x44, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x42, 0x09, - 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x0f, 0x53, 0x4c, - 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, - 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x53, 0x72, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x73, - 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x75, 0x0a, 0x0a, - 0x53, 0x4c, 0x53, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, - 0x70, 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, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x2a, 0x90, 0x03, 0x0a, 0x18, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x12, 0x29, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, - 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, - 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x50, 0x43, 0x45, 0x50, - 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, - 0x49, 0x4e, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, - 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, - 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x12, 0x2d, 0x0a, 0x29, 0x53, - 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x50, 0x43, 0x45, 0x50, - 0x5f, 0x56, 0x49, 0x41, 0x5f, 0x50, 0x43, 0x45, 0x10, 0x0a, 0x12, 0x36, 0x0a, 0x32, 0x53, 0x4c, - 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x42, 0x47, 0x50, 0x5f, 0x53, - 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x56, 0x49, 0x41, 0x5f, 0x50, 0x43, 0x45, - 0x10, 0x14, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, 0x47, - 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x56, 0x49, 0x41, 0x5f, 0x50, 0x43, - 0x45, 0x10, 0x1e, 0x12, 0x31, 0x0a, 0x2c, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x52, 0x49, - 0x47, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x56, 0x49, 0x41, 0x5f, 0x47, - 0x52, 0x50, 0x43, 0x10, 0xfb, 0x01, 0x2a, 0x7d, 0x0a, 0x12, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x44, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x1a, - 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1d, - 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x36, 0x10, 0x80, 0x01, - 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x54, 0x4f, 0x52, - 0x5f, 0x56, 0x36, 0x10, 0x40, 0x2a, 0x9b, 0x04, 0x0a, 0x0f, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, - 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, - 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, - 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, - 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, 0x44, - 0x5f, 0x56, 0x36, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, - 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x50, 0x46, 0x58, - 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x34, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, - 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x4c, 0x53, - 0x5f, 0x50, 0x46, 0x58, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x36, 0x10, 0x04, 0x12, 0x33, 0x0a, - 0x2f, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x41, 0x44, 0x4a, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x34, 0x5f, - 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x49, 0x44, - 0x10, 0x05, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x41, 0x44, 0x4a, 0x5f, 0x53, 0x49, - 0x44, 0x5f, 0x56, 0x34, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x44, - 0x52, 0x10, 0x06, 0x12, 0x36, 0x0a, 0x32, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x41, 0x44, 0x4a, 0x5f, 0x53, - 0x49, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x5f, 0x41, 0x44, - 0x44, 0x52, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x2f, 0x0a, 0x2b, 0x53, - 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, - 0x4c, 0x53, 0x5f, 0x41, 0x44, 0x4a, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4c, 0x4f, - 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, - 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, - 0x52, 0x56, 0x36, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x09, 0x12, 0x36, 0x0a, 0x32, 0x53, 0x4c, - 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x52, 0x56, - 0x36, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4c, 0x4f, 0x43, - 0x5f, 0x52, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x49, 0x44, - 0x10, 0x0a, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x49, - 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x44, - 0x52, 0x10, 0x0b, 0x2a, 0x80, 0x02, 0x0a, 0x10, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x53, - 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, - 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, - 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x53, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x80, 0x80, 0x02, 0x12, - 0x31, 0x0a, 0x2b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, - 0x49, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x80, - 0x80, 0x01, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, - 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x56, 0x45, 0x52, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x80, 0x40, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x53, - 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, - 0x49, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x80, 0x20, 0x12, 0x26, - 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x5f, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x80, 0x10, 0x2a, 0x9b, 0x01, 0x0a, 0x15, 0x53, 0x4c, 0x53, 0x72, 0x76, - 0x36, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x42, 0x53, 0x49, 0x44, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x42, 0x53, 0x49, 0x44, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, - 0x80, 0x80, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x42, - 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, - 0x10, 0x80, 0x80, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, - 0x42, 0x53, 0x49, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, - 0x43, 0x10, 0x80, 0x40, 0x2a, 0x64, 0x0a, 0x0d, 0x53, 0x4c, 0x53, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x10, 0x01, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x4c, - 0x41, 0x4e, 0x45, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x10, 0x02, 0x2a, 0xac, 0x01, 0x0a, 0x14, 0x53, - 0x4c, 0x53, 0x72, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x50, - 0x52, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x4c, - 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, - 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, - 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, - 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, - 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x53, 0x52, 0x5f, 0x53, - 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, - 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 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, -} +const file_sl_sr_common_proto_rawDesc = "" + + "\n" + + "\x12sl_sr_common.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"'\n" + + "\x0fSLSrPolicyFlags\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\"T\n" + + "\bSLSrBsid\x12\x1c\n" + + "\bMplsBsid\x18\x01 \x01(\rH\x00R\bMplsBsid\x12\x1c\n" + + "\bSrv6Bsid\x18\x02 \x01(\fH\x00R\bSrv6BsidB\f\n" + + "\n" + + "BindingSid\" \n" + + "\n" + + "SLSrCpName\x12\x12\n" + + "\x04Name\x18\x01 \x01(\tR\x04Name\"\xc4\x02\n" + + "\x0fSLSrSegmentDesc\x12\x1c\n" + + "\tAlgorithm\x18\x01 \x01(\rR\tAlgorithm\x12&\n" + + "\rIpv4LocalAddr\x18\x02 \x01(\fH\x00R\rIpv4LocalAddr\x12&\n" + + "\rIpv6LocalAddr\x18\x03 \x01(\fH\x00R\rIpv6LocalAddr\x12(\n" + + "\x0eIpv4RemoteAddr\x18\x04 \x01(\fH\x01R\x0eIpv4RemoteAddr\x12(\n" + + "\x0eIpv6RemoteAddr\x18\x05 \x01(\fH\x01R\x0eIpv6RemoteAddr\x12(\n" + + "\x0fLocalNodeIntfId\x18\x06 \x01(\rR\x0fLocalNodeIntfId\x12*\n" + + "\x10RemoteNodeIntfId\x18\a \x01(\rR\x10RemoteNodeIntfIdB\v\n" + + "\tLocalNodeB\f\n" + + "\n" + + "RemoteNode\"\xed\x02\n" + + "\vSLSrSegment\x122\n" + + "\x04Type\x18\x01 \x01(\x0e2\x1e.service_layer.SLSrSegmentTypeR\x04Type\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\rR\x05Flags\x12\x1e\n" + + "\tMplsLabel\x18\x03 \x01(\rH\x00R\tMplsLabel\x12\x1a\n" + + "\aSrv6Sid\x18\x04 \x01(\fH\x00R\aSrv6Sid\x12@\n" + + "\vSegmentDesc\x18\x05 \x01(\v2\x1e.service_layer.SLSrSegmentDescR\vSegmentDesc\x12Q\n" + + "\x10EndPointBehavior\x18\x06 \x01(\v2%.service_layer.SLSrv6EndPointBehaviorR\x10EndPointBehavior\x12<\n" + + "\tSidStruct\x18\a \x01(\v2\x1e.service_layer.SLSrv6SidStructR\tSidStructB\x05\n" + + "\x03Sid\"\xf3\x01\n" + + "\x10SLSrv6BindingSid\x12\x14\n" + + "\x05Flags\x18\x01 \x01(\rR\x05Flags\x12\x12\n" + + "\x04Bsid\x18\x02 \x01(\fR\x04Bsid\x12$\n" + + "\rSpecifiedBsid\x18\x03 \x01(\fR\rSpecifiedBsid\x12Q\n" + + "\x10EndPointBehavior\x18\x04 \x01(\v2%.service_layer.SLSrv6EndPointBehaviorR\x10EndPointBehavior\x12<\n" + + "\tSidStruct\x18\x05 \x01(\v2\x1e.service_layer.SLSrv6SidStructR\tSidStruct\"x\n" + + "\x16SLSrv6EndPointBehavior\x12*\n" + + "\x10EndPointBehavior\x18\x01 \x01(\rR\x10EndPointBehavior\x12\x14\n" + + "\x05Flags\x18\x02 \x01(\rR\x05Flags\x12\x1c\n" + + "\tAlgorithm\x18\x03 \x01(\rR\tAlgorithm\"\x9d\x01\n" + + "\x0fSLSrv6SidStruct\x12(\n" + + "\x0fLocatorBlockLen\x18\x01 \x01(\rR\x0fLocatorBlockLen\x12&\n" + + "\x0eLocatorNodeLen\x18\x02 \x01(\rR\x0eLocatorNodeLen\x12 \n" + + "\vFunctionLen\x18\x03 \x01(\rR\vFunctionLen\x12\x16\n" + + "\x06ArgLen\x18\x04 \x01(\rR\x06ArgLen\"\x93\x01\n" + + "\rSLSrPolicyKey\x124\n" + + "\aheadend\x18\x01 \x01(\v2\x1a.service_layer.SLIpAddressR\aheadend\x12\x14\n" + + "\x05color\x18\x02 \x01(\rR\x05color\x126\n" + + "\bendpoint\x18\x03 \x01(\v2\x1a.service_layer.SLIpAddressR\bendpoint\"\x89\x02\n" + + "\x14SLSrCandidatePathKey\x12N\n" + + "\n" + + "originator\x18\x01 \x01(\v2..service_layer.SLSrCandidatePathKey.OriginatorR\n" + + "originator\x12$\n" + + "\rdiscriminator\x18\x03 \x01(\rR\rdiscriminator\x1a{\n" + + "\n" + + "Originator\x129\n" + + "\x03asn\x18\x01 \x01(\v2'.service_layer.SLAutonomousSystemNumberR\x03asn\x122\n" + + "\x06nodeID\x18\x02 \x01(\v2\x1a.service_layer.SLIpAddressR\x06nodeID\"p\n" + + "\x0eSLSrAffinities\x12\x1e\n" + + "\n" + + "includeAny\x18\x01 \x03(\rR\n" + + "includeAny\x12\x1e\n" + + "\n" + + "includeAll\x18\x02 \x03(\rR\n" + + "includeAll\x12\x1e\n" + + "\n" + + "excludeAny\x18\x03 \x03(\rR\n" + + "excludeAny\"\x84\x01\n" + + "\x10SLSrSegmentRules\x12\x1e\n" + + "\bsid_algo\x18\x01 \x01(\rH\x00R\asidAlgo\x88\x01\x01\x12C\n" + + "\n" + + "protection\x18\x02 \x01(\x0e2#.service_layer.SLSrteProtectionTypeR\n" + + "protectionB\v\n" + + "\t_sid_algo\"G\n" + + "\x19SLSrUpperBoundConstraints\x12*\n" + + "\x11maximum_sid_depth\x18\x01 \x01(\rR\x0fmaximumSidDepth\"\xa8\x01\n" + + "\rSLSRv6SIDInfo\x12=\n" + + "\vsid_address\x18\x01 \x01(\v2\x1c.service_layer.SLIpv6AddressR\n" + + "sidAddress\x12\x1a\n" + + "\bbehavior\x18\x02 \x01(\rR\bbehavior\x12<\n" + + "\tstructure\x18\x03 \x01(\v2\x1e.service_layer.SLSrv6SidStructR\tstructure\"\xf5\x01\n" + + "\rSLSrteSegment\x12;\n" + + "\x06type_a\x18\x01 \x01(\v2\".service_layer.SLSrteSegment.TypeAH\x00R\x05typeA\x12;\n" + + "\x06type_b\x18\x02 \x01(\v2\".service_layer.SLSrteSegment.TypeBH\x00R\x05typeB\x1a\x1d\n" + + "\x05TypeA\x12\x14\n" + + "\x05label\x18\x01 \x01(\rR\x05label\x1a@\n" + + "\x05TypeB\x127\n" + + "\bsrv6_sid\x18\x01 \x01(\v2\x1c.service_layer.SLSRv6SIDInfoR\asrv6SidB\t\n" + + "\asegment\"\x90\x01\n" + + "\x0fSLSrSegmentList\x128\n" + + "\bsegments\x18\x01 \x03(\v2\x1c.service_layer.SLSrteSegmentR\bsegments\x12\x1b\n" + + "\x06weight\x18\x02 \x01(\rH\x00R\x06weight\x88\x01\x01\x12\x1b\n" + + "\tpath_cost\x18\x03 \x01(\rR\bpathCostB\t\n" + + "\a_weight\"u\n" + + "\n" + + "SLSrStatus\x120\n" + + "\x04type\x18\x01 \x01(\v2\x1c.service_layer.SLErrorStatusR\x04type\x12%\n" + + "\vdescription\x18\x02 \x01(\tH\x00R\vdescription\x88\x01\x01B\x0e\n" + + "\f_description*\x90\x03\n" + + "\x18SLSrPolicyProtocolOrigin\x12)\n" + + "%SL_SR_POLICY_PROTOCOL_ORIGIN_RESERVED\x10\x00\x12%\n" + + "!SL_SR_POLICY_PROTOCOL_ORIGIN_PCEP\x10\x01\x12.\n" + + "*SL_SR_POLICY_PROTOCOL_ORIGIN_BGP_SR_POLICY\x10\x02\x12'\n" + + "#SL_SR_POLICY_PROTOCOL_ORIGIN_CONFIG\x10\x03\x12-\n" + + ")SL_SR_POLICY_PROTOCOL_ORIGIN_PCEP_VIA_PCE\x10\n" + + "\x126\n" + + "2SL_SR_POLICY_PROTOCOL_ORIGIN_BGP_SR_POLICY_VIA_PCE\x10\x14\x12/\n" + + "+SL_SR_POLICY_PROTOCOL_ORIGIN_CONFIG_VIA_PCE\x10\x1e\x121\n" + + ",SL_SR_POLICY_PROTOCOL_ORIGIN_CONFIG_VIA_GRPC\x10\xfb\x01*}\n" + + "\x12SLSrPolicyFlagsDef\x12\x1e\n" + + "\x1aSL_SR_POLICY_FLAG_RESERVED\x10\x00\x12\"\n" + + "\x1dSL_SR_POLICY_FLAG_ENDPOINT_V6\x10\x80\x01\x12#\n" + + "\x1fSL_SR_POLICY_FLAG_ORIGINATOR_V6\x10@*\x9b\x04\n" + + "\x0fSLSrSegmentType\x12\x1b\n" + + "\x17SL_SR_SEG_TYPE_RESERVED\x10\x00\x12\x1d\n" + + "\x19SL_SR_SEG_TYPE_MPLS_LABEL\x10\x01\x12\x1e\n" + + "\x1aSL_SR_SEG_TYPE_SRV6_SID_V6\x10\x02\x12\"\n" + + "\x1eSL_SR_SEG_TYPE_MPLS_PFX_SID_V4\x10\x03\x12\"\n" + + "\x1eSL_SR_SEG_TYPE_MPLS_PFX_SID_V6\x10\x04\x123\n" + + "/SL_SR_SEG_TYPE_MPLS_ADJ_SID_V4_NODE_ADDR_LOC_ID\x10\x05\x12/\n" + + "+SL_SR_SEG_TYPE_MPLS_ADJ_SID_V4_LOC_REM_ADDR\x10\x06\x126\n" + + "2SL_SR_SEG_TYPE_MPLS_ADJ_SID_V6_LOC_REM_ADDR_AND_ID\x10\a\x12/\n" + + "+SL_SR_SEG_TYPE_MPLS_ADJ_SID_V6_LOC_REM_ADDR\x10\b\x12,\n" + + "(SL_SR_SEG_TYPE_SRV6_END_SID_V6_NODE_ADDR\x10\t\x126\n" + + "2SL_SR_SEG_TYPE_SRV6_END_SID_V6_LOC_REM_ADDR_AND_ID\x10\n" + + "\x12/\n" + + "+SL_SR_SEG_TYPE_SRV6_END_SID_V6_LOC_REM_ADDR\x10\v*\x80\x02\n" + + "\x10SLSrSegmentFlags\x12\x1f\n" + + "\x1bSL_SR_SEGMENT_FLAG_RESERVED\x10\x00\x12$\n" + + "\x1eSL_SR_SEGMENT_FLAG_SID_PRESENT\x10\x80\x80\x02\x121\n" + + "+SL_SR_SEGMENT_FLAG_SID_EXPLICIT_PROVISIONED\x10\x80\x80\x01\x12$\n" + + "\x1fSL_SR_SEGMENT_FLAG_SID_VERIFIED\x10\x80@\x12$\n" + + "\x1fSL_SR_SEGMENT_FLAG_SID_RESOLVED\x10\x80 \x12&\n" + + "!SL_SR_SEGMENT_FLAG_SID_ALGO_VALID\x10\x80\x10*\x9b\x01\n" + + "\x15SLSrv6BindingSidFlags\x12\x1e\n" + + "\x1aSL_SRV6_BSID_FLAG_RESERVED\x10\x00\x12!\n" + + "\x1bSL_SRV6_BSID_FLAG_ALLOCATED\x10\x80\x80\x02\x12\x1f\n" + + "\x19SL_SRV6_BSID_FLAG_UNAVAIL\x10\x80\x80\x01\x12\x1e\n" + + "\x19SL_SRV6_BSID_FLAG_DYNAMIC\x10\x80@*d\n" + + "\rSLSrDataplane\x12\x1f\n" + + "\x1bSL_SR_DATAPLANE_UNSPECIFIED\x10\x00\x12\x18\n" + + "\x14SL_SR_DATAPLANE_MPLS\x10\x01\x12\x18\n" + + "\x14SL_SR_DATAPLANE_SRV6\x10\x02*\xac\x01\n" + + "\x14SLSrteProtectionType\x12%\n" + + "!SL_SR_SEGMENT_PROTECTED_PREFERRED\x10\x00\x12 \n" + + "\x1cSL_SR_SEGMENT_PROTECTED_ONLY\x10\x01\x12'\n" + + "#SL_SR_SEGMENT_UNPROTECTED_PREFERRED\x10\x02\x12\"\n" + + "\x1eSL_SR_SEGMENT_UNPROTECTED_ONLY\x10\x03BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_sr_common_proto_rawDescOnce sync.Once - file_sl_sr_common_proto_rawDescData = file_sl_sr_common_proto_rawDesc + file_sl_sr_common_proto_rawDescData []byte ) func file_sl_sr_common_proto_rawDescGZIP() []byte { file_sl_sr_common_proto_rawDescOnce.Do(func() { - file_sl_sr_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_sr_common_proto_rawDescData) + file_sl_sr_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_sr_common_proto_rawDesc), len(file_sl_sr_common_proto_rawDesc))) }) return file_sl_sr_common_proto_rawDescData } var file_sl_sr_common_proto_enumTypes = make([]protoimpl.EnumInfo, 7) var file_sl_sr_common_proto_msgTypes = make([]protoimpl.MessageInfo, 20) -var file_sl_sr_common_proto_goTypes = []interface{}{ +var file_sl_sr_common_proto_goTypes = []any{ (SLSrPolicyProtocolOrigin)(0), // 0: service_layer.SLSrPolicyProtocolOrigin (SLSrPolicyFlagsDef)(0), // 1: service_layer.SLSrPolicyFlagsDef (SLSrSegmentType)(0), // 2: service_layer.SLSrSegmentType @@ -2434,274 +2248,32 @@ func file_sl_sr_common_proto_init() { return } file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_sr_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyFlags); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrBsid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrCpName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrSegmentDesc); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrSegment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrv6BindingSid); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrv6EndPointBehavior); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrv6SidStruct); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrCandidatePathKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrAffinities); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrSegmentRules); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrUpperBoundConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSRv6SIDInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrteSegment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrSegmentList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrCandidatePathKey_Originator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrteSegment_TypeA); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_sr_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrteSegment_TypeB); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_sr_common_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_sl_sr_common_proto_msgTypes[1].OneofWrappers = []any{ (*SLSrBsid_MplsBsid)(nil), (*SLSrBsid_Srv6Bsid)(nil), } - file_sl_sr_common_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_sl_sr_common_proto_msgTypes[3].OneofWrappers = []any{ (*SLSrSegmentDesc_Ipv4LocalAddr)(nil), (*SLSrSegmentDesc_Ipv6LocalAddr)(nil), (*SLSrSegmentDesc_Ipv4RemoteAddr)(nil), (*SLSrSegmentDesc_Ipv6RemoteAddr)(nil), } - file_sl_sr_common_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_sl_sr_common_proto_msgTypes[4].OneofWrappers = []any{ (*SLSrSegment_MplsLabel)(nil), (*SLSrSegment_Srv6Sid)(nil), } - file_sl_sr_common_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_sl_sr_common_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_sl_sr_common_proto_msgTypes[11].OneofWrappers = []any{} + file_sl_sr_common_proto_msgTypes[14].OneofWrappers = []any{ (*SLSrteSegment_TypeA_)(nil), (*SLSrteSegment_TypeB_)(nil), } - file_sl_sr_common_proto_msgTypes[15].OneofWrappers = []interface{}{} - file_sl_sr_common_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_sl_sr_common_proto_msgTypes[15].OneofWrappers = []any{} + file_sl_sr_common_proto_msgTypes[16].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_sr_common_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_sr_common_proto_rawDesc), len(file_sl_sr_common_proto_rawDesc)), NumEnums: 7, NumMessages: 20, NumExtensions: 0, @@ -2713,7 +2285,6 @@ func file_sl_sr_common_proto_init() { MessageInfos: file_sl_sr_common_proto_msgTypes, }.Build() File_sl_sr_common_proto = out.File - file_sl_sr_common_proto_rawDesc = nil file_sl_sr_common_proto_goTypes = nil file_sl_sr_common_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_srte_policy.pb.go b/grpc/go/src/gengo/sl_srte_policy.pb.go index 8dd6f374..a3f2f0b2 100644 --- a/grpc/go/src/gengo/sl_srte_policy.pb.go +++ b/grpc/go/src/gengo/sl_srte_policy.pb.go @@ -16,8 +16,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_srte_policy.proto package service_layer @@ -27,6 +27,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -147,24 +148,21 @@ func (SLSrPolicyReq_SLSrOp) EnumDescriptor() ([]byte, []int) { // SLSrPolicyMsg is message used by client to manage policies on target device type SLSrPolicyMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to MsgType: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to MsgType: // // *SLSrPolicyMsg_Open // *SLSrPolicyMsg_Requests - MsgType isSLSrPolicyMsg_MsgType `protobuf_oneof:"msg_type"` + MsgType isSLSrPolicyMsg_MsgType `protobuf_oneof:"msg_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyMsg) Reset() { *x = SLSrPolicyMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyMsg) String() string { @@ -175,7 +173,7 @@ func (*SLSrPolicyMsg) ProtoMessage() {} func (x *SLSrPolicyMsg) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -190,23 +188,27 @@ func (*SLSrPolicyMsg) Descriptor() ([]byte, []int) { return file_sl_srte_policy_proto_rawDescGZIP(), []int{0} } -func (m *SLSrPolicyMsg) GetMsgType() isSLSrPolicyMsg_MsgType { - if m != nil { - return m.MsgType +func (x *SLSrPolicyMsg) GetMsgType() isSLSrPolicyMsg_MsgType { + if x != nil { + return x.MsgType } return nil } func (x *SLSrPolicyMsg) GetOpen() *SLSrPolicyOpen { - if x, ok := x.GetMsgType().(*SLSrPolicyMsg_Open); ok { - return x.Open + if x != nil { + if x, ok := x.MsgType.(*SLSrPolicyMsg_Open); ok { + return x.Open + } } return nil } func (x *SLSrPolicyMsg) GetRequests() *SLSrPolicyRequests { - if x, ok := x.GetMsgType().(*SLSrPolicyMsg_Requests); ok { - return x.Requests + if x != nil { + if x, ok := x.MsgType.(*SLSrPolicyMsg_Requests); ok { + return x.Requests + } } return nil } @@ -235,24 +237,21 @@ func (*SLSrPolicyMsg_Requests) isSLSrPolicyMsg_MsgType() {} // given policy, identified by the specific SLSrPolicyKey, there would be at least // one response based on the last message request. type SLSrPolicyRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Set of responses corresponding to the policies in the request. Responses []*SLSrPolicyRsp_PolicyRsp `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` // Status of the entire request. Used for errors that are not specific to // individual policies. - Status *SLSrStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Status *SLSrStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyRsp) Reset() { *x = SLSrPolicyRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyRsp) String() string { @@ -263,7 +262,7 @@ func (*SLSrPolicyRsp) ProtoMessage() {} func (x *SLSrPolicyRsp) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -303,10 +302,7 @@ func (x *SLSrPolicyRsp) GetStatus() *SLSrStatus { // The server is not required to send an explicit response message to indicate the // receipt of the Open Message. Server may respond in case of any errors. type SLSrPolicyOpen struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Used to set ownership of any policies instantiated during this session. // This is expected to be a unique value, which means multiple clients with // same client_id are not allowed to connect to the same server. Connection @@ -325,16 +321,16 @@ type SLSrPolicyOpen struct { // the mode specified in the most recent Open Message will be applied to all // policies created with the same Client-ID, including those provisioned in // previous gRPC sessions. - Mode SLSrPolicyOpen_SLSrPersistenceMode `protobuf:"varint,3,opt,name=mode,proto3,enum=service_layer.SLSrPolicyOpen_SLSrPersistenceMode" json:"mode,omitempty"` + Mode SLSrPolicyOpen_SLSrPersistenceMode `protobuf:"varint,3,opt,name=mode,proto3,enum=service_layer.SLSrPolicyOpen_SLSrPersistenceMode" json:"mode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyOpen) Reset() { *x = SLSrPolicyOpen{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyOpen) String() string { @@ -345,7 +341,7 @@ func (*SLSrPolicyOpen) ProtoMessage() {} func (x *SLSrPolicyOpen) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -376,21 +372,18 @@ func (x *SLSrPolicyOpen) GetMode() SLSrPolicyOpen_SLSrPersistenceMode { // Set of policies to be acted on type SLSrPolicyRequests struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of policy operations - Request []*SLSrPolicyReq `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"` + Request []*SLSrPolicyReq `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyRequests) Reset() { *x = SLSrPolicyRequests{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyRequests) String() string { @@ -401,7 +394,7 @@ func (*SLSrPolicyRequests) ProtoMessage() {} func (x *SLSrPolicyRequests) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -425,11 +418,8 @@ func (x *SLSrPolicyRequests) GetRequest() []*SLSrPolicyReq { // Policy operation type SLSrPolicyReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Operation SLSrPolicyReq_SLSrOp `protobuf:"varint,1,opt,name=operation,proto3,enum=service_layer.SLSrPolicyReq_SLSrOp" json:"operation,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Operation SLSrPolicyReq_SLSrOp `protobuf:"varint,1,opt,name=operation,proto3,enum=service_layer.SLSrPolicyReq_SLSrOp" json:"operation,omitempty"` // Each policy request is uniquely identified by a operation ID and a policy key, // both of which are reflected by the router in the response. // Each policy request encompasses all candidate-paths and policy attributes. @@ -443,16 +433,16 @@ type SLSrPolicyReq struct { // PCEP, etc.), then policy will be down. The only exception is the Binding SID // attribute set for a specific candidate-path, which will take precedence over // the Binding SID specified for the entire policy. - Policy *SLSrPolicy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"` + Policy *SLSrPolicy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyReq) Reset() { *x = SLSrPolicyReq{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyReq) String() string { @@ -463,7 +453,7 @@ func (*SLSrPolicyReq) ProtoMessage() {} func (x *SLSrPolicyReq) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -504,18 +494,16 @@ func (x *SLSrPolicyReq) GetPolicy() *SLSrPolicy { // replayed policies will be deleted. // The server will not send any responses to this message unless there is an error. type SLSrEndOfReplay struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrEndOfReplay) Reset() { *x = SLSrEndOfReplay{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrEndOfReplay) String() string { @@ -526,7 +514,7 @@ func (*SLSrEndOfReplay) ProtoMessage() {} func (x *SLSrEndOfReplay) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -555,18 +543,16 @@ func (*SLSrEndOfReplay) Descriptor() ([]byte, []int) { // an error. // The server will not send any responses to this message unless there is an error. type SLSrStartOfReplay struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrStartOfReplay) Reset() { *x = SLSrStartOfReplay{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrStartOfReplay) String() string { @@ -577,7 +563,7 @@ func (*SLSrStartOfReplay) ProtoMessage() {} func (x *SLSrStartOfReplay) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -594,10 +580,7 @@ func (*SLSrStartOfReplay) Descriptor() ([]byte, []int) { // (https://www.rfc-editor.org/rfc/rfc9256.html#section-2). type SLSrPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The operation ID serves the purpose of allowing the controller to identify // which request the headend is responding to when multiple requests for the same // policy are sent. @@ -608,16 +591,16 @@ type SLSrPolicy struct { // Policy attributes Attrs *SLSrPolicyAttributes `protobuf:"bytes,3,opt,name=attrs,proto3" json:"attrs,omitempty"` // List of Candidate Paths for the policy - CPs []*SLSrCandidatePath `protobuf:"bytes,4,rep,name=CPs,proto3" json:"CPs,omitempty"` + CPs []*SLSrCandidatePath `protobuf:"bytes,4,rep,name=CPs,proto3" json:"CPs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicy) Reset() { *x = SLSrPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicy) String() string { @@ -628,7 +611,7 @@ func (*SLSrPolicy) ProtoMessage() {} func (x *SLSrPolicy) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -673,10 +656,7 @@ func (x *SLSrPolicy) GetCPs() []*SLSrCandidatePath { // Policy attributes type SLSrPolicyAttributes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // When set, policy is eligible for use as a transit policy on the headend TransitEligible bool `protobuf:"varint,2,opt,name=transit_eligible,json=transitEligible,proto3" json:"transit_eligible,omitempty"` // The segment routing dataplane. @@ -704,15 +684,18 @@ type SLSrPolicyAttributes struct { // vendor/implementation specific functionality per policy without requiring // explicit support by controller. ProfileId uint32 `protobuf:"varint,6,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"` + // Attributes specific to SRv6 policies. + // Request will be rejected if srv6_attrs is set for non-SRv6 dataplane. + Srv6Attrs *SLSrSrv6PolicyAttributes `protobuf:"bytes,7,opt,name=srv6_attrs,json=srv6Attrs,proto3" json:"srv6_attrs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyAttributes) Reset() { *x = SLSrPolicyAttributes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyAttributes) String() string { @@ -723,7 +706,7 @@ func (*SLSrPolicyAttributes) ProtoMessage() {} func (x *SLSrPolicyAttributes) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -773,14 +756,18 @@ func (x *SLSrPolicyAttributes) GetProfileId() uint32 { return 0 } +func (x *SLSrPolicyAttributes) GetSrv6Attrs() *SLSrSrv6PolicyAttributes { + if x != nil { + return x.Srv6Attrs + } + return nil +} + // SR Candidate Path in the context of an SR Policy, as defined in // [section 2.2 of RFC 9256] // (https://www.rfc-editor.org/rfc/rfc9256.html#section-2.2). type SLSrCandidatePath struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Unique candidate path identifier in the context of an SR policy. // The tuple (policy_key, candidate_path_key) is a globally unique // identifier of the candidate path. Protocol origin field will be set to @@ -796,20 +783,20 @@ type SLSrCandidatePath struct { // If not specified, 100 is used as a default. // https://www.rfc-editor.org/rfc/rfc9256.html#name-preference-of-a-candidate-p Preference *uint32 `protobuf:"varint,4,opt,name=preference,proto3,oneof" json:"preference,omitempty"` - // Types that are assignable to CP: + // Types that are valid to be assigned to CP: // // *SLSrCandidatePath_Dynamic // *SLSrCandidatePath_Explicit - CP isSLSrCandidatePath_CP `protobuf_oneof:"CP"` + CP isSLSrCandidatePath_CP `protobuf_oneof:"CP"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrCandidatePath) Reset() { *x = SLSrCandidatePath{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrCandidatePath) String() string { @@ -820,7 +807,7 @@ func (*SLSrCandidatePath) ProtoMessage() {} func (x *SLSrCandidatePath) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -856,23 +843,27 @@ func (x *SLSrCandidatePath) GetPreference() uint32 { return 0 } -func (m *SLSrCandidatePath) GetCP() isSLSrCandidatePath_CP { - if m != nil { - return m.CP +func (x *SLSrCandidatePath) GetCP() isSLSrCandidatePath_CP { + if x != nil { + return x.CP } return nil } func (x *SLSrCandidatePath) GetDynamic() *SLSrDynamicCP { - if x, ok := x.GetCP().(*SLSrCandidatePath_Dynamic); ok { - return x.Dynamic + if x != nil { + if x, ok := x.CP.(*SLSrCandidatePath_Dynamic); ok { + return x.Dynamic + } } return nil } func (x *SLSrCandidatePath) GetExplicit() *SLSrExplicitCP { - if x, ok := x.GetCP().(*SLSrCandidatePath_Explicit); ok { - return x.Explicit + if x != nil { + if x, ok := x.CP.(*SLSrCandidatePath_Explicit); ok { + return x.Explicit + } } return nil } @@ -897,10 +888,7 @@ func (*SLSrCandidatePath_Explicit) isSLSrCandidatePath_CP() {} // Candidate path with explicitly defined set of segment-lists type SLSrExplicitCP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The set of weighted segment lists in the explicit candidate path. // Future revisions of this proto can add segment list by reference. SegmentList []*SLSrSegmentList `protobuf:"bytes,1,rep,name=segment_list,json=segmentList,proto3" json:"segment_list,omitempty"` @@ -911,16 +899,16 @@ type SLSrExplicitCP struct { // Metric Type can be one of well-defined metric type (Eg: TE, Latency, BW etc.) // or a user-defined/generic type[128-255] that is mainly for Flex-Algo. // To accomodate both types, a num (uint) is used instead of a well-defined enum. - MetricType uint32 `protobuf:"varint,3,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` + MetricType uint32 `protobuf:"varint,3,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrExplicitCP) Reset() { *x = SLSrExplicitCP{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrExplicitCP) String() string { @@ -931,7 +919,7 @@ func (*SLSrExplicitCP) ProtoMessage() {} func (x *SLSrExplicitCP) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -962,10 +950,7 @@ func (x *SLSrExplicitCP) GetMetricType() uint32 { // The specific attributes for instantiating a dynamic path request. type SLSrDynamicCP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The optimization metric of the dynamic candidate path. // // The objective function of the optimization problem is to minimize the @@ -979,16 +964,16 @@ type SLSrDynamicCP struct { // not considered. MetricType uint32 `protobuf:"varint,1,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` // The set of constraints that the candidate path must satisfy. - Constraints *SLSrConstraints `protobuf:"bytes,2,opt,name=constraints,proto3" json:"constraints,omitempty"` + Constraints *SLSrConstraints `protobuf:"bytes,2,opt,name=constraints,proto3" json:"constraints,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrDynamicCP) Reset() { *x = SLSrDynamicCP{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrDynamicCP) String() string { @@ -999,7 +984,7 @@ func (*SLSrDynamicCP) ProtoMessage() {} func (x *SLSrDynamicCP) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1032,25 +1017,22 @@ func (x *SLSrDynamicCP) GetConstraints() *SLSrConstraints { // Other contraints not included here like SRLG, Bandwidth, Metric(Margin, Bounds), // Disjoint Group etc., can be added in future revisions. type SLSrConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // SR Affinity constraints Affinities *SLSrAffinities `protobuf:"bytes,1,opt,name=affinities,proto3" json:"affinities,omitempty"` // Constraints on the segments to be used in the path SegmentRules *SLSrSegmentRules `protobuf:"bytes,2,opt,name=segment_rules,json=segmentRules,proto3" json:"segment_rules,omitempty"` // Upper-bound constraints on the computed dynamic path - UpperBound *SLSrUpperBoundConstraints `protobuf:"bytes,3,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` + UpperBound *SLSrUpperBoundConstraints `protobuf:"bytes,3,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrConstraints) Reset() { *x = SLSrConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrConstraints) String() string { @@ -1061,7 +1043,7 @@ func (*SLSrConstraints) ProtoMessage() {} func (x *SLSrConstraints) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1099,23 +1081,21 @@ func (x *SLSrConstraints) GetUpperBound() *SLSrUpperBoundConstraints { // SRv6 Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2). type SLSrSrv6BindingSID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Type: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: // + // *SLSrSrv6BindingSID_Explicit // *SLSrSrv6BindingSID_Dynamic - Type isSLSrSrv6BindingSID_Type `protobuf_oneof:"type"` + Type isSLSrSrv6BindingSID_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrSrv6BindingSID) Reset() { *x = SLSrSrv6BindingSID{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrSrv6BindingSID) String() string { @@ -1126,7 +1106,7 @@ func (*SLSrSrv6BindingSID) ProtoMessage() {} func (x *SLSrSrv6BindingSID) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1141,16 +1121,27 @@ func (*SLSrSrv6BindingSID) Descriptor() ([]byte, []int) { return file_sl_srte_policy_proto_rawDescGZIP(), []int{13} } -func (m *SLSrSrv6BindingSID) GetType() isSLSrSrv6BindingSID_Type { - if m != nil { - return m.Type +func (x *SLSrSrv6BindingSID) GetType() isSLSrSrv6BindingSID_Type { + if x != nil { + return x.Type + } + return nil +} + +func (x *SLSrSrv6BindingSID) GetExplicit() *SLSRv6SIDInfo { + if x != nil { + if x, ok := x.Type.(*SLSrSrv6BindingSID_Explicit); ok { + return x.Explicit + } } return nil } func (x *SLSrSrv6BindingSID) GetDynamic() *SLSrSrv6DynamicBindingSID { - if x, ok := x.GetType().(*SLSrSrv6BindingSID_Dynamic); ok { - return x.Dynamic + if x != nil { + if x, ok := x.Type.(*SLSrSrv6BindingSID_Dynamic); ok { + return x.Dynamic + } } return nil } @@ -1159,31 +1150,34 @@ type isSLSrSrv6BindingSID_Type interface { isSLSrSrv6BindingSID_Type() } +type SLSrSrv6BindingSID_Explicit struct { + // SRv6 explicit Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2.3) + Explicit *SLSRv6SIDInfo `protobuf:"bytes,1,opt,name=explicit,proto3,oneof"` +} + type SLSrSrv6BindingSID_Dynamic struct { - // Will be enabled in future - // SLSRv6SIDInfo explicit = 1; + // SRv6 dynamic Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2.1) Dynamic *SLSrSrv6DynamicBindingSID `protobuf:"bytes,2,opt,name=dynamic,proto3,oneof"` } +func (*SLSrSrv6BindingSID_Explicit) isSLSrSrv6BindingSID_Type() {} + func (*SLSrSrv6BindingSID_Dynamic) isSLSrSrv6BindingSID_Type() {} // SR-MPLS Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.1). type SLSrMPLSBindingSID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // If not set, dynamic MPLS BSID will be allocated - MplsBsid *uint32 `protobuf:"varint,1,opt,name=mpls_bsid,json=mplsBsid,proto3,oneof" json:"mpls_bsid,omitempty"` + MplsBsid *uint32 `protobuf:"varint,1,opt,name=mpls_bsid,json=mplsBsid,proto3,oneof" json:"mpls_bsid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrMPLSBindingSID) Reset() { *x = SLSrMPLSBindingSID{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrMPLSBindingSID) String() string { @@ -1194,7 +1188,7 @@ func (*SLSrMPLSBindingSID) ProtoMessage() {} func (x *SLSrMPLSBindingSID) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1219,21 +1213,18 @@ func (x *SLSrMPLSBindingSID) GetMplsBsid() uint32 { // SRv6 Dynamic Binding SID attributes // (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2). type SLSrSrv6DynamicBindingSID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // If not set, server will use default platform behavior Srv6EndpointBehavior uint32 `protobuf:"varint,1,opt,name=srv6_endpoint_behavior,json=srv6EndpointBehavior,proto3" json:"srv6_endpoint_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrSrv6DynamicBindingSID) Reset() { *x = SLSrSrv6DynamicBindingSID{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrSrv6DynamicBindingSID) String() string { @@ -1244,7 +1235,7 @@ func (*SLSrSrv6DynamicBindingSID) ProtoMessage() {} func (x *SLSrSrv6DynamicBindingSID) ProtoReflect() protoreflect.Message { mi := &file_sl_srte_policy_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1266,27 +1257,72 @@ func (x *SLSrSrv6DynamicBindingSID) GetSrv6EndpointBehavior() uint32 { return 0 } -type SLSrPolicyRsp_PolicyRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// SRv6 policy attributes +type SLSrSrv6PolicyAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // When the final segment in a segment list is a node SID, it is suppressed + // by default unless this behavior is changed using global configuration. + // Set this to true to force installation of the final node SID. + InstallFinalNodeSid bool `protobuf:"varint,1,opt,name=install_final_node_sid,json=installFinalNodeSid,proto3" json:"install_final_node_sid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SLSrSrv6PolicyAttributes) Reset() { + *x = SLSrSrv6PolicyAttributes{} + mi := &file_sl_srte_policy_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SLSrSrv6PolicyAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLSrSrv6PolicyAttributes) ProtoMessage() {} + +func (x *SLSrSrv6PolicyAttributes) ProtoReflect() protoreflect.Message { + mi := &file_sl_srte_policy_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLSrSrv6PolicyAttributes.ProtoReflect.Descriptor instead. +func (*SLSrSrv6PolicyAttributes) Descriptor() ([]byte, []int) { + return file_sl_srte_policy_proto_rawDescGZIP(), []int{16} +} + +func (x *SLSrSrv6PolicyAttributes) GetInstallFinalNodeSid() bool { + if x != nil { + return x.InstallFinalNodeSid + } + return false +} +type SLSrPolicyRsp_PolicyRsp struct { + state protoimpl.MessageState `protogen:"open.v1"` // Operation ID of the request for which response is being sent by the server. // Enables the client to match responses to their corresponding requests. OperationId uint64 `protobuf:"varint,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // SR policy identifier from the request. Key *SLSrPolicyKey `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // Status indicating the success or failure of the specific policy operation. - Status *SLSrStatus `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Status *SLSrStatus `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SLSrPolicyRsp_PolicyRsp) Reset() { *x = SLSrPolicyRsp_PolicyRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_srte_policy_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_sl_srte_policy_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SLSrPolicyRsp_PolicyRsp) String() string { @@ -1296,8 +1332,8 @@ func (x *SLSrPolicyRsp_PolicyRsp) String() string { func (*SLSrPolicyRsp_PolicyRsp) ProtoMessage() {} func (x *SLSrPolicyRsp_PolicyRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_srte_policy_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_sl_srte_policy_proto_msgTypes[17] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1335,189 +1371,112 @@ func (x *SLSrPolicyRsp_PolicyRsp) GetStatus() *SLSrStatus { var File_sl_srte_policy_proto protoreflect.FileDescriptor -var file_sl_srte_policy_proto_rawDesc = []byte{ - 0x0a, 0x14, 0x73, 0x6c, 0x5f, 0x73, 0x72, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x1a, 0x12, 0x73, 0x6c, 0x5f, 0x73, 0x72, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x0d, 0x53, 0x4c, - 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x6f, - 0x70, 0x65, 0x6e, 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, 0x53, 0x72, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, - 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9c, 0x02, - 0x0a, 0x0d, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x73, 0x70, 0x12, - 0x44, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x73, 0x70, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x73, 0x70, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x53, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x09, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x6b, 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, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 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, 0x53, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa5, 0x01, 0x0a, - 0x0e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x65, - 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x22, 0x2f, 0x0a, 0x13, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x65, 0x72, 0x73, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x10, 0x01, 0x22, 0x4c, 0x0a, 0x12, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0xb5, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x12, 0x41, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x4f, 0x70, 0x52, 0x09, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 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, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x2e, 0x0a, 0x06, 0x53, 0x4c, - 0x53, 0x72, 0x4f, 0x70, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0a, - 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x4c, - 0x53, 0x72, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x13, 0x0a, - 0x11, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x22, 0xce, 0x01, 0x0a, 0x0a, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x6b, 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, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, - 0x32, 0x0a, 0x03, 0x43, 0x50, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, - 0x72, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x03, - 0x43, 0x50, 0x73, 0x22, 0x9e, 0x02, 0x0a, 0x14, 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x45, - 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x70, 0x6c, 0x73, 0x5f, 0x62, 0x73, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x4d, 0x50, 0x4c, 0x53, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x52, 0x08, 0x6d, 0x70, 0x6c, 0x73, 0x42, - 0x73, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x72, 0x76, 0x36, 0x5f, 0x62, 0x73, 0x69, 0x64, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x72, 0x76, 0x36, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x52, 0x09, 0x73, 0x72, 0x76, 0x36, - 0x42, 0x73, 0x69, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x49, 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x11, 0x53, 0x4c, 0x53, 0x72, 0x43, 0x61, 0x6e, - 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x43, 0x61, 0x6e, 0x64, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x07, 0x64, 0x79, - 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, - 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x50, 0x48, 0x00, 0x52, 0x07, 0x64, 0x79, 0x6e, - 0x61, 0x6d, 0x69, 0x63, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x45, 0x78, 0x70, 0x6c, 0x69, - 0x63, 0x69, 0x74, 0x43, 0x50, 0x48, 0x00, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, - 0x74, 0x42, 0x04, 0x0a, 0x02, 0x43, 0x50, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x74, 0x0a, 0x0e, 0x53, 0x4c, 0x53, 0x72, 0x45, 0x78, - 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x50, 0x12, 0x41, 0x0a, 0x0c, 0x73, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x53, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0x72, 0x0a, 0x0d, - 0x53, 0x4c, 0x53, 0x72, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x50, 0x12, 0x1f, 0x0a, - 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, - 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x53, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x65, 0x73, 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, 0x53, 0x72, 0x41, 0x66, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x73, 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, 0x53, 0x72, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x73, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x75, 0x70, 0x70, - 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x4c, 0x53, 0x72, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, - 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x72, 0x76, 0x36, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x79, - 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4c, 0x53, 0x72, - 0x53, 0x72, 0x76, 0x36, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x53, 0x49, 0x44, 0x48, 0x00, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, - 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x4c, 0x53, 0x72, - 0x4d, 0x50, 0x4c, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x20, - 0x0a, 0x09, 0x6d, 0x70, 0x6c, 0x73, 0x5f, 0x62, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x70, 0x6c, 0x73, 0x42, 0x73, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x70, 0x6c, 0x73, 0x5f, 0x62, 0x73, 0x69, 0x64, 0x22, 0x51, - 0x0a, 0x19, 0x53, 0x4c, 0x53, 0x72, 0x53, 0x72, 0x76, 0x36, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, - 0x63, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x16, 0x73, - 0x72, 0x76, 0x36, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x72, 0x76, - 0x36, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x32, 0x5e, 0x0a, 0x0c, 0x53, 0x4c, 0x53, 0x72, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x4e, 0x0a, 0x0c, 0x53, 0x4c, 0x53, 0x72, 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, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x73, 0x67, 0x1a, - 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x4c, 0x53, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x73, 0x70, 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, -} +const file_sl_srte_policy_proto_rawDesc = "" + + "\n" + + "\x14sl_srte_policy.proto\x12\rservice_layer\x1a\x12sl_sr_common.proto\"\x91\x01\n" + + "\rSLSrPolicyMsg\x123\n" + + "\x04open\x18\x01 \x01(\v2\x1d.service_layer.SLSrPolicyOpenH\x00R\x04open\x12?\n" + + "\brequests\x18\x02 \x01(\v2!.service_layer.SLSrPolicyRequestsH\x00R\brequestsB\n" + + "\n" + + "\bmsg_type\"\x9c\x02\n" + + "\rSLSrPolicyRsp\x12D\n" + + "\tresponses\x18\x01 \x03(\v2&.service_layer.SLSrPolicyRsp.PolicyRspR\tresponses\x121\n" + + "\x06status\x18\x02 \x01(\v2\x19.service_layer.SLSrStatusR\x06status\x1a\x91\x01\n" + + "\tPolicyRsp\x12!\n" + + "\foperation_id\x18\x01 \x01(\x04R\voperationId\x12.\n" + + "\x03key\x18\x02 \x01(\v2\x1c.service_layer.SLSrPolicyKeyR\x03key\x121\n" + + "\x06status\x18\x03 \x01(\v2\x19.service_layer.SLSrStatusR\x06status\"\xa5\x01\n" + + "\x0eSLSrPolicyOpen\x12\x1b\n" + + "\tclient_id\x18\x01 \x01(\tR\bclientId\x12E\n" + + "\x04mode\x18\x03 \x01(\x0e21.service_layer.SLSrPolicyOpen.SLSrPersistenceModeR\x04mode\"/\n" + + "\x13SLSrPersistenceMode\x12\n" + + "\n" + + "\x06DELETE\x10\x00\x12\f\n" + + "\bPRESERVE\x10\x01\"L\n" + + "\x12SLSrPolicyRequests\x126\n" + + "\arequest\x18\x01 \x03(\v2\x1c.service_layer.SLSrPolicyReqR\arequest\"\xb5\x01\n" + + "\rSLSrPolicyReq\x12A\n" + + "\toperation\x18\x01 \x01(\x0e2#.service_layer.SLSrPolicyReq.SLSrOpR\toperation\x121\n" + + "\x06policy\x18\x02 \x01(\v2\x19.service_layer.SLSrPolicyR\x06policy\".\n" + + "\x06SLSrOp\x12\f\n" + + "\bRESERVED\x10\x00\x12\n" + + "\n" + + "\x06UPDATE\x10\x01\x12\n" + + "\n" + + "\x06DELETE\x10\x02\"\x11\n" + + "\x0fSLSrEndOfReplay\"\x13\n" + + "\x11SLSrStartOfReplay\"\xce\x01\n" + + "\n" + + "SLSrPolicy\x12!\n" + + "\foperation_id\x18\x01 \x01(\x04R\voperationId\x12.\n" + + "\x03key\x18\x02 \x01(\v2\x1c.service_layer.SLSrPolicyKeyR\x03key\x129\n" + + "\x05attrs\x18\x03 \x01(\v2#.service_layer.SLSrPolicyAttributesR\x05attrs\x122\n" + + "\x03CPs\x18\x04 \x03(\v2 .service_layer.SLSrCandidatePathR\x03CPs\"\xe6\x02\n" + + "\x14SLSrPolicyAttributes\x12)\n" + + "\x10transit_eligible\x18\x02 \x01(\bR\x0ftransitEligible\x12:\n" + + "\tdataplane\x18\x03 \x01(\x0e2\x1c.service_layer.SLSrDataplaneR\tdataplane\x12>\n" + + "\tmpls_bsid\x18\x04 \x01(\v2!.service_layer.SLSrMPLSBindingSIDR\bmplsBsid\x12@\n" + + "\n" + + "srv6_bsids\x18\x05 \x03(\v2!.service_layer.SLSrSrv6BindingSIDR\tsrv6Bsids\x12\x1d\n" + + "\n" + + "profile_id\x18\x06 \x01(\rR\tprofileId\x12F\n" + + "\n" + + "srv6_attrs\x18\a \x01(\v2'.service_layer.SLSrSrv6PolicyAttributesR\tsrv6Attrs\"\x8f\x02\n" + + "\x11SLSrCandidatePath\x125\n" + + "\x03key\x18\x02 \x01(\v2#.service_layer.SLSrCandidatePathKeyR\x03key\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12#\n" + + "\n" + + "preference\x18\x04 \x01(\rH\x01R\n" + + "preference\x88\x01\x01\x128\n" + + "\adynamic\x18\x05 \x01(\v2\x1c.service_layer.SLSrDynamicCPH\x00R\adynamic\x12;\n" + + "\bexplicit\x18\x06 \x01(\v2\x1d.service_layer.SLSrExplicitCPH\x00R\bexplicitB\x04\n" + + "\x02CPB\r\n" + + "\v_preference\"t\n" + + "\x0eSLSrExplicitCP\x12A\n" + + "\fsegment_list\x18\x01 \x03(\v2\x1e.service_layer.SLSrSegmentListR\vsegmentList\x12\x1f\n" + + "\vmetric_type\x18\x03 \x01(\rR\n" + + "metricType\"r\n" + + "\rSLSrDynamicCP\x12\x1f\n" + + "\vmetric_type\x18\x01 \x01(\rR\n" + + "metricType\x12@\n" + + "\vconstraints\x18\x02 \x01(\v2\x1e.service_layer.SLSrConstraintsR\vconstraints\"\xe1\x01\n" + + "\x0fSLSrConstraints\x12=\n" + + "\n" + + "affinities\x18\x01 \x01(\v2\x1d.service_layer.SLSrAffinitiesR\n" + + "affinities\x12D\n" + + "\rsegment_rules\x18\x02 \x01(\v2\x1f.service_layer.SLSrSegmentRulesR\fsegmentRules\x12I\n" + + "\vupper_bound\x18\x03 \x01(\v2(.service_layer.SLSrUpperBoundConstraintsR\n" + + "upperBound\"\x9e\x01\n" + + "\x12SLSrSrv6BindingSID\x12:\n" + + "\bexplicit\x18\x01 \x01(\v2\x1c.service_layer.SLSRv6SIDInfoH\x00R\bexplicit\x12D\n" + + "\adynamic\x18\x02 \x01(\v2(.service_layer.SLSrSrv6DynamicBindingSIDH\x00R\adynamicB\x06\n" + + "\x04type\"D\n" + + "\x12SLSrMPLSBindingSID\x12 \n" + + "\tmpls_bsid\x18\x01 \x01(\rH\x00R\bmplsBsid\x88\x01\x01B\f\n" + + "\n" + + "_mpls_bsid\"Q\n" + + "\x19SLSrSrv6DynamicBindingSID\x124\n" + + "\x16srv6_endpoint_behavior\x18\x01 \x01(\rR\x14srv6EndpointBehavior\"O\n" + + "\x18SLSrSrv6PolicyAttributes\x123\n" + + "\x16install_final_node_sid\x18\x01 \x01(\bR\x13installFinalNodeSid2^\n" + + "\fSLSrtePolicy\x12N\n" + + "\fSLSrPolicyOp\x12\x1c.service_layer.SLSrPolicyMsg\x1a\x1c.service_layer.SLSrPolicyRsp(\x010\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_srte_policy_proto_rawDescOnce sync.Once - file_sl_srte_policy_proto_rawDescData = file_sl_srte_policy_proto_rawDesc + file_sl_srte_policy_proto_rawDescData []byte ) func file_sl_srte_policy_proto_rawDescGZIP() []byte { file_sl_srte_policy_proto_rawDescOnce.Do(func() { - file_sl_srte_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_srte_policy_proto_rawDescData) + file_sl_srte_policy_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_srte_policy_proto_rawDesc), len(file_sl_srte_policy_proto_rawDesc))) }) return file_sl_srte_policy_proto_rawDescData } var file_sl_srte_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_sl_srte_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 17) -var file_sl_srte_policy_proto_goTypes = []interface{}{ +var file_sl_srte_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_sl_srte_policy_proto_goTypes = []any{ (SLSrPolicyOpen_SLSrPersistenceMode)(0), // 0: service_layer.SLSrPolicyOpen.SLSrPersistenceMode (SLSrPolicyReq_SLSrOp)(0), // 1: service_layer.SLSrPolicyReq.SLSrOp (*SLSrPolicyMsg)(nil), // 2: service_layer.SLSrPolicyMsg @@ -1536,49 +1495,53 @@ var file_sl_srte_policy_proto_goTypes = []interface{}{ (*SLSrSrv6BindingSID)(nil), // 15: service_layer.SLSrSrv6BindingSID (*SLSrMPLSBindingSID)(nil), // 16: service_layer.SLSrMPLSBindingSID (*SLSrSrv6DynamicBindingSID)(nil), // 17: service_layer.SLSrSrv6DynamicBindingSID - (*SLSrPolicyRsp_PolicyRsp)(nil), // 18: service_layer.SLSrPolicyRsp.PolicyRsp - (*SLSrStatus)(nil), // 19: service_layer.SLSrStatus - (*SLSrPolicyKey)(nil), // 20: service_layer.SLSrPolicyKey - (SLSrDataplane)(0), // 21: service_layer.SLSrDataplane - (*SLSrCandidatePathKey)(nil), // 22: service_layer.SLSrCandidatePathKey - (*SLSrSegmentList)(nil), // 23: service_layer.SLSrSegmentList - (*SLSrAffinities)(nil), // 24: service_layer.SLSrAffinities - (*SLSrSegmentRules)(nil), // 25: service_layer.SLSrSegmentRules - (*SLSrUpperBoundConstraints)(nil), // 26: service_layer.SLSrUpperBoundConstraints + (*SLSrSrv6PolicyAttributes)(nil), // 18: service_layer.SLSrSrv6PolicyAttributes + (*SLSrPolicyRsp_PolicyRsp)(nil), // 19: service_layer.SLSrPolicyRsp.PolicyRsp + (*SLSrStatus)(nil), // 20: service_layer.SLSrStatus + (*SLSrPolicyKey)(nil), // 21: service_layer.SLSrPolicyKey + (SLSrDataplane)(0), // 22: service_layer.SLSrDataplane + (*SLSrCandidatePathKey)(nil), // 23: service_layer.SLSrCandidatePathKey + (*SLSrSegmentList)(nil), // 24: service_layer.SLSrSegmentList + (*SLSrAffinities)(nil), // 25: service_layer.SLSrAffinities + (*SLSrSegmentRules)(nil), // 26: service_layer.SLSrSegmentRules + (*SLSrUpperBoundConstraints)(nil), // 27: service_layer.SLSrUpperBoundConstraints + (*SLSRv6SIDInfo)(nil), // 28: service_layer.SLSRv6SIDInfo } var file_sl_srte_policy_proto_depIdxs = []int32{ 4, // 0: service_layer.SLSrPolicyMsg.open:type_name -> service_layer.SLSrPolicyOpen 5, // 1: service_layer.SLSrPolicyMsg.requests:type_name -> service_layer.SLSrPolicyRequests - 18, // 2: service_layer.SLSrPolicyRsp.responses:type_name -> service_layer.SLSrPolicyRsp.PolicyRsp - 19, // 3: service_layer.SLSrPolicyRsp.status:type_name -> service_layer.SLSrStatus + 19, // 2: service_layer.SLSrPolicyRsp.responses:type_name -> service_layer.SLSrPolicyRsp.PolicyRsp + 20, // 3: service_layer.SLSrPolicyRsp.status:type_name -> service_layer.SLSrStatus 0, // 4: service_layer.SLSrPolicyOpen.mode:type_name -> service_layer.SLSrPolicyOpen.SLSrPersistenceMode 6, // 5: service_layer.SLSrPolicyRequests.request:type_name -> service_layer.SLSrPolicyReq 1, // 6: service_layer.SLSrPolicyReq.operation:type_name -> service_layer.SLSrPolicyReq.SLSrOp 9, // 7: service_layer.SLSrPolicyReq.policy:type_name -> service_layer.SLSrPolicy - 20, // 8: service_layer.SLSrPolicy.key:type_name -> service_layer.SLSrPolicyKey + 21, // 8: service_layer.SLSrPolicy.key:type_name -> service_layer.SLSrPolicyKey 10, // 9: service_layer.SLSrPolicy.attrs:type_name -> service_layer.SLSrPolicyAttributes 11, // 10: service_layer.SLSrPolicy.CPs:type_name -> service_layer.SLSrCandidatePath - 21, // 11: service_layer.SLSrPolicyAttributes.dataplane:type_name -> service_layer.SLSrDataplane + 22, // 11: service_layer.SLSrPolicyAttributes.dataplane:type_name -> service_layer.SLSrDataplane 16, // 12: service_layer.SLSrPolicyAttributes.mpls_bsid:type_name -> service_layer.SLSrMPLSBindingSID 15, // 13: service_layer.SLSrPolicyAttributes.srv6_bsids:type_name -> service_layer.SLSrSrv6BindingSID - 22, // 14: service_layer.SLSrCandidatePath.key:type_name -> service_layer.SLSrCandidatePathKey - 13, // 15: service_layer.SLSrCandidatePath.dynamic:type_name -> service_layer.SLSrDynamicCP - 12, // 16: service_layer.SLSrCandidatePath.explicit:type_name -> service_layer.SLSrExplicitCP - 23, // 17: service_layer.SLSrExplicitCP.segment_list:type_name -> service_layer.SLSrSegmentList - 14, // 18: service_layer.SLSrDynamicCP.constraints:type_name -> service_layer.SLSrConstraints - 24, // 19: service_layer.SLSrConstraints.affinities:type_name -> service_layer.SLSrAffinities - 25, // 20: service_layer.SLSrConstraints.segment_rules:type_name -> service_layer.SLSrSegmentRules - 26, // 21: service_layer.SLSrConstraints.upper_bound:type_name -> service_layer.SLSrUpperBoundConstraints - 17, // 22: service_layer.SLSrSrv6BindingSID.dynamic:type_name -> service_layer.SLSrSrv6DynamicBindingSID - 20, // 23: service_layer.SLSrPolicyRsp.PolicyRsp.key:type_name -> service_layer.SLSrPolicyKey - 19, // 24: service_layer.SLSrPolicyRsp.PolicyRsp.status:type_name -> service_layer.SLSrStatus - 2, // 25: service_layer.SLSrtePolicy.SLSrPolicyOp:input_type -> service_layer.SLSrPolicyMsg - 3, // 26: service_layer.SLSrtePolicy.SLSrPolicyOp:output_type -> service_layer.SLSrPolicyRsp - 26, // [26:27] is the sub-list for method output_type - 25, // [25:26] 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 + 18, // 14: service_layer.SLSrPolicyAttributes.srv6_attrs:type_name -> service_layer.SLSrSrv6PolicyAttributes + 23, // 15: service_layer.SLSrCandidatePath.key:type_name -> service_layer.SLSrCandidatePathKey + 13, // 16: service_layer.SLSrCandidatePath.dynamic:type_name -> service_layer.SLSrDynamicCP + 12, // 17: service_layer.SLSrCandidatePath.explicit:type_name -> service_layer.SLSrExplicitCP + 24, // 18: service_layer.SLSrExplicitCP.segment_list:type_name -> service_layer.SLSrSegmentList + 14, // 19: service_layer.SLSrDynamicCP.constraints:type_name -> service_layer.SLSrConstraints + 25, // 20: service_layer.SLSrConstraints.affinities:type_name -> service_layer.SLSrAffinities + 26, // 21: service_layer.SLSrConstraints.segment_rules:type_name -> service_layer.SLSrSegmentRules + 27, // 22: service_layer.SLSrConstraints.upper_bound:type_name -> service_layer.SLSrUpperBoundConstraints + 28, // 23: service_layer.SLSrSrv6BindingSID.explicit:type_name -> service_layer.SLSRv6SIDInfo + 17, // 24: service_layer.SLSrSrv6BindingSID.dynamic:type_name -> service_layer.SLSrSrv6DynamicBindingSID + 21, // 25: service_layer.SLSrPolicyRsp.PolicyRsp.key:type_name -> service_layer.SLSrPolicyKey + 20, // 26: service_layer.SLSrPolicyRsp.PolicyRsp.status:type_name -> service_layer.SLSrStatus + 2, // 27: service_layer.SLSrtePolicy.SLSrPolicyOp:input_type -> service_layer.SLSrPolicyMsg + 3, // 28: service_layer.SLSrtePolicy.SLSrPolicyOp:output_type -> service_layer.SLSrPolicyRsp + 28, // [28:29] is the sub-list for method output_type + 27, // [27:28] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name } func init() { file_sl_srte_policy_proto_init() } @@ -1587,231 +1550,26 @@ func file_sl_srte_policy_proto_init() { return } file_sl_sr_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_srte_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyOpen); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyRequests); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrEndOfReplay); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrStartOfReplay); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyAttributes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrCandidatePath); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrExplicitCP); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrDynamicCP); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrSrv6BindingSID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrMPLSBindingSID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrSrv6DynamicBindingSID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_srte_policy_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLSrPolicyRsp_PolicyRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_srte_policy_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_sl_srte_policy_proto_msgTypes[0].OneofWrappers = []any{ (*SLSrPolicyMsg_Open)(nil), (*SLSrPolicyMsg_Requests)(nil), } - file_sl_srte_policy_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_sl_srte_policy_proto_msgTypes[9].OneofWrappers = []any{ (*SLSrCandidatePath_Dynamic)(nil), (*SLSrCandidatePath_Explicit)(nil), } - file_sl_srte_policy_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_sl_srte_policy_proto_msgTypes[13].OneofWrappers = []any{ + (*SLSrSrv6BindingSID_Explicit)(nil), (*SLSrSrv6BindingSID_Dynamic)(nil), } - file_sl_srte_policy_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_sl_srte_policy_proto_msgTypes[14].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_srte_policy_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_srte_policy_proto_rawDesc), len(file_sl_srte_policy_proto_rawDesc)), NumEnums: 2, - NumMessages: 17, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, @@ -1821,7 +1579,6 @@ func file_sl_srte_policy_proto_init() { MessageInfos: file_sl_srte_policy_proto_msgTypes, }.Build() File_sl_srte_policy_proto = out.File - file_sl_srte_policy_proto_rawDesc = nil file_sl_srte_policy_proto_goTypes = nil file_sl_srte_policy_proto_depIdxs = nil } diff --git a/grpc/go/src/gengo/sl_srte_policy_grpc.pb.go b/grpc/go/src/gengo/sl_srte_policy_grpc.pb.go index 3b2119ec..af05b576 100644 --- a/grpc/go/src/gengo/sl_srte_policy_grpc.pb.go +++ b/grpc/go/src/gengo/sl_srte_policy_grpc.pb.go @@ -1,7 +1,23 @@ +// @file +// @brief Proto file for Segment-routing traffic-eng (SR-TE) Policy RPCs. +// Declares calls for adding, deleting, updating the SR-TE policies. +// The GPB data model should reflect the model from the SR-TE policy +// RFC https://datatracker.ietf.org/doc/rfc9256/. +// A subset of the SR-TE Policy model defined in the RFC9256 is supported by +// this proto. Future revisions can include more fields as needed to complete +// the model. +// +// ---------------------------------------------------------------- +// Copyright (c) 2025 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.18.3 +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 // source: sl_srte_policy.proto package service_layer @@ -15,16 +31,26 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + SLSrtePolicy_SLSrPolicyOp_FullMethodName = "/service_layer.SLSrtePolicy/SLSrPolicyOp" +) // SLSrtePolicyClient is the client API for SLSrtePolicy service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// @defgroup SLSrtePolicy +// Used to programmatically create/update/delete SR-TE policies. +// Defines the RPC for operations on SR-TE policy. +// +// @{ type SLSrtePolicyClient interface { // The SLSrPolicyOp RPC is used to create/update/delete an SR-TE policy based on the // specified parameters. - SLSrPolicyOp(ctx context.Context, opts ...grpc.CallOption) (SLSrtePolicy_SLSrPolicyOpClient, error) + SLSrPolicyOp(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLSrPolicyMsg, SLSrPolicyRsp], error) } type sLSrtePolicyClient struct { @@ -35,55 +61,47 @@ func NewSLSrtePolicyClient(cc grpc.ClientConnInterface) SLSrtePolicyClient { return &sLSrtePolicyClient{cc} } -func (c *sLSrtePolicyClient) SLSrPolicyOp(ctx context.Context, opts ...grpc.CallOption) (SLSrtePolicy_SLSrPolicyOpClient, error) { - stream, err := c.cc.NewStream(ctx, &SLSrtePolicy_ServiceDesc.Streams[0], "/service_layer.SLSrtePolicy/SLSrPolicyOp", opts...) +func (c *sLSrtePolicyClient) SLSrPolicyOp(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[SLSrPolicyMsg, SLSrPolicyRsp], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &SLSrtePolicy_ServiceDesc.Streams[0], SLSrtePolicy_SLSrPolicyOp_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &sLSrtePolicySLSrPolicyOpClient{stream} + x := &grpc.GenericClientStream[SLSrPolicyMsg, SLSrPolicyRsp]{ClientStream: stream} return x, nil } -type SLSrtePolicy_SLSrPolicyOpClient interface { - Send(*SLSrPolicyMsg) error - Recv() (*SLSrPolicyRsp, error) - grpc.ClientStream -} - -type sLSrtePolicySLSrPolicyOpClient struct { - grpc.ClientStream -} - -func (x *sLSrtePolicySLSrPolicyOpClient) Send(m *SLSrPolicyMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLSrtePolicySLSrPolicyOpClient) Recv() (*SLSrPolicyRsp, error) { - m := new(SLSrPolicyRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLSrtePolicy_SLSrPolicyOpClient = grpc.BidiStreamingClient[SLSrPolicyMsg, SLSrPolicyRsp] // SLSrtePolicyServer is the server API for SLSrtePolicy service. // All implementations must embed UnimplementedSLSrtePolicyServer -// for forward compatibility +// for forward compatibility. +// +// @defgroup SLSrtePolicy +// Used to programmatically create/update/delete SR-TE policies. +// Defines the RPC for operations on SR-TE policy. +// +// @{ type SLSrtePolicyServer interface { // The SLSrPolicyOp RPC is used to create/update/delete an SR-TE policy based on the // specified parameters. - SLSrPolicyOp(SLSrtePolicy_SLSrPolicyOpServer) error + SLSrPolicyOp(grpc.BidiStreamingServer[SLSrPolicyMsg, SLSrPolicyRsp]) error mustEmbedUnimplementedSLSrtePolicyServer() } -// UnimplementedSLSrtePolicyServer must be embedded to have forward compatible implementations. -type UnimplementedSLSrtePolicyServer struct { -} +// UnimplementedSLSrtePolicyServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedSLSrtePolicyServer struct{} -func (UnimplementedSLSrtePolicyServer) SLSrPolicyOp(SLSrtePolicy_SLSrPolicyOpServer) error { +func (UnimplementedSLSrtePolicyServer) SLSrPolicyOp(grpc.BidiStreamingServer[SLSrPolicyMsg, SLSrPolicyRsp]) error { return status.Errorf(codes.Unimplemented, "method SLSrPolicyOp not implemented") } func (UnimplementedSLSrtePolicyServer) mustEmbedUnimplementedSLSrtePolicyServer() {} +func (UnimplementedSLSrtePolicyServer) testEmbeddedByValue() {} // UnsafeSLSrtePolicyServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SLSrtePolicyServer will @@ -93,34 +111,22 @@ type UnsafeSLSrtePolicyServer interface { } func RegisterSLSrtePolicyServer(s grpc.ServiceRegistrar, srv SLSrtePolicyServer) { + // If the following call pancis, it indicates UnimplementedSLSrtePolicyServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&SLSrtePolicy_ServiceDesc, srv) } func _SLSrtePolicy_SLSrPolicyOp_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLSrtePolicyServer).SLSrPolicyOp(&sLSrtePolicySLSrPolicyOpServer{stream}) -} - -type SLSrtePolicy_SLSrPolicyOpServer interface { - Send(*SLSrPolicyRsp) error - Recv() (*SLSrPolicyMsg, error) - grpc.ServerStream + return srv.(SLSrtePolicyServer).SLSrPolicyOp(&grpc.GenericServerStream[SLSrPolicyMsg, SLSrPolicyRsp]{ServerStream: stream}) } -type sLSrtePolicySLSrPolicyOpServer struct { - grpc.ServerStream -} - -func (x *sLSrtePolicySLSrPolicyOpServer) Send(m *SLSrPolicyRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLSrtePolicySLSrPolicyOpServer) Recv() (*SLSrPolicyMsg, error) { - m := new(SLSrPolicyMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type SLSrtePolicy_SLSrPolicyOpServer = grpc.BidiStreamingServer[SLSrPolicyMsg, SLSrPolicyRsp] // SLSrtePolicy_ServiceDesc is the grpc.ServiceDesc for SLSrtePolicy service. // It's only intended for direct use with grpc.RegisterService, diff --git a/grpc/go/src/gengo/sl_version.pb.go b/grpc/go/src/gengo/sl_version.pb.go index 5927344f..aa0fc269 100644 --- a/grpc/go/src/gengo/sl_version.pb.go +++ b/grpc/go/src/gengo/sl_version.pb.go @@ -10,8 +10,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.18.3 +// protoc-gen-go v1.36.7 +// protoc v6.32.0 // source: sl_version.proto package service_layer @@ -21,6 +21,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -38,7 +39,7 @@ type SLVersion int32 const ( SLVersion_SL_VERSION_UNUSED SLVersion = 0 SLVersion_SL_MAJOR_VERSION SLVersion = 0 - SLVersion_SL_MINOR_VERSION SLVersion = 11 + SLVersion_SL_MINOR_VERSION SLVersion = 12 SLVersion_SL_SUB_VERSION SLVersion = 0 ) @@ -47,13 +48,13 @@ var ( SLVersion_name = map[int32]string{ 0: "SL_VERSION_UNUSED", // Duplicate value: 0: "SL_MAJOR_VERSION", - 11: "SL_MINOR_VERSION", + 12: "SL_MINOR_VERSION", // Duplicate value: 0: "SL_SUB_VERSION", } SLVersion_value = map[string]int32{ "SL_VERSION_UNUSED": 0, "SL_MAJOR_VERSION": 0, - "SL_MINOR_VERSION": 11, + "SL_MINOR_VERSION": 12, "SL_SUB_VERSION": 0, } ) @@ -87,38 +88,29 @@ func (SLVersion) EnumDescriptor() ([]byte, []int) { var File_sl_version_proto protoreflect.FileDescriptor -var file_sl_version_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x73, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2a, 0x66, 0x0a, 0x09, 0x53, 0x4c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x55, - 0x53, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, - 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, - 0x4c, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, - 0x0b, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x53, - 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x1a, 0x02, 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, -} +const file_sl_version_proto_rawDesc = "" + + "\n" + + "\x10sl_version.proto\x12\rservice_layer*f\n" + + "\tSLVersion\x12\x15\n" + + "\x11SL_VERSION_UNUSED\x10\x00\x12\x14\n" + + "\x10SL_MAJOR_VERSION\x10\x00\x12\x14\n" + + "\x10SL_MINOR_VERSION\x10\f\x12\x12\n" + + "\x0eSL_SUB_VERSION\x10\x00\x1a\x02\x10\x01BQZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3" var ( file_sl_version_proto_rawDescOnce sync.Once - file_sl_version_proto_rawDescData = file_sl_version_proto_rawDesc + file_sl_version_proto_rawDescData []byte ) func file_sl_version_proto_rawDescGZIP() []byte { file_sl_version_proto_rawDescOnce.Do(func() { - file_sl_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_version_proto_rawDescData) + file_sl_version_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sl_version_proto_rawDesc), len(file_sl_version_proto_rawDesc))) }) return file_sl_version_proto_rawDescData } var file_sl_version_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sl_version_proto_goTypes = []interface{}{ +var file_sl_version_proto_goTypes = []any{ (SLVersion)(0), // 0: service_layer.SLVersion } var file_sl_version_proto_depIdxs = []int32{ @@ -138,7 +130,7 @@ func file_sl_version_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_version_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_sl_version_proto_rawDesc), len(file_sl_version_proto_rawDesc)), NumEnums: 1, NumMessages: 0, NumExtensions: 0, @@ -149,7 +141,6 @@ func file_sl_version_proto_init() { EnumInfos: file_sl_version_proto_enumTypes, }.Build() File_sl_version_proto = out.File - file_sl_version_proto_rawDesc = nil file_sl_version_proto_goTypes = nil file_sl_version_proto_depIdxs = nil } diff --git a/grpc/go/src/sl_api/go.mod b/grpc/go/src/sl_api/go.mod index d344a781..ce2f00a2 100644 --- a/grpc/go/src/sl_api/go.mod +++ b/grpc/go/src/sl_api/go.mod @@ -1,22 +1,19 @@ module sl_api -go 1.23.0 - -toolchain go1.23.8 +go 1.24.3 require ( gengo v0.0.0-00010101000000-000000000000 github.com/sirupsen/logrus v1.9.0 - golang.org/x/net v0.36.0 - google.golang.org/grpc v1.56.3 + golang.org/x/net v0.44.0 + google.golang.org/grpc v1.72.2 ) require ( - github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/text v0.29.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/protobuf v1.36.6 // indirect ) replace gengo => ../gengo diff --git a/grpc/go/src/sl_api/go.sum b/grpc/go/src/sl_api/go.sum index d8705d1d..4e48177c 100644 --- a/grpc/go/src/sl_api/go.sum +++ b/grpc/go/src/sl_api/go.sum @@ -1,12 +1,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= @@ -14,22 +18,31 @@ github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/grpc/go/src/sl_api_slaf/go.mod b/grpc/go/src/sl_api_slaf/go.mod index f1ebb455..3ec16295 100644 --- a/grpc/go/src/sl_api_slaf/go.mod +++ b/grpc/go/src/sl_api_slaf/go.mod @@ -1,20 +1,19 @@ module sl_api_slaf -go 1.19 +go 1.24.3 require ( gengo v0.0.0-00010101000000-000000000000 github.com/sirupsen/logrus v1.9.0 - golang.org/x/net v0.33.0 - google.golang.org/grpc v1.56.3 + golang.org/x/net v0.44.0 + google.golang.org/grpc v1.72.2 ) require ( - github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/text v0.29.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/protobuf v1.36.6 // indirect ) replace gengo => ../gengo diff --git a/grpc/go/src/sl_api_slaf/go.sum b/grpc/go/src/sl_api_slaf/go.sum index b3bd94c2..4e48177c 100644 --- a/grpc/go/src/sl_api_slaf/go.sum +++ b/grpc/go/src/sl_api_slaf/go.sum @@ -1,11 +1,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= @@ -13,22 +18,31 @@ github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/grpc/go/src/sl_api_slaf/slaf_msg.go b/grpc/go/src/sl_api_slaf/slaf_msg.go index f90efc17..8b3c80fa 100644 --- a/grpc/go/src/sl_api_slaf/slaf_msg.go +++ b/grpc/go/src/sl_api_slaf/slaf_msg.go @@ -18,13 +18,15 @@ import ( "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/metadata" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) var ClientID string = "521"; var GlobalOperationID uint64 = 0 var ( - MaxIlmInBatch uint32 = 1024 + MaxMplsBatchSize uint32 = 1024 MaxBatchSize uint32 = 1024 MaxPrimaryPathPerEntry uint32 = 256 MaxVrfNameLength uint32 = 33 @@ -128,7 +130,7 @@ func ClientInit(conn *grpc.ClientConn, username string, password string) (int) { fmt.Println("MaxNotifReqPerSLAFNotifReq: ", response.GetMaxNotifReqPerSLAFNotifReq()) fmt.Println("MaxMatchFilterInBgplsTopoNotif: ", response.GetMaxMatchFilterInBgplsTopoNotif()) - MaxIlmInBatch = response.GetMaxAFOpsPerMsg() + MaxMplsBatchSize = response.GetMaxAFOpsPerMsg() MaxBatchSize = response.GetMaxAFOpsPerMsg() MaxPrimaryPathPerEntry = response.GetMaxPrimaryPathPerEntry() MaxVrfNameLength = response.GetMaxVrfNameLength() @@ -549,7 +551,9 @@ func runSlafNotifStreamRequest(conn *grpc.ClientConn, notifStreamDuration uint, return } if errMsg != nil { - log.Error(errMsg) + if status.Code(errMsg) != codes.Canceled { + log.Error(errMsg) + } errc <- errMsg close(errc) return @@ -584,6 +588,7 @@ func runSlafNotifStreamRequest(conn *grpc.ClientConn, notifStreamDuration uint, // Keep stream alive for duration client specifies time.Sleep(time.Duration(notifStreamDuration) * time.Second) stream.CloseSend() + cancel() err = <-errc return err @@ -629,6 +634,19 @@ func RouteOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, */ for setRoutes = 1; setRoutes <= numRoutes; setRoutes, prefix = setRoutes+1, incrementIpv4Pfx(prefix, prefixLen) { + /* Flags cannot be set to 0 */ + var routeCommon *pb.SLRouteCommon + if routeFlag != 0 { + routeCommon = &pb.SLRouteCommon{ + AdminDistance: adminDistance, + RouteFlags: []pb.SLRouteFlags{routeFlag}, + } + } else { + routeCommon = &pb.SLRouteCommon{ + AdminDistance: adminDistance, + } + } + /* Populate the routes' attributes */ routeIpPtr := &pb.SLAFIPRoute { IPRoutePrefix: &pb.SLRoutePrefix{ @@ -639,10 +657,7 @@ func RouteOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, }, PrefixLen: prefixLen, }, - RouteCommon: &pb.SLRouteCommon { - AdminDistance: adminDistance, - RouteFlags: []pb.SLRouteFlags{routeFlag,}, - }, + RouteCommon: routeCommon, } /* We dont need to setup the paths for DELETE*/ @@ -771,18 +786,16 @@ func LabelOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, mplsFlag pb.SLRouteFlags, adminDistance uint32, ackType pb.SLRspACKType, ackPermit pb.SLRspACKPermit, ackCadence pb.SLRspAckCadence, - startLabel uint, startOutLabel uint, numLabels uint, + entryKeyLabel uint, remoteLabelStack uint, numLabels uint, numPaths uint, batchSize uint, nextHopIP string, Interface string, maxIfIdx uint, autoIncNHIP bool, streamCase bool, username string, password string) { var err error = nil - var elspIdx, pathIdx, batchIndex uint - var numElsps uint = 0 - var sentIlms uint = 0 - var totalIlms uint = 0 - var numIlms uint = 0 - var ilmsInBatch uint = 0 + var pathIdx, batchIndex uint + var sentEntries uint = 0 + var totalEntries uint = 0 + var mplsEntriesInBatch uint = 0 var messages []*pb.SLAFMsg var message = &pb.SLAFMsg{ Oper: oper, @@ -793,13 +806,13 @@ func LabelOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, log.Fatalf("Invalid batch size: %d", batchSize) } - log.Debug("Label: start label: ", startLabel, + log.Debug("Label: start label: ", entryKeyLabel, ", #labels: ", numLabels, ", #numPaths: ", numPaths, ", #batchSize: ", batchSize) - if batchSize > uint(MaxIlmInBatch) { - batchSize = uint(MaxIlmInBatch) + if batchSize > uint(MaxMplsBatchSize) { + batchSize = uint(MaxMplsBatchSize) } /* Initialize some path params */ @@ -808,133 +821,123 @@ func LabelOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, /* Let's keep track of the preparation time it takes to create the messages */ t0 := time.Now() - label := startLabel - numIlms = 1 + label := entryKeyLabel - totalIlms = numLabels * numIlms - if batchSize > totalIlms { - batchSize = totalIlms + totalEntries = numLabels + if batchSize > totalEntries { + batchSize = totalEntries } - /* - * Slaf protos currently do not allow elsps to be configured. - * numElsps: > 1 for ELSP, 0 otherwise (configured) - * totalIlms: numLabels * numElsps (calculated) - * batchSize: number of ilms per batch (configured) - * numIlms: number of ilms (1 for non ELSP, numElsps otherwise) - */ - for sentIlms < totalIlms { - - log.Debug("sentIlms ", sentIlms, + for sentEntries < totalEntries { + + log.Debug("sentEntries ", sentEntries, " batchIndex ", batchIndex, - " ilmsInBatch ", ilmsInBatch, - " numIlms ", numIlms, + " mplsEntriesInBatch ", mplsEntriesInBatch, " batchSize ", batchSize, - " totalIlms ", totalIlms) + " totalEntries ", totalEntries) - if ilmsInBatch + numIlms > batchSize && sentIlms != totalIlms { + if mplsEntriesInBatch + 1 > batchSize && sentEntries != totalEntries { batchIndex ++ messages = append(messages, message) - ilmsInBatch = 0 + mplsEntriesInBatch = 0 } - if ilmsInBatch == 0 { - /* Create a new ILM batch */ + if mplsEntriesInBatch == 0 { + /* Create a new message for a batch */ message = &pb.SLAFMsg{ Oper: oper, VrfName: "default", } } - /* If we are adding ELSP entries then loop and create as many - * using the same label. If numElsps is set to 0 we just add - * one ILM entry for that label. - */ - - for elspIdx = 0; elspIdx < numIlms; elspIdx++ { - - log.Debug("label: ", label, " numIlms: ", numIlms) + log.Debug("label: ", label) - nexthopInterface := ifMunge(Interface, elspIdx, maxIfIdx) - log.Debug("Interface: ", nexthopInterface) + nexthopInterface := ifMunge(Interface, 0, maxIfIdx) + log.Debug("Interface: ", nexthopInterface) - /* Setup some of the message object attributes */ - ilm := &pb.SLMplsEntry{ + /* Setup some of the message object attributes */ + /* Flags cannot be set to 0 */ + var mplsEntry *pb.SLMplsEntry + if mplsFlag != 0 { + mplsEntry = &pb.SLMplsEntry{ MplsKey: &pb.SLMplsEntryKey{Label: uint32(label),}, AdminDistance: adminDistance, MplsFlags: []pb.SLRouteFlags{mplsFlag,}, } + } else { + mplsEntry = &pb.SLMplsEntry{ + MplsKey: &pb.SLMplsEntryKey{Label: uint32(label),}, + AdminDistance: adminDistance, + } + } - for pathIdx = 0; pathIdx < numPaths; pathIdx++ { - nhlfe := &pb.SLRoutePath{ - NexthopAddress: &pb.SLIpAddress { - Address: &pb.SLIpAddress_V4Address{ - V4Address: nexthop, - }, + for pathIdx = 0; pathIdx < numPaths; pathIdx++ { + pathList := &pb.SLRoutePath{ + NexthopAddress: &pb.SLIpAddress { + Address: &pb.SLIpAddress_V4Address{ + V4Address: nexthop, + }, + }, + } + if len(nexthopInterface) != 0 { + pathList.NexthopInterface = &pb.SLInterface{ + Interface: &pb.SLInterface_Name{ + Name: nexthopInterface, }, - } - if len(nexthopInterface) != 0 { - nhlfe.NexthopInterface = &pb.SLInterface{ - Interface: &pb.SLInterface_Name{ - Name: nexthopInterface, - }, - } - } - - if startOutLabel > 0 { - outLabel := startOutLabel + - (label - startLabel) * numElsps + elspIdx - nhlfe.LabelStack = append(nhlfe.LabelStack, uint32(outLabel)) - } else { - /* Need an out label for swap */ - log.Fatalf("Invalid out label") - } - - /* Append to route */ - ilm.PathList = append(ilm.PathList, nhlfe) - if autoIncNHIP { - nexthop = nexthop + 1 } } - afObject := &pb.SLAFObject{ - Entry: &pb.SLAFObject_MplsLabel{ - MplsLabel: ilm, - }, + if remoteLabelStack > 0 { + pathList.LabelStack = append(pathList.LabelStack, uint32(remoteLabelStack)) + } else { + /* Need an out label for swap */ + log.Fatalf("Invalid out label") } - opMsg := &pb.SLAFOpMsg{ - AFObject: afObject, - OperationID: GlobalOperationID, - AckType: ackType, - AckPermits: []pb.SLRspACKPermit{ackPermit,}, - AckCadence: ackCadence, + /* Append to route */ + mplsEntry.PathList = append(mplsEntry.PathList, pathList) + if autoIncNHIP { + nexthop = nexthop + 1 } - GlobalOperationID += 1 - /* Append Route to batch */ - message.OpList = append(message.OpList, opMsg) + } + + afObject := &pb.SLAFObject{ + Entry: &pb.SLAFObject_MplsLabel{ + MplsLabel: mplsEntry, + }, + } + opMsg := &pb.SLAFOpMsg{ + AFObject: afObject, + OperationID: GlobalOperationID, + AckType: ackType, + AckPermits: []pb.SLRspACKPermit{ackPermit,}, + AckCadence: ackCadence, } - sentIlms = sentIlms + numIlms - if sentIlms >= totalIlms { + GlobalOperationID += 1 + /* Append Route to batch */ + message.OpList = append(message.OpList, opMsg) + + sentEntries = sentEntries + 1 + if sentEntries >= totalEntries { batchIndex ++ messages = append(messages, message) - ilmsInBatch = 0 + mplsEntriesInBatch = 0 } - ilmsInBatch += numIlms + mplsEntriesInBatch += 1 label++ } t1 := time.Now() - fmt.Printf("%s Total Batches: %d, Ilms: %d, Preparation time: %v\n", - oper.String(), batchIndex, sentIlms, t1.Sub(t0)) + fmt.Printf("%s Total Batches: %d, sentEntries: %d, Preparation time: %v\n", + oper.String(), batchIndex, sentEntries, t1.Sub(t0)) - if (sentIlms > 0) { + if (sentEntries > 0) { var rate float64 - rate = float64(sentIlms)/(t1.Sub(t0).Seconds()) + rate = float64(sentEntries)/(t1.Sub(t0).Seconds()) fmt.Printf("Preparation Rate: %f\n", rate) } @@ -945,7 +948,7 @@ func LabelOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, if int(ackType) != 0 { fibCheck = true } - err = runSlafOpStreamRequest(conn, messages, sentIlms, + err = runSlafOpStreamRequest(conn, messages, sentEntries, fibCheck, pb.SLTableType_SL_MPLS_LABEL_TABLE, username, password) } else { err = runSlafOpRequest(conn, messages, @@ -959,12 +962,12 @@ func LabelOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, t1 = time.Now() - fmt.Printf("%s Total Batches: %d, Ilms: %d, ElapsedTime: %v\n", - oper.String(), batchIndex, sentIlms, t1.Sub(t0)) + fmt.Printf("%s Total Batches: %d, sentEntries: %d, ElapsedTime: %v\n", + oper.String(), batchIndex, sentEntries, t1.Sub(t0)) - if (sentIlms > 0) { + if (sentEntries > 0) { var rate float64 - rate = float64(sentIlms)/(t1.Sub(t0).Seconds()) + rate = float64(sentEntries)/(t1.Sub(t0).Seconds()) fmt.Printf("Programming Rate: %f\n", rate) } } @@ -1040,7 +1043,11 @@ func PGOperation(conn *grpc.ClientConn, oper pb.SLObjectOp, Entry: &pb.SLPathGroup_PathList { PathList: pathList, }, - PgFlags: []pb.SLRouteFlags{pgFlag,}, + } + + /* Flags cannot be set to 0 */ + if pgFlag != 0 { + pathGroup.PgFlags = []pb.SLRouteFlags{pgFlag,} } afObject := &pb.SLAFObject{ @@ -1348,7 +1355,9 @@ func NotifStreamOperation(conn *grpc.ClientConn, notifStreamDuration uint, err = runSlafNotifStreamRequest(conn, notifStreamDuration, messages, username, password) if err != nil { - log.Fatal(err) + if status.Code(err) != codes.Canceled { + log.Fatal(err) + } } t1 = time.Now() diff --git a/grpc/go/src/tutorial/go.mod b/grpc/go/src/tutorial/go.mod index e154314f..5a82a82e 100644 --- a/grpc/go/src/tutorial/go.mod +++ b/grpc/go/src/tutorial/go.mod @@ -1,24 +1,21 @@ module tutorial -go 1.23.0 - -toolchain go1.23.8 +go 1.24.3 require ( gengo v0.0.0-00010101000000-000000000000 github.com/sirupsen/logrus v1.9.0 - google.golang.org/grpc v1.56.3 + google.golang.org/grpc v1.72.2 sl_api v0.0.0-00010101000000-000000000000 util v0.0.0-00010101000000-000000000000 ) require ( - github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/net v0.36.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/net v0.44.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/text v0.29.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/protobuf v1.36.6 // indirect ) replace gengo => ../gengo diff --git a/grpc/go/src/tutorial/go.sum b/grpc/go/src/tutorial/go.sum index d8705d1d..4e48177c 100644 --- a/grpc/go/src/tutorial/go.sum +++ b/grpc/go/src/tutorial/go.sum @@ -1,12 +1,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= @@ -14,22 +18,31 @@ github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/grpc/go/src/tutorial/tutorial b/grpc/go/src/tutorial/tutorial index 9c67dac6..3cee786c 100755 Binary files a/grpc/go/src/tutorial/tutorial and b/grpc/go/src/tutorial/tutorial differ diff --git a/grpc/go/src/tutorial_slaf/README.md b/grpc/go/src/tutorial_slaf/README.md index fd96c217..7b1ac46e 100644 --- a/grpc/go/src/tutorial_slaf/README.md +++ b/grpc/go/src/tutorial_slaf/README.md @@ -95,12 +95,12 @@ First we will showcase the options the tutorial provides, and then show how to b | Argument | Description | | --- | --- | -| mpls | Test MPLS vertical (default false) | -| start_label | Starting label (default 12000) | -| out_label | Out label (default 20000) | -| num_labels | Number of labels (default 1000) | -| num_paths | Number of paths (default 1) | -| max_if_idx | Increment the last index of the interface name for each elsp up to this number (default 0) | +| mpls | Test MPLS vertical (default false) | +| entry_key_label | The starting entry key label (default 12000) | +| remote_label_stack | The starting label added to the remote label stack (default 20000) | +| num_labels | Number of labels (default 1000) | +| num_paths | Number of paths (default 1) | +| max_if_idx | Increment the last index of the interface name (default 0) | ##### PG Testing @@ -125,7 +125,7 @@ First we will showcase the options the tutorial provides, and then show how to b | ack_cadence | Cadence of hw programming responses: SL_RSP_CONTINUOUS(0), SL_RSP_JUST_ONCE(1), SL_RSP_ONCE_EACH(2), SL_RSP_NONE(3) (default ) | | route_oper | Route Operation: Add(1), Update(2), Delete(3) (default 0) | | vrf_reg_oper | VRF registration Operation: Reg(1), Unregister(2), EOF(3) (default 0) | -| route_flag | Control programming of the route/PG to RIB: 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(3), SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH(4) (default 0) | +| route_flag | Control programming of the route/PG to RIB: SL_ROUTE_FLAG_PREFER_OVER_LDP(1), SL_ROUTE_FLAG_DISABLE_LABEL_MERGE(2), SL_ROUTE_FLAG_VIABLE_PATHS_ONLY(3), SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH(4) (default not set) | ##### Get Testing @@ -212,8 +212,8 @@ MPLS Example: $ ./tutorial_slaf -mpls -num_labels 1000 -route_oper 1 -vrf_reg_oper 1 -username username -password password -stream_case -next_hop_ip 11.0.0.0 -auto_inc_nhip -ack_type 1 Deleting 35 labels with unary RPC. Print out any responses and debug messages: $ ./tutorial_slaf -mpls -num_labels 35 -route_oper 3 -vrf_reg_oper 1 -username username -password password -debug - Adding 2 Label where the start label is 25000 and the out label is 26000 and print out the debug messages: - $ ./tutorial_slaf -mpls -num_labels 2 -route_oper 1 -vrf_reg_oper 1 -start_label 25000 -out_label 26000 -username username -password password -debug + Adding 2 Label where the start label is 25000 and the label for label stack is 26000 and print out the debug messages: + $ ./tutorial_slaf -mpls -num_labels 2 -route_oper 1 -vrf_reg_oper 1 -entry_key_label 25000 -remote_label_stack 26000 -username username -password password -debug Path Group Example: For purposes of this tutorial, we showcase how to create pg for ipv4 routes. diff --git a/grpc/go/src/tutorial_slaf/go.mod b/grpc/go/src/tutorial_slaf/go.mod index 27c8ce08..d9ce7d9e 100644 --- a/grpc/go/src/tutorial_slaf/go.mod +++ b/grpc/go/src/tutorial_slaf/go.mod @@ -1,22 +1,21 @@ module tutorial_slaf -go 1.19 +go 1.24.3 require ( gengo v0.0.0-00010101000000-000000000000 github.com/sirupsen/logrus v1.9.0 - google.golang.org/grpc v1.56.3 + google.golang.org/grpc v1.72.2 sl_api_slaf v0.0.0-00010101000000-000000000000 util v0.0.0-00010101000000-000000000000 ) require ( - github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/net v0.44.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/text v0.29.0 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.33.0 // indirect + google.golang.org/protobuf v1.36.6 // indirect ) replace gengo => ../gengo diff --git a/grpc/go/src/tutorial_slaf/go.sum b/grpc/go/src/tutorial_slaf/go.sum index b3bd94c2..4e48177c 100644 --- a/grpc/go/src/tutorial_slaf/go.sum +++ b/grpc/go/src/tutorial_slaf/go.sum @@ -1,11 +1,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= @@ -13,22 +18,31 @@ github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/grpc/go/src/tutorial_slaf/quickstartslaf.go b/grpc/go/src/tutorial_slaf/quickstartslaf.go index 5a546073..f5f0cac5 100644 --- a/grpc/go/src/tutorial_slaf/quickstartslaf.go +++ b/grpc/go/src/tutorial_slaf/quickstartslaf.go @@ -62,7 +62,7 @@ var ( VrfRegOper = flag.Int("vrf_reg_oper", 0, "VRF registration Operation: Reg(1), Unregister(2), EOF(3)") SLRouteFlag = flag.Int("route_flag", 0, - `Control programming of the route/PG to RIB: SL_ROUTE_FLAG_RESERVED(0), SL_ROUTE_FLAG_PREFER_OVER_LDP(1), + `Control programming of the route/PG to RIB: SL_ROUTE_FLAG_PREFER_OVER_LDP(1), SL_ROUTE_FLAG_DISABLE_LABEL_MERGE(2), SL_ROUTE_FLAG_VIABLE_PATHS_ONLY(3), SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH(4)`) /* * For Programming IPv4 routes: @@ -86,12 +86,12 @@ var ( * */ TestMpls = flag.Bool("mpls", false, "Test MPLS vertical") - StartLabel = flag.Uint("start_label", 12000, "Starting label") - OutLabel = flag.Uint("out_label", 20000, "Out label") + EntryKeyLabel = flag.Uint("entry_key_label", 12000, "The starting entry key label") + RemoteLabelStack = flag.Uint("remote_label_stack", 20000, "The starting label added to the remote label stack") NumLabels = flag.Uint("num_labels", 1000, "Number of labels") NumPaths = flag.Uint("num_paths", 1, "Number of paths") MaxIfIdx = flag.Uint("max_if_idx", 0, - "Increment the last index of the interface name for each elsp up to this number") + "Increment the last index of the interface name") /* *For Programming PG: @@ -180,8 +180,8 @@ func testMPLSSlaf(conn *grpc.ClientConn, Username string, Password string) { sl_api_slaf.LabelOperation(conn, pb.SLObjectOp(*RouteOper), pb.SLRouteFlags(*SLRouteFlag), uint32(*AdminDistance), pb.SLRspACKType(*AckType), pb.SLRspACKPermit(*AckPermit), - pb.SLRspAckCadence(*AckCadence), *StartLabel, - *OutLabel, *NumLabels, *NumPaths, + pb.SLRspAckCadence(*AckCadence), *EntryKeyLabel, + *RemoteLabelStack, *NumLabels, *NumPaths, *BatchSize, *NextHopIP, *Interface, *MaxIfIdx, *AutoIncNHIP, *StreamCase, Username, Password) diff --git a/grpc/go/src/tutorial_slaf/tutorial_slaf b/grpc/go/src/tutorial_slaf/tutorial_slaf index 65ff4640..80f20a29 100755 Binary files a/grpc/go/src/tutorial_slaf/tutorial_slaf and b/grpc/go/src/tutorial_slaf/tutorial_slaf differ diff --git a/grpc/protos/sl_af.proto b/grpc/protos/sl_af.proto index e8a17623..916169d3 100644 --- a/grpc/protos/sl_af.proto +++ b/grpc/protos/sl_af.proto @@ -33,9 +33,13 @@ option go_package="github.com/Cisco-service-layer/service-layer-objmodel/grpc/pr // If there are multiple clients intending to program the network // element using this API, the clients initiating a programming or get // RPC MUST pass a gRPC-context metadata identifying themselves. +// Metadata supports the following key-value pairs: +// "iosxr-slapi-clientid" : +// "iosxr-slapi-clientname": // The client application MUST set the gRPC metadata key -// named "iosxr-slapi-clientid" with a numeric string holding a -// number between 0 and 65535. +// "iosxr-slapi-clientid" which is mandatory. The optional gRPC metadata key +// "iosxr-slapi-clientname" may be specified to enable operational visibility. // // Each client application MUST use a unique client ID identifying itself // that is separate from other clients programming the server. If there @@ -45,6 +49,7 @@ option go_package="github.com/Cisco-service-layer/service-layer-objmodel/grpc/pr // If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes // a default client id of 0 for that RPC invocation and associates // objects programmed by that RPC with the default client id of 0. +// "iosxr-slapi-clientname" gRPC metadata is optional. // // The co-ordination of the ClientId amongst these instances is outside // the scope of this specification. @@ -152,8 +157,10 @@ service SLAF { rpc SLAFOp(SLAFMsg) returns (SLAFMsgRsp); // - // Stream object operations + // Stream object operations. // + // The client MUST keep it's receive and send side of the stream up as long as there is + // interest in the responses. // // SLAFMsg.Oper = SL_OBJOP_ADD: // Object add. Fails if the objects already exists and is not stale. @@ -180,7 +187,7 @@ service SLAF { // notifications are scoped to the RPC. On a RPC disconnection, // the client should re-establish the RPC and re-program // the notification requests. - // The caller MUST keep the RPC up as long as there is + // The client MUST keep it's receive and send side of the stream up as long as there is // interest in the notifications. // // For route redistribution, this call is used to get a stream @@ -264,6 +271,9 @@ message SLAFVrfRegGetMsgRsp { SLErrorStatus ErrStatus = 1; // Client that performed this registration + // Note: If the client id is 0, it is considered to be default value + // as per gRPC proto3 encoding and will not appear in the serialized + // response message uint64 ClientID = 2; // If ErrStatus is SL_SUCCESS, Table and Entries @@ -275,73 +285,6 @@ message SLAFVrfRegGetMsgRsp { repeated SLVrfReg Entries = 4; } -// Path Group definition. -message SLPathGroup { - message SLPath { - // Primary path - SLRoutePath Path = 1; - } - - // A list of SLPathList - message SLPathList { - repeated SLPath Paths = 1; - } - - // Path Group ID - SLObjectId PathGroupId = 1; - - // Administrative distance of the Path Group. [0-255]. - // RIB uses this field to break the tie when multiple - // sources install the same Path Group. - // Lower distance is preferred over higher distance. - // The per path group object admin distance overrides the default admin - // distance set at VRF registration. see SLVrfReg. - uint32 AdminDistance = 2; - - // Description of paths in the PathGroup. - // Oneof is used here for future extensibility. - oneof entry { - // Path List - SLPathList PathList = 3; - } - - // Flags to control programming of the PathGroup to Routing - // Information Base. See SLRouteFlags for flag enumerations. - // Supported values are: - // - // 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 - // load balance group when path viability changes and - // expects the client to take corrective action. - // - // - If the flag is set, the network element only installs viable - // paths from the PathList in the PathGroup's load balance group. - // The Network element also automatically updates the PathGroup's - // load balance group when path viability changes. - // - // SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH. - // - If this flag is not set, routes and MPLS entries referencing - // this PathGroup are considered active if they are preferred - // 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 - // PathGroup changes. - // - // - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also - // be set. The routes and MPLS entries referencing this PathGroup are - // considered active if they are preferred based - // 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. - // - // Others - Reserved. - repeated SLRouteFlags PgFlags = 4; -} // Key for a MPLS label entry message SLMplsEntryKey { @@ -367,7 +310,7 @@ message SLMplsEntry { // 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. + // Specifying more than one path is allowed for ECMP/UCMP/FRR cases. repeated SLRoutePath PathList = 3; // Flags to control programming of the MPLS Entry to Routing @@ -431,7 +374,7 @@ message SLAFIPRoute { SLRouteCommon RouteCommon = 2; // List of route paths for this route. - // Specifying more than one path is allowed for ECMP/UCMP cases. + // Specifying more than one path is allowed for ECMP/UCMP/FRR cases. repeated SLRoutePath PathList = 3; } @@ -600,6 +543,9 @@ message SLAFGetMsgRsp { // the Client ID field can be used by the client to determine // if the object was previously programmed by this client or some // other client. + // Note: If the client id is 0, it is considered to be default value + // as per gRPC proto3 encoding and will not appear in the serialized + // response message uint64 ClientID = 3; // Returned entries as requested in the Get operation. diff --git a/grpc/protos/sl_common_types.proto b/grpc/protos/sl_common_types.proto index f778bd3b..53983b85 100644 --- a/grpc/protos/sl_common_types.proto +++ b/grpc/protos/sl_common_types.proto @@ -66,6 +66,13 @@ message SLErrorStatus { // Ack type not supported error. 0xe SL_ACK_TYPE_NOT_SUPPORTED = 0xe; + // No such client. + // The specified client-id does not exist. 0xf + SL_NO_SUCH_CLIENT = 0xf; + // No entries found. + // No entries are present matching the input parameters. 0x10 + SL_NO_ENTRIES_FOUND = 0x10; + // !!! Error codes for Client INIT operations. // Offset for INIT errors. 0x500 @@ -141,6 +148,9 @@ message SLErrorStatus { // IPv6 routes in VRF were played to Routing Information Base // on a process restart or connection re-establishment. 0x2013 SL_VRF_V6_ROUTE_REPLAY_OK = 0x2013; + // Client Name specified in message does not match current + // name used for this client. 0x2014 + SL_VRF_TABLE_CLIENT_NAME_MISMATCH = 0x2014; // !!! Error codes for Route operations. @@ -229,6 +239,8 @@ message SLErrorStatus { SL_ROUTE_INVALID_FLAGS = 0x4014; // Invalid route priority. 0x4015 SL_ROUTE_INVALID_PRIORITY = 0x4015; + // Invalid route metric. 0x4016 + SL_ROUTE_INVALID_METRIC = 0x4016; // !!! Error codes for route path objects. @@ -293,6 +305,26 @@ message SLErrorStatus { // Path Encap type attribute does not match specified encapsulation. // 0x501c SL_PATH_ENCAP_TYPE_MISMATCH = 0x501c; + // Path list mixes incompatible bitmap-FRR and index-FRR evidence. + // 0x501d + SL_PATH_INVALID_PATH_LIST_MODEL = 0x501d; + // Duplicate path_index specified in the path list of a route. + // 0x501e + SL_PATH_PRIMARY_INDEX_REPEATED = 0x501e; + // A path index value exceeds the maximum supported path-id range. + // 0x501f + SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE = 0x501f; + // A backup index value exceeds the maximum supported path-id range. + // 0x5020 + SL_PATH_BACKUP_INDEX_OUT_OF_RANGE = 0x5020; + // A path with pure backup flag set is not referenced by as a + // backup by any other path in the same route. + // 0x5021 + SL_PATH_BACKUP_FLAGGED_UNREFERENCED = 0x5021; + // A backup index in a path's backup index list equals the path's + // own path_index (self-reference). + // 0x5022 + SL_PATH_BACKUP_INDEX_SELF_REFERENCE = 0x5022; // !!! Error codes for BFD opertations. @@ -966,6 +998,142 @@ message SLErrorStatus { // Request message bigger than supported size. 0x1b008 SL_SRTE_POLICY_EXCEED_MSG_SIZE = 0x1b008; + // !!! Error codes for Performance Measurement objects. + + // Performance Measurement session error + SL_PERF_MEAS_START_OFFSET = 0x1c000; + // Performance Measurement session creation failure + SL_PERF_MEAS_SESSION_CREATE_FAILED = 0x1c001; + // Performance Measurement session deletion failure + SL_PERF_MEAS_SESSION_DELETE_FAILED = 0x1c002; + // Performance Measurement session get stats failure + SL_PERF_MEAS_SESSION_GET_STATS_FAILED = 0x1c003; + // Performance Measurement session get info failure + SL_PERF_MEAS_SESSION_GET_INFO_FAILED = 0x1c004; + // Request sent is not a valid request type + SL_PERF_MEAS_INVALID_REQUEST = 0x1c005; + // Performance Measurement session flush Max Rtt failure + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED = 0x1c006; + // Performance Measurement session creation failed due to invalid source IP + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP = 0x1c007; + // Performance Measurement session creation failed due to invalid destination IP + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP = 0x1c008; + // Performance Measurement session creation failed due to invalid nexthop IP + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP = 0x1c009; + // Performance Measurement session creation failed due to invalid label stack + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK = 0x1c00a; + // Performance Measurement session creation failed due to invalid probe interval + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL = 0x1c00b; + // Performance Measurement session creation failed due to invalid timeout count + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT = 0x1c00c; + // Performance Measurement session creation failed due to invalid DSCP + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP = 0x1c00d; + // Performance Measurement session creation failed due to invalid interface + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE = 0x1c00e; + // Performance Measurement session creation failed to send request to perf_meas process + SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED = 0x1c00f; + // Performance Measurement session creation failed due to internal error + SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR = 0x1c010; + // Performance Measurement session deletion failed to send request to perf_meas process + SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED = 0x1c011; + // Performance Measurement session deletion failed due to internal error + SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR = 0x1c012; + // Performance Measurement session get stats failed to send request to perf_meas process + SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED = 0x1c013; + // Performance Measurement session get stats failed due to internal error + SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR = 0x1c014; + // Performance Measurement session get info failed to send request to perf_meas process + SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED = 0x1c015; + // Performance Measurement session get info failed due to internal error + SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR = 0x1c016; + // Performance Measurement flush max RTT failed to send request to perf_meas process + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED = 0x1c017; + // Performance Measurement flush max RTT failed due to internal error + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR = 0x1c018; + // Performance Measurement session not found for delete operation. 0x1c019 + SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND = 0x1c019; + // Performance Measurement session not found for get stats operation. 0x1c01a + SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND = 0x1c01a; + // Performance Measurement session not found for get info operation. 0x1c01b + SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND = 0x1c01b; + // Performance Measurement session not found for flush operation. 0x1c01c + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND = 0x1c01c; + // Performance Measurement session creation failed due to invalid session name. 0x1c01d + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME = 0x1c01d; + // PM notification server not initialized + SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED = 0x1c01e; + // PM notification client not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND = 0x1c01f; + // PM notification client not connected + SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED = 0x1c020; + // PM message allocation failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED = 0x1c021; + // PM Parameter validation errors (returned by PM during session create) + // PM rejected: session name invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID = 0x1c022; + // PM rejected: probe interval invalid (e.g., CPU session < 50ms) + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID = 0x1c023; + // PM rejected: timeout count invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID = 0x1c024; + // PM rejected: TOS/DSCP value invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID = 0x1c025; + // PM rejected: number of labels invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID = 0x1c026; + // PM rejected: source address not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND = 0x1c027; + // PM rejected: destination address not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND = 0x1c028; + // PM rejected: nexthop not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND = 0x1c029; + // PM rejected: source address invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID = 0x1c02a; + // PM rejected: destination address invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID = 0x1c02b; + // PM rejected: nexthop address invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID = 0x1c02c; + // PM rejected: address type mismatch (src/dst/nexthop not same AF) + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH = 0x1c02d; + // PM rejected: output interface name invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID = 0x1c02e; + // PM Message validation errors + // PM rejected: session name missing in message + SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING = 0x1c02f; + // PM rejected: liveness state missing in message + SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING = 0x1c030; + // PM Server-level errors + // PM internal: system in inconsistent state + SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT = 0x1c031; + // PM Session create notification errors + // PM create failed: invalid parameters + SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS = 0x1c032; + // PM create failed: interface handle (IFH) lookup failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED = 0x1c033; + // PM create failed: MAC address invalid + SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID = 0x1c034; + // PM create failed: delay-measurement DR create failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED = 0x1c035; + // PM create failed: delay-measurement DR update failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED = 0x1c036; + // PM create failed: no memory for DR session + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM = 0x1c037; + // PM create failed: DR session insert failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED = 0x1c038; + // PM create failed: NPU offload failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED = 0x1c039; + // PM create failed: CPU session create failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED = 0x1c03a; + // PM create failed: session setup failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED = 0x1c03b; + // PM Session get/flush notification errors + // PM get/flush failed: interface not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND = 0x1c03c; + // PM get/flush failed: SCB (session control block) not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND = 0x1c03d; + // PM get/flush failed: liveness session not found + SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND = 0x1c03e; + // PM get/flush failed: counter update failed + SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED = 0x1c03f; + // !!! Error codes Reserved for internal errors. // Offset for Internal errors. 0x100000 @@ -1146,10 +1314,16 @@ enum SLRspACKType { // 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. + // additional response of type SL_FIB_INUSE_SUCCESS or SL_FIB_INUSE_FAILED. + // SL_FIB_INUSE_SUCCESS indicates that an object has been successfully + // programmed in FIB and is being actively used by one or more forwarding + // chains. + // SL_FIB_INUSE_FAILED indicates that there was a failure in programming at + // least one of the forwarding chains this object is part of. + // *Note: SL_FIB_INUSE_FAILED is a terminal state for an object; the object + // has to be removed and reprogrammed to recover from the + // SL_FIB_INUSE_FAILED state. + // RIB_FIB_INUSE_ACK is supported only for object of type SLPathGroup. RIB_FIB_INUSE_ACK = 2; } @@ -1174,6 +1348,11 @@ enum SLAFFibStatus { // and is in-use by at least one referencing object that is also // programmed in hardware. SL_FIB_INUSE_SUCCESS = 4; + + // The forwarding chain using this object is not active in hardware + // as at least one referencing object failed to be + // programmed in hardware. + SL_FIB_INUSE_FAILED = 5; } @@ -1203,6 +1382,9 @@ enum SLRspACKPermit { // Permits SL_FIB_INUSE_SUCCESS to be relayed to client SL_PERMIT_FIB_INUSE_SUCCESS = 4; + + // Permits SL_FIB_INUSE_FAILED to be relayed to client + SL_PERMIT_FIB_INUSE_FAILED = 5; } // SLRspAckCadence controls the cadence of hardware programming responses. diff --git a/grpc/protos/sl_global.proto b/grpc/protos/sl_global.proto index a1ac6cc8..28ac70f9 100644 --- a/grpc/protos/sl_global.proto +++ b/grpc/protos/sl_global.proto @@ -41,6 +41,7 @@ service SLGlobal { rpc SLGlobalInitNotif(SLInitMsg) returns (stream SLGlobalNotif); // Get platform specific globals + // Used to retrieve platform-specific capabilities and configuration limits. rpc SLGlobalsGet(SLGlobalsGetMsg) returns (SLGlobalsGetMsgRsp); //@} } @@ -148,11 +149,25 @@ message SLGlobalNotif { } // Globals query message. +// This message is sent by clients to query the router for platform-specific capabilities and configuration limits. +// +// Client should use this message at the beginning of a Service Layer API session to determine platform capabilities +// before configuring routes, interfaces, or other network elements to understand system limitations. +// Helpful for cross-platform applications that need to adapt to different router hardware capabilities. message SLGlobalsGetMsg { } // Platform specific globals Response. +// Retrieved values should be used by client to program requests ensuring operation within the router's constraints. +// Usage: +// Inspect ErrStatus first to verify the request succeeded. +// Use the various maximum values (limits) to validate client configurations before sending them to the router. +// Key configuration limits include: +// - VRF name length constraints (MaxVrfNameLength). +// - Path limitations for routes (MaxPathsPerEntry, MaxPrimaryPathPerEntry, MaxBackupPathPerEntry). +// - MPLS label stack depth (MaxMplsLabelsPerPath). +// - Message batching capabilities (MaxVrfRegPerMsg, MaxAFOpsPerMsg). message SLGlobalsGetMsgRsp { // Corresponding error code SLErrorStatus ErrStatus = 1; diff --git a/grpc/protos/sl_perf_meas.proto b/grpc/protos/sl_perf_meas.proto new file mode 100644 index 00000000..849a7d34 --- /dev/null +++ b/grpc/protos/sl_perf_meas.proto @@ -0,0 +1,258 @@ +// @file +// @brief Server RPC proto file for Performance monitoring probing. +// Declares an RPC that gets performance monitoring details. +// ---------------------------------------------------------------- +// Copyright (c) 2026 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- + +syntax = "proto3"; +package service_layer; + +import "sl_common_types.proto"; +option go_package="github.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer"; + +//@defgroup Performance +//@brief Performance monitoring service definitions. +//Defines the RPC for programming performance-measurement sessions and +//receiving notifications for those sessions. +//@{ +service SLPerfMeasOper { + //@addtogroup Performance + //@{ + // + // SLPerfMeasNotifStream is a single bidirectional stream that carries + // BOTH programming requests (create / delete / get-stats / get-info / + // flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + // asynchronous notifications (per-session UP/DOWN state changes, + // operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + // + // Lifecycle / ownership contract: + // + // 1. Session ownership. + // A session created on a stream is owned by that stream. A given + // server instance allows only one active SLPerfMeasNotifStream + // client at a time; a second client connecting will be rejected. + // Sessions are not shared across streams. + // + // 2. Subscribe-before-program. + // Clients SHOULD open the stream before issuing any create + // request, so that no UP/DOWN notifications are lost between + // create and the first read on the stream. + // + // 3. Stream disconnect (client side). + // On client disconnect or transport failure, the server sweeps + // all sessions owned by that stream. On reconnect the client + // MUST recreate any sessions it needs; nothing is preserved + // across the disconnect. + // + // 4. PM (perf_meas) process disconnect. + // If the underlying perf_meas process disconnects from the + // server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + // session state is retained; when PM reconnects, the server + // replays all sessions to PM and resumes per-session UP/DOWN + // notifications. No client action is required. + // + // 5. Server (emsd) restart / failover. + // Sessions are NOT preserved across a server restart or HA + // switchover. After the gRPC stream re-establishes, the client + // MUST treat all previously created sessions as gone and + // recreate them. + // + // 6. Reconciliation. + // On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + // wait for per-session UP notifications (no recreate needed). + // On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + // sessions have been removed; the client MUST create a fresh + // set of sessions (no replay/UP notifications will follow). + // + rpc SLPerfMeasNotifStream(stream SLPerfMeasReqMsg) returns (stream SLPerfMeasRespMsg); + + //@} +} + +// Message type for request and response +enum SLPerfMeasMsgType { + // Reserved message type + SL_PERF_MEAS_MSG_RESERVED = 0; + + // Request: Create a new session + // Response: Perf session creation success + SL_PERF_MEAS_CREATE_SESSION = 1; + + // Request: Delete an existing session + // Response: Perf session deletion success + SL_PERF_MEAS_DELETE_SESSION = 2; + + // Request: Get stats about a created session + // Response: Perf session get stats success + SL_PERF_MEAS_GET_STATS = 3; + + // Request: Get info about a created session + // Response: Perf session get info success + SL_PERF_MEAS_GET_INFO = 4; + + // Request: Flush MaxRtt from server + // Response: Perf Session flush MaxRtt success + SL_PERF_MEAS_FLUSH_MAX_RTT = 5; +} + +// State (UP/DOWN) notification for session +enum SLPerfMeasSessionState { + // Reserved message type + SL_PERF_MEAS_STATE_RESERVED = 0; + + // Perf session went down + SL_PERF_MEAS_SESSION_DOWN = 1; + + // Perf session went up + SL_PERF_MEAS_SESSION_UP = 2; + + // All perf session down (connection to perf_meas process down) + SL_PERF_MEAS_SESSION_ALL_DOWN = 3; + + // All perf session deleted by perf_meas process + SL_PERF_MEAS_SESSION_ALL_DELETED = 4; +} + +// Defines the parameters for a performance measurement session +// All fields must be explicitly populated by the client, as no default values are assumed +// An error response will be sent if any parameter is missing +message SLPerfMeasMonitor { + // Perf Session Name + optional string PerfSessionName = 1; + + // Source IP address + SLIpAddress Source = 2; + + // Destination IP address + SLIpAddress Destination = 3; + + // MPLS Label Stack. Must not be empty. + repeated uint32 LabelStack = 4; + + // Probe interval in microseconds + optional uint64 ProbeInterval = 5; + + // Total packet loss count before declaring session down + optional uint32 TimeoutCount = 6; + + // Interface info. + SLInterface InterfaceInfo = 7; + + // DSCP + optional uint32 DscpValue = 8; + + // Next Hop IP + SLIpAddress NextHop = 9; +} + +// Performance measurement statistics +message SLPerfMeasStats { + // Current state of the session + SLPerfMeasSessionState State = 1; + + // Number of probes sent + uint64 ProbesSent = 2; + + // Number of responses received + uint64 ProbesReceived = 3; + + // Minimum RTT in nanoseconds + uint64 MinRtt = 4; + + // Maximum RTT in nanoseconds + uint64 MaxRtt = 5; + + // Avg RTT in nanoseconds + uint64 AvgRtt = 6; +} + +// Message entry sent from client +message SLPerfMeasReqMsgEntry { + // OperationId. This can be used to correlate replies with requests. + uint64 OperationId = 1; + + // The request type sent by client + SLPerfMeasMsgType MsgType = 2; + + oneof Value { + // For get, flush Max RTT and delete only session name is required + string PerfSessionName = 3; + + // Parameter details for session creation + SLPerfMeasMonitor Parameters = 4; + } +} + +// Message request sent from client +message SLPerfMeasReqMsg { + // Request entries + repeated SLPerfMeasReqMsgEntry Entries = 1; +} + +// Performance Measurement Notification error response message entry +message SLPerfMeasRespErrMsgEntry { + // OperationId for correlation + uint64 OperationId = 1; + + // Error status + SLErrorStatus ErrStatus = 2; + + // Perf Session Name + string PerfSessionName = 3; +} + +// Performance Measurement Create, Delete, Get Info/Stats response message +message SLPerfMeasRespDataMsgEntry { + // Type of response + SLPerfMeasMsgType MsgType = 1; + + // Perf Session Name + string PerfSessionName = 2; + + // The field is used to reflect the original OperationId set by the client + uint64 OperationId = 3; + + // For get info/stats msg type + oneof Data { + // Stats of the session + SLPerfMeasStats Stats = 4; + + // Info of the session + SLPerfMeasMonitor Info = 5; + } +} + +// Performance Measurement UP/DOWN state change notification message +message SLPerfMeasRespStateMsgEntry { + // Type of response + SLPerfMeasSessionState State = 1; + + // Perf Session Name. Unset for global states + // (SL_PERF_MEAS_SESSION_ALL_DOWN, SL_PERF_MEAS_SESSION_ALL_DELETED). + optional string PerfSessionName = 2; +} + +// Performance Measurement response message +message SLPerfMeasRespMsgEntry { + oneof Event { + // This field carries error info, if any error occurs + // during request processing + SLPerfMeasRespErrMsgEntry Error = 1; + + // This field carries the session related details + SLPerfMeasRespDataMsgEntry SessionDetail = 2; + + // This field notifies state changes for PM Probe sessions + SLPerfMeasRespStateMsgEntry SessionState = 3; + } +} + +// Message response sent from server +message SLPerfMeasRespMsg { + // Response entries + repeated SLPerfMeasRespMsgEntry Entries = 1; +} + +//@} diff --git a/grpc/protos/sl_route_common.proto b/grpc/protos/sl_route_common.proto index 9f26c2b8..796dfa7a 100644 --- a/grpc/protos/sl_route_common.proto +++ b/grpc/protos/sl_route_common.proto @@ -5,7 +5,7 @@ // default route status for a route object. // // ---------------------------------------------------------------- -// Copyright (c) 2016, 2023, 2024 by Cisco Systems, Inc. +// Copyright (c) 2016, 2023, 2024, 2026 by Cisco Systems, Inc. // All rights reserved. // ----------------------------------------------------------------- // @@ -205,7 +205,7 @@ enum SLNotifType { } enum SLRouteFlags { - // Flags to control programming of the route and Path Group to + // Flags to control programming of the route and Path Group to // Routing Information Base. // Each flag is indicated as a bit field. Supported values are: @@ -228,6 +228,16 @@ enum SLRouteFlags { // See text in SLRoutecommon/PathGroup for more details. SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH = 4; + // This flag is applicable only to SLPathGroup object-type and defines a pure backup + // path-group for FRR applications. + SL_ROUTE_FLAG_FRR_PATHGROUP = 5; + + // Setting this flag for an object enables: + // - Lossless updates and make-before-break (MBB) behavior. + // - HW-ACK tracking for the entire forwarding chain. + // This flag is applicable to SLAFIPRoute and SLMplsEntry objects. + SL_ROUTE_FLAG_LOSSLESS_UPDATE = 6; + // All others are reserved. } @@ -240,6 +250,9 @@ enum SLPathFlags { // Enables hardware optimization for single path VxLAN tunnels. SL_PATH_FLAG_SINGLE_PATH_OPT = 1; + + // This path is a pure backup that's protecting another path + SL_PATH_FLAG_BACKUP = 3; } // Common Get Notifications message @@ -401,6 +414,7 @@ message SLRouteCommon { repeated SLRouteFlags RouteFlags = 7; // Route Metric. + // Range [0-4294967294] // The metric is typically based on information like load, hop count, // MTU, reliability of the path, etc. // When routes from different protocols share the same admin distance, @@ -451,8 +465,11 @@ message SLRoutePath { SLIpAddress NexthopAddress = 1; // Outgoing interface name for the path. + // When this field is not set, the next hop is considered non-connected. + // See SLPathGroup.UnderlayLevel for the connected-path requirement when + // SL_UNDERLAY_LEVEL_NO_FLATTENING is used. // For ENCAP_VXLAN, this field is not supported and will be ignored. - // The client should listen to interface state change API for create/delete + // The client should listen to interface state change API for create/delete // and reprogram the route or PG. SLInterface NexthopInterface = 2; @@ -462,6 +479,10 @@ message SLRoutePath { // route, MPLS label or PathGroup must have a value of 0. For // unequal cost load balancing, all paths must have non-zero value // otherwise system defaults to equal cost load balancing. + // Alternatively for unequal cost load balancing, paths that need to + // take more load can be repeated as many times within the list, but in such + // case the LoadMetric is recommended to be set to 1 for all paths in the + // PathList for operational simplicity. uint32 LoadMetric = 3; // Path VRF name. This field is optional and if not specified, VRF of @@ -560,8 +581,118 @@ message SLRoutePath { // Path group reference key SLPathGroupRefKey PathGroupKey = 15; } + // BackupIndex identifies the backup SLRoutePath object that is protecting this + // SLRoutePath object. This object then becomes the "primary" path and the SLRoutePath + // at index identified by BackupIndex is the "backup" to this SLRoutePath. + // + // BackupIndex is the position of the backup SLRoutePath object in the parent PathList that this object + // is also part of. + // The PathList indices start with 1 i.e. the first element is at index 1 and not 0 (0 is reserved). + // + // BackupIndex is supported only when the following objects reference the PathList + // SLPathGroup + // SLMplsEntry + // SLAFIPRoute + // + // Backup SLRoutePath referenced through BackupIndex object MUST be either a + // a) pure backup path with SL_PATH_FLAG_BACKUP set + // b) pure backup PathGroup with SL_ROUTE_FLAG_FRR_PATHGROUP set + // c) ECMP backup path (SL_PATH_FLAG_BACKUP is not set) + repeated uint32 BackupIndex = 16; + + // MinResolutionLength is an optional filed. + // When set, this field dictates the minimum prefix length required for next hop resolution. + // For example, if this field is set to 24, only /24 and larger prefixes would be considered. + uint32 MinResolutionLength = 17; +} + +enum SLUnderlayLevels { + // Underlay Levels. + + // NHG placement is decided by the system. + SL_UNDERLAY_LEVEL_DEFAULT = 0; + + // NHG will be programmed at a different stage to prevent flattening. + SL_UNDERLAY_LEVEL_NO_FLATTENING = 1; } +// Path Group definition. +message SLPathGroup { + message SLPath { + SLRoutePath Path = 1; + } + + // A list of SLPathList + message SLPathList { + repeated SLPath Paths = 1; + } + + // Path Group ID + SLObjectId PathGroupId = 1; + + // Administrative distance of the Path Group. [0-255]. + // RIB uses this field to break the tie when multiple + // sources install the same Path Group. + // Lower distance is preferred over higher distance. + // The per path group object admin distance overrides the default admin + // distance set at VRF registration. see SLVrfReg. + uint32 AdminDistance = 2; + + // Description of paths in the PathGroup. + // Oneof is used here for future extensibility. + oneof entry { + // Path List + // Specifying more than one path is allowed for ECMP/UCMP/FRR cases. + SLPathList PathList = 3; + } + + // Flags to control programming of the PathGroup to Routing + // Information Base. See SLRouteFlags for flag enumerations. + // Supported values are: + // + // 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 + // load balance group when path viability changes and + // expects the client to take corrective action. + // + // - If the flag is set, the network element only installs viable + // paths from the PathList in the PathGroup's load balance group. + // The Network element also automatically updates the PathGroup's + // load balance group when path viability changes. + // + // SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH. + // - If this flag is not set, routes and MPLS entries referencing + // this PathGroup are considered active if they are preferred + // 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 + // PathGroup changes. + // + // - If this flag is set, SL_ROUTE_FLAG_VIABLE_PATHS_ONLY must also + // be set. The routes and MPLS entries referencing this PathGroup are + // considered active if they are preferred based + // 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. + // SL_ROUTE_FLAG_FRR_PATHGROUP + // - If this flag is set, this PathGroup object provides backup path to one or more path/pathgroups. + // PathGroup with this flag set will be considered as pure backup. + // + // Others - Reserved. + repeated SLRouteFlags PgFlags = 4; + + // SLUnderlayLevels indicates the lookup stage at which the path group + // is programmed. This is relevant only when hierarchical lookup is required. + // If underlay level is set to SL_UNDERLAY_LEVEL_NO_FLATTENING, all paths + // in the PathList must be connected next hops (NexthopInterface must be set). + // This is an optional field. + SLUnderlayLevels UnderlayLevel = 5; +} // IP Route Prefix and Prefix Length message SLRoutePrefix { // IPv4 or IPv6 address diff --git a/grpc/protos/sl_srte_policy.proto b/grpc/protos/sl_srte_policy.proto index 752e908f..021ad767 100644 --- a/grpc/protos/sl_srte_policy.proto +++ b/grpc/protos/sl_srte_policy.proto @@ -242,6 +242,10 @@ message SLSrPolicyAttributes { // vendor/implementation specific functionality per policy without requiring // explicit support by controller. uint32 profile_id = 6; + + // Attributes specific to SRv6 policies. + // Request will be rejected if srv6_attrs is set for non-SRv6 dataplane. + SLSrSrv6PolicyAttributes srv6_attrs = 7; } // SR Candidate Path in the context of an SR Policy, as defined in @@ -333,8 +337,10 @@ message SLSrConstraints { // SRv6 Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2). message SLSrSrv6BindingSID { oneof type { - // Will be enabled in future - //SLSRv6SIDInfo explicit = 1; + // SRv6 explicit Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2.3) + SLSRv6SIDInfo explicit = 1; + + // SRv6 dynamic Binding SID (https://www.rfc-editor.org/rfc/rfc9256.html#section-6.2.1) SLSrSrv6DynamicBindingSID dynamic = 2; } } @@ -352,4 +358,12 @@ message SLSrSrv6DynamicBindingSID { uint32 srv6_endpoint_behavior = 1; } +// SRv6 policy attributes +message SLSrSrv6PolicyAttributes { + // When the final segment in a segment list is a node SID, it is suppressed + // by default unless this behavior is changed using global configuration. + // Set this to true to force installation of the final node SID. + bool install_final_node_sid = 1; +} + //@} diff --git a/grpc/protos/sl_version.proto b/grpc/protos/sl_version.proto index e49f9853..d69a5bf4 100644 --- a/grpc/protos/sl_version.proto +++ b/grpc/protos/sl_version.proto @@ -24,7 +24,7 @@ enum SLVersion { option allow_alias = true; SL_VERSION_UNUSED = 0; SL_MAJOR_VERSION = 0; - SL_MINOR_VERSION = 11; + SL_MINOR_VERSION = 12; SL_SUB_VERSION = 0; } diff --git a/grpc/python/requirements.txt b/grpc/python/requirements.txt index 17a5c0f1..0bab601c 100644 --- a/grpc/python/requirements.txt +++ b/grpc/python/requirements.txt @@ -1,4 +1,4 @@ -grpcio==1.60.0 -grpcio-tools==1.60.0 -protobuf==4.25.1 -pytest==6.2.5 +grpcio==1.70.0 +grpcio-tools==1.70.0 +protobuf==5.29.5 +pytest==8.3.5 diff --git a/grpc/python/src/genpy/BUILD.bazel b/grpc/python/src/genpy/BUILD.bazel new file mode 100644 index 00000000..7f05ff7b --- /dev/null +++ b/grpc/python/src/genpy/BUILD.bazel @@ -0,0 +1,23 @@ +# Copyright (c) 2025 by Cisco Systems, Inc. +# All rights reserved. + +""" +Service Layer Python Protobuf Bindings + +Generated Python code from Service Layer proto files. +Exported as raw source files for consumption by XR build system. +""" + +# Export all individual .py files for direct consumption +exports_files( + glob(["*.py"]), + visibility = ["//visibility:public"], +) + +# Export generated Python source files as a filegroup (for convenience) +filegroup( + name = "genpy_srcs", + srcs = glob(["*.py"]), + visibility = ["//visibility:public"], +) + diff --git a/grpc/python/src/genpy/sl_af_pb2.py b/grpc/python/src/genpy/sl_af_pb2.py index 3553b4fe..6cacbf28 100644 --- a/grpc/python/src/genpy/sl_af_pb2.py +++ b/grpc/python/src/genpy/sl_af_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_af.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_af.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,13 +26,13 @@ from . import sl_route_common_pb2 as sl__route__common__pb2 -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\"\xe5\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\x12\x31\n\x08Priority\x18\x05 \x01(\x0e\x32\x1f.service_layer.SLUpdatePriority\"\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') +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\"\x1f\n\x0eSLMplsEntryKey\x12\r\n\x05Label\x18\x01 \x01(\r\"\xe5\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\x12\x31\n\x08Priority\x18\x05 \x01(\x0e\x32\x1f.service_layer.SLUpdatePriority\"\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) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_af_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLAFVRFREG']._serialized_start=76 _globals['_SLAFVRFREG']._serialized_end=172 @@ -36,66 +46,60 @@ _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=1320 - _globals['_SLAFIPROUTE']._serialized_start=1323 - _globals['_SLAFIPROUTE']._serialized_end=1486 - _globals['_SLAFOBJECT']._serialized_start=1489 - _globals['_SLAFOBJECT']._serialized_end=1655 - _globals['_SLAFOPMSG']._serialized_start=1658 - _globals['_SLAFOPMSG']._serialized_end=1884 - _globals['_SLAFCLIENTIDLIST']._serialized_start=1886 - _globals['_SLAFCLIENTIDLIST']._serialized_end=1926 - _globals['_SLTABLETYPELIST']._serialized_start=1928 - _globals['_SLTABLETYPELIST']._serialized_end=1988 - _globals['_SLAFOBJECTKEY']._serialized_start=1991 - _globals['_SLAFOBJECTKEY']._serialized_end=2170 - _globals['_SLAFGETMATCH']._serialized_start=2172 - _globals['_SLAFGETMATCH']._serialized_end=2288 - _globals['_SLAFGETMATCHLIST']._serialized_start=2290 - _globals['_SLAFGETMATCHLIST']._serialized_end=2352 - _globals['_SLAFGETMSG']._serialized_start=2355 - _globals['_SLAFGETMSG']._serialized_end=2594 - _globals['_SLAFGETMSGRSPENTRY']._serialized_start=2596 - _globals['_SLAFGETMSGRSPENTRY']._serialized_end=2708 - _globals['_SLAFGETMSGRSP']._serialized_start=2711 - _globals['_SLAFGETMSGRSP']._serialized_end=2861 - _globals['_SLAFMSG']._serialized_start=2863 - _globals['_SLAFMSG']._serialized_end=2972 - _globals['_SLAFRES']._serialized_start=2975 - _globals['_SLAFRES']._serialized_end=3164 - _globals['_SLAFMSGRSP']._serialized_start=3166 - _globals['_SLAFMSGRSP']._serialized_end=3236 - _globals['_SLAFREDISTREGMSG']._serialized_start=3238 - _globals['_SLAFREDISTREGMSG']._serialized_end=3338 - _globals['_SLAFNEXTHOPREGKEY']._serialized_start=3341 - _globals['_SLAFNEXTHOPREGKEY']._serialized_end=3564 - _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_start=3428 - _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_end=3550 - _globals['_SLAFNEXTHOPREGMSG']._serialized_start=3566 - _globals['_SLAFNEXTHOPREGMSG']._serialized_end=3639 - _globals['_SLAFNOTIFREGREQ']._serialized_start=3642 - _globals['_SLAFNOTIFREGREQ']._serialized_end=3801 - _globals['_SLAFNOTIFREQ']._serialized_start=3803 - _globals['_SLAFNOTIFREQ']._serialized_end=3924 - _globals['_SLAFNOTIFRSP']._serialized_start=3926 - _globals['_SLAFNOTIFRSP']._serialized_end=4041 - _globals['_SLNEXTHOP']._serialized_start=4044 - _globals['_SLNEXTHOP']._serialized_end=4285 - _globals['_SLAFNOTIF']._serialized_start=4288 - _globals['_SLAFNOTIF']._serialized_end=4643 - _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_start=4575 - _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_end=4634 - _globals['_SLAFNOTIFMSG']._serialized_start=4645 - _globals['_SLAFNOTIFMSG']._serialized_end=4720 - _globals['_SLAF']._serialized_start=4723 - _globals['_SLAF']._serialized_end=5179 + _globals['_SLMPLSENTRYKEY']._serialized_start=740 + _globals['_SLMPLSENTRYKEY']._serialized_end=771 + _globals['_SLMPLSENTRY']._serialized_start=774 + _globals['_SLMPLSENTRY']._serialized_end=1003 + _globals['_SLAFIPROUTE']._serialized_start=1006 + _globals['_SLAFIPROUTE']._serialized_end=1169 + _globals['_SLAFOBJECT']._serialized_start=1172 + _globals['_SLAFOBJECT']._serialized_end=1338 + _globals['_SLAFOPMSG']._serialized_start=1341 + _globals['_SLAFOPMSG']._serialized_end=1567 + _globals['_SLAFCLIENTIDLIST']._serialized_start=1569 + _globals['_SLAFCLIENTIDLIST']._serialized_end=1609 + _globals['_SLTABLETYPELIST']._serialized_start=1611 + _globals['_SLTABLETYPELIST']._serialized_end=1671 + _globals['_SLAFOBJECTKEY']._serialized_start=1674 + _globals['_SLAFOBJECTKEY']._serialized_end=1853 + _globals['_SLAFGETMATCH']._serialized_start=1855 + _globals['_SLAFGETMATCH']._serialized_end=1971 + _globals['_SLAFGETMATCHLIST']._serialized_start=1973 + _globals['_SLAFGETMATCHLIST']._serialized_end=2035 + _globals['_SLAFGETMSG']._serialized_start=2038 + _globals['_SLAFGETMSG']._serialized_end=2277 + _globals['_SLAFGETMSGRSPENTRY']._serialized_start=2279 + _globals['_SLAFGETMSGRSPENTRY']._serialized_end=2391 + _globals['_SLAFGETMSGRSP']._serialized_start=2394 + _globals['_SLAFGETMSGRSP']._serialized_end=2544 + _globals['_SLAFMSG']._serialized_start=2546 + _globals['_SLAFMSG']._serialized_end=2655 + _globals['_SLAFRES']._serialized_start=2658 + _globals['_SLAFRES']._serialized_end=2847 + _globals['_SLAFMSGRSP']._serialized_start=2849 + _globals['_SLAFMSGRSP']._serialized_end=2919 + _globals['_SLAFREDISTREGMSG']._serialized_start=2921 + _globals['_SLAFREDISTREGMSG']._serialized_end=3021 + _globals['_SLAFNEXTHOPREGKEY']._serialized_start=3024 + _globals['_SLAFNEXTHOPREGKEY']._serialized_end=3247 + _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_start=3111 + _globals['_SLAFNEXTHOPREGKEY_SLNEXTHOPKEY']._serialized_end=3233 + _globals['_SLAFNEXTHOPREGMSG']._serialized_start=3249 + _globals['_SLAFNEXTHOPREGMSG']._serialized_end=3322 + _globals['_SLAFNOTIFREGREQ']._serialized_start=3325 + _globals['_SLAFNOTIFREGREQ']._serialized_end=3484 + _globals['_SLAFNOTIFREQ']._serialized_start=3486 + _globals['_SLAFNOTIFREQ']._serialized_end=3607 + _globals['_SLAFNOTIFRSP']._serialized_start=3609 + _globals['_SLAFNOTIFRSP']._serialized_end=3724 + _globals['_SLNEXTHOP']._serialized_start=3727 + _globals['_SLNEXTHOP']._serialized_end=3968 + _globals['_SLAFNOTIF']._serialized_start=3971 + _globals['_SLAFNOTIF']._serialized_end=4326 + _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_start=4258 + _globals['_SLAFNOTIF_SLREDISTMARKER']._serialized_end=4317 + _globals['_SLAFNOTIFMSG']._serialized_start=4328 + _globals['_SLAFNOTIFMSG']._serialized_end=4403 + _globals['_SLAF']._serialized_start=4406 + _globals['_SLAF']._serialized_end=4862 # @@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 68703a7d..536c1189 100644 --- a/grpc/python/src/genpy/sl_af_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_af_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_af_pb2 as sl__af__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_af_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLAFStub(object): """@defgroup SLAF @@ -15,9 +35,13 @@ class SLAFStub(object): If there are multiple clients intending to program the network element using this API, the clients initiating a programming or get RPC MUST pass a gRPC-context metadata identifying themselves. + Metadata supports the following key-value pairs: + "iosxr-slapi-clientid" : + "iosxr-slapi-clientname": The client application MUST set the gRPC metadata key - named "iosxr-slapi-clientid" with a numeric string holding a - number between 0 and 65535. + "iosxr-slapi-clientid" which is mandatory. The optional gRPC metadata key + "iosxr-slapi-clientname" may be specified to enable operational visibility. Each client application MUST use a unique client ID identifying itself that is separate from other clients programming the server. If there @@ -27,6 +51,7 @@ class SLAFStub(object): If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes a default client id of 0 for that RPC invocation and associates objects programmed by that RPC with the default client id of 0. + "iosxr-slapi-clientname" gRPC metadata is optional. The co-ordination of the ClientId amongst these instances is outside the scope of this specification. @@ -65,32 +90,32 @@ def __init__(self, channel): '/service_layer.SLAF/SLAFVrfRegOp', request_serializer=sl__af__pb2.SLAFVrfRegMsg.SerializeToString, response_deserializer=sl__af__pb2.SLAFVrfRegMsgRsp.FromString, - ) + _registered_method=True) self.SLAFVrfRegGet = channel.unary_stream( '/service_layer.SLAF/SLAFVrfRegGet', request_serializer=sl__af__pb2.SLAFVrfRegGetMsg.SerializeToString, response_deserializer=sl__af__pb2.SLAFVrfRegGetMsgRsp.FromString, - ) + _registered_method=True) self.SLAFOp = channel.unary_unary( '/service_layer.SLAF/SLAFOp', request_serializer=sl__af__pb2.SLAFMsg.SerializeToString, response_deserializer=sl__af__pb2.SLAFMsgRsp.FromString, - ) + _registered_method=True) self.SLAFOpStream = channel.stream_stream( '/service_layer.SLAF/SLAFOpStream', request_serializer=sl__af__pb2.SLAFMsg.SerializeToString, response_deserializer=sl__af__pb2.SLAFMsgRsp.FromString, - ) + _registered_method=True) self.SLAFGet = channel.unary_stream( '/service_layer.SLAF/SLAFGet', request_serializer=sl__af__pb2.SLAFGetMsg.SerializeToString, response_deserializer=sl__af__pb2.SLAFGetMsgRsp.FromString, - ) + _registered_method=True) self.SLAFNotifStream = channel.stream_stream( '/service_layer.SLAF/SLAFNotifStream', request_serializer=sl__af__pb2.SLAFNotifReq.SerializeToString, response_deserializer=sl__af__pb2.SLAFNotifMsg.FromString, - ) + _registered_method=True) class SLAFServicer(object): @@ -103,9 +128,13 @@ class SLAFServicer(object): If there are multiple clients intending to program the network element using this API, the clients initiating a programming or get RPC MUST pass a gRPC-context metadata identifying themselves. + Metadata supports the following key-value pairs: + "iosxr-slapi-clientid" : + "iosxr-slapi-clientname": The client application MUST set the gRPC metadata key - named "iosxr-slapi-clientid" with a numeric string holding a - number between 0 and 65535. + "iosxr-slapi-clientid" which is mandatory. The optional gRPC metadata key + "iosxr-slapi-clientname" may be specified to enable operational visibility. Each client application MUST use a unique client ID identifying itself that is separate from other clients programming the server. If there @@ -115,6 +144,7 @@ class SLAFServicer(object): If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes a default client id of 0 for that RPC invocation and associates objects programmed by that RPC with the default client id of 0. + "iosxr-slapi-clientname" gRPC metadata is optional. The co-ordination of the ClientId amongst these instances is outside the scope of this specification. @@ -235,8 +265,10 @@ def SLAFOp(self, request, context): def SLAFOpStream(self, request_iterator, context): """ - Stream object operations + Stream object operations. + The client MUST keep it's receive and send side of the stream up as long as there is + interest in the responses. SLAFMsg.Oper = SL_OBJOP_ADD: Object add. Fails if the objects already exists and is not stale. @@ -271,7 +303,7 @@ def SLAFNotifStream(self, request_iterator, context): notifications are scoped to the RPC. On a RPC disconnection, the client should re-establish the RPC and re-program the notification requests. - The caller MUST keep the RPC up as long as there is + The client MUST keep it's receive and send side of the stream up as long as there is interest in the notifications. For route redistribution, this call is used to get a stream @@ -329,6 +361,7 @@ def add_SLAFServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLAF', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLAF', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -342,9 +375,13 @@ class SLAF(object): If there are multiple clients intending to program the network element using this API, the clients initiating a programming or get RPC MUST pass a gRPC-context metadata identifying themselves. + Metadata supports the following key-value pairs: + "iosxr-slapi-clientid" : + "iosxr-slapi-clientname": The client application MUST set the gRPC metadata key - named "iosxr-slapi-clientid" with a numeric string holding a - number between 0 and 65535. + "iosxr-slapi-clientid" which is mandatory. The optional gRPC metadata key + "iosxr-slapi-clientname" may be specified to enable operational visibility. Each client application MUST use a unique client ID identifying itself that is separate from other clients programming the server. If there @@ -354,6 +391,7 @@ class SLAF(object): If "iosxr-slapi-clientid" gRPC metadata is missing, server assumes a default client id of 0 for that RPC invocation and associates objects programmed by that RPC with the default client id of 0. + "iosxr-slapi-clientname" gRPC metadata is optional. The co-ordination of the ClientId amongst these instances is outside the scope of this specification. @@ -393,11 +431,21 @@ def SLAFVrfRegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLAF/SLAFVrfRegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLAF/SLAFVrfRegOp', sl__af__pb2.SLAFVrfRegMsg.SerializeToString, sl__af__pb2.SLAFVrfRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLAFVrfRegGet(request, @@ -410,11 +458,21 @@ def SLAFVrfRegGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLAF/SLAFVrfRegGet', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLAF/SLAFVrfRegGet', sl__af__pb2.SLAFVrfRegGetMsg.SerializeToString, sl__af__pb2.SLAFVrfRegGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLAFOp(request, @@ -427,11 +485,21 @@ def SLAFOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLAF/SLAFOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLAF/SLAFOp', sl__af__pb2.SLAFMsg.SerializeToString, sl__af__pb2.SLAFMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLAFOpStream(request_iterator, @@ -444,11 +512,21 @@ def SLAFOpStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLAF/SLAFOpStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLAF/SLAFOpStream', sl__af__pb2.SLAFMsg.SerializeToString, sl__af__pb2.SLAFMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLAFGet(request, @@ -461,11 +539,21 @@ def SLAFGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLAF/SLAFGet', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLAF/SLAFGet', sl__af__pb2.SLAFGetMsg.SerializeToString, sl__af__pb2.SLAFGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLAFNotifStream(request_iterator, @@ -478,8 +566,18 @@ def SLAFNotifStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLAF/SLAFNotifStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLAF/SLAFNotifStream', sl__af__pb2.SLAFNotifReq.SerializeToString, sl__af__pb2.SLAFNotifMsg.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_bfd_common_pb2.py b/grpc/python/src/genpy/sl_bfd_common_pb2.py index 234febd5..80e73f8e 100644 --- a/grpc/python/src/genpy/sl_bfd_common_pb2.py +++ b/grpc/python/src/genpy/sl_bfd_common_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_bfd_common.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_bfd_common.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_bfd_common_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLBFDTYPE']._serialized_start=1248 _globals['_SLBFDTYPE']._serialized_end=1325 diff --git a/grpc/python/src/genpy/sl_bfd_common_pb2_grpc.py b/grpc/python/src/genpy/sl_bfd_common_pb2_grpc.py index 2daafffe..ded5144d 100644 --- a/grpc/python/src/genpy/sl_bfd_common_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_bfd_common_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_bfd_common_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/grpc/python/src/genpy/sl_bfd_ipv4_pb2.py b/grpc/python/src/genpy/sl_bfd_ipv4_pb2.py index 7c1fc8e2..1de4e432 100644 --- a/grpc/python/src/genpy/sl_bfd_ipv4_pb2.py +++ b/grpc/python/src/genpy/sl_bfd_ipv4_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_bfd_ipv4.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_bfd_ipv4.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_bfd_ipv4_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLBFDV4KEY']._serialized_start=81 _globals['_SLBFDV4KEY']._serialized_end=234 diff --git a/grpc/python/src/genpy/sl_bfd_ipv4_pb2_grpc.py b/grpc/python/src/genpy/sl_bfd_ipv4_pb2_grpc.py index edbe0f86..40518d96 100644 --- a/grpc/python/src/genpy/sl_bfd_ipv4_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_bfd_ipv4_pb2_grpc.py @@ -1,10 +1,30 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_bfd_common_pb2 as sl__bfd__common__pb2 from . import sl_bfd_ipv4_pb2 as sl__bfd__ipv4__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_bfd_ipv4_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLBfdv4OperStub(object): """@defgroup SLBfdIPv4Oper @@ -29,32 +49,32 @@ def __init__(self, channel): '/service_layer.SLBfdv4Oper/SLBfdv4RegOp', request_serializer=sl__bfd__common__pb2.SLBfdRegMsg.SerializeToString, response_deserializer=sl__bfd__common__pb2.SLBfdRegMsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv4Get = channel.unary_unary( '/service_layer.SLBfdv4Oper/SLBfdv4Get', request_serializer=sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, response_deserializer=sl__bfd__common__pb2.SLBfdGetMsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv4GetStats = channel.unary_unary( '/service_layer.SLBfdv4Oper/SLBfdv4GetStats', request_serializer=sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, response_deserializer=sl__bfd__common__pb2.SLBfdGetStatsMsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv4GetNotifStream = channel.unary_stream( '/service_layer.SLBfdv4Oper/SLBfdv4GetNotifStream', request_serializer=sl__bfd__common__pb2.SLBfdGetNotifMsg.SerializeToString, response_deserializer=sl__bfd__ipv4__pb2.SLBfdv4Notif.FromString, - ) + _registered_method=True) self.SLBfdv4SessionOp = channel.unary_unary( '/service_layer.SLBfdv4Oper/SLBfdv4SessionOp', request_serializer=sl__bfd__ipv4__pb2.SLBfdv4Msg.SerializeToString, response_deserializer=sl__bfd__ipv4__pb2.SLBfdv4MsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv4SessionGet = channel.unary_unary( '/service_layer.SLBfdv4Oper/SLBfdv4SessionGet', request_serializer=sl__bfd__ipv4__pb2.SLBfdv4GetMsg.SerializeToString, response_deserializer=sl__bfd__ipv4__pb2.SLBfdv4GetMsgRsp.FromString, - ) + _registered_method=True) class SLBfdv4OperServicer(object): @@ -197,6 +217,7 @@ def add_SLBfdv4OperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLBfdv4Oper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLBfdv4Oper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -224,11 +245,21 @@ def SLBfdv4RegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv4Oper/SLBfdv4RegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv4Oper/SLBfdv4RegOp', sl__bfd__common__pb2.SLBfdRegMsg.SerializeToString, sl__bfd__common__pb2.SLBfdRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv4Get(request, @@ -241,11 +272,21 @@ def SLBfdv4Get(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv4Oper/SLBfdv4Get', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv4Oper/SLBfdv4Get', sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, sl__bfd__common__pb2.SLBfdGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv4GetStats(request, @@ -258,11 +299,21 @@ def SLBfdv4GetStats(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv4Oper/SLBfdv4GetStats', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv4Oper/SLBfdv4GetStats', sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, sl__bfd__common__pb2.SLBfdGetStatsMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv4GetNotifStream(request, @@ -275,11 +326,21 @@ def SLBfdv4GetNotifStream(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLBfdv4Oper/SLBfdv4GetNotifStream', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLBfdv4Oper/SLBfdv4GetNotifStream', sl__bfd__common__pb2.SLBfdGetNotifMsg.SerializeToString, sl__bfd__ipv4__pb2.SLBfdv4Notif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv4SessionOp(request, @@ -292,11 +353,21 @@ def SLBfdv4SessionOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv4Oper/SLBfdv4SessionOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv4Oper/SLBfdv4SessionOp', sl__bfd__ipv4__pb2.SLBfdv4Msg.SerializeToString, sl__bfd__ipv4__pb2.SLBfdv4MsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv4SessionGet(request, @@ -309,8 +380,18 @@ def SLBfdv4SessionGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv4Oper/SLBfdv4SessionGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv4Oper/SLBfdv4SessionGet', sl__bfd__ipv4__pb2.SLBfdv4GetMsg.SerializeToString, sl__bfd__ipv4__pb2.SLBfdv4GetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_bfd_ipv6_pb2.py b/grpc/python/src/genpy/sl_bfd_ipv6_pb2.py index 741278cb..68237172 100644 --- a/grpc/python/src/genpy/sl_bfd_ipv6_pb2.py +++ b/grpc/python/src/genpy/sl_bfd_ipv6_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_bfd_ipv6.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_bfd_ipv6.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_bfd_ipv6_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLBFDV6KEY']._serialized_start=81 _globals['_SLBFDV6KEY']._serialized_end=234 diff --git a/grpc/python/src/genpy/sl_bfd_ipv6_pb2_grpc.py b/grpc/python/src/genpy/sl_bfd_ipv6_pb2_grpc.py index e9c37343..03dc9bde 100644 --- a/grpc/python/src/genpy/sl_bfd_ipv6_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_bfd_ipv6_pb2_grpc.py @@ -1,10 +1,30 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_bfd_common_pb2 as sl__bfd__common__pb2 from . import sl_bfd_ipv6_pb2 as sl__bfd__ipv6__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_bfd_ipv6_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLBfdv6OperStub(object): """@defgroup SLBfdIPv6Oper @@ -29,32 +49,32 @@ def __init__(self, channel): '/service_layer.SLBfdv6Oper/SLBfdv6RegOp', request_serializer=sl__bfd__common__pb2.SLBfdRegMsg.SerializeToString, response_deserializer=sl__bfd__common__pb2.SLBfdRegMsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv6Get = channel.unary_unary( '/service_layer.SLBfdv6Oper/SLBfdv6Get', request_serializer=sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, response_deserializer=sl__bfd__common__pb2.SLBfdGetMsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv6GetStats = channel.unary_unary( '/service_layer.SLBfdv6Oper/SLBfdv6GetStats', request_serializer=sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, response_deserializer=sl__bfd__common__pb2.SLBfdGetStatsMsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv6GetNotifStream = channel.unary_stream( '/service_layer.SLBfdv6Oper/SLBfdv6GetNotifStream', request_serializer=sl__bfd__common__pb2.SLBfdGetNotifMsg.SerializeToString, response_deserializer=sl__bfd__ipv6__pb2.SLBfdv6Notif.FromString, - ) + _registered_method=True) self.SLBfdv6SessionOp = channel.unary_unary( '/service_layer.SLBfdv6Oper/SLBfdv6SessionOp', request_serializer=sl__bfd__ipv6__pb2.SLBfdv6Msg.SerializeToString, response_deserializer=sl__bfd__ipv6__pb2.SLBfdv6MsgRsp.FromString, - ) + _registered_method=True) self.SLBfdv6SessionGet = channel.unary_unary( '/service_layer.SLBfdv6Oper/SLBfdv6SessionGet', request_serializer=sl__bfd__ipv6__pb2.SLBfdv6GetMsg.SerializeToString, response_deserializer=sl__bfd__ipv6__pb2.SLBfdv6GetMsgRsp.FromString, - ) + _registered_method=True) class SLBfdv6OperServicer(object): @@ -197,6 +217,7 @@ def add_SLBfdv6OperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLBfdv6Oper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLBfdv6Oper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -224,11 +245,21 @@ def SLBfdv6RegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv6Oper/SLBfdv6RegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv6Oper/SLBfdv6RegOp', sl__bfd__common__pb2.SLBfdRegMsg.SerializeToString, sl__bfd__common__pb2.SLBfdRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv6Get(request, @@ -241,11 +272,21 @@ def SLBfdv6Get(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv6Oper/SLBfdv6Get', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv6Oper/SLBfdv6Get', sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, sl__bfd__common__pb2.SLBfdGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv6GetStats(request, @@ -258,11 +299,21 @@ def SLBfdv6GetStats(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv6Oper/SLBfdv6GetStats', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv6Oper/SLBfdv6GetStats', sl__bfd__common__pb2.SLBfdGetMsg.SerializeToString, sl__bfd__common__pb2.SLBfdGetStatsMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv6GetNotifStream(request, @@ -275,11 +326,21 @@ def SLBfdv6GetNotifStream(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLBfdv6Oper/SLBfdv6GetNotifStream', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLBfdv6Oper/SLBfdv6GetNotifStream', sl__bfd__common__pb2.SLBfdGetNotifMsg.SerializeToString, sl__bfd__ipv6__pb2.SLBfdv6Notif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv6SessionOp(request, @@ -292,11 +353,21 @@ def SLBfdv6SessionOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv6Oper/SLBfdv6SessionOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv6Oper/SLBfdv6SessionOp', sl__bfd__ipv6__pb2.SLBfdv6Msg.SerializeToString, sl__bfd__ipv6__pb2.SLBfdv6MsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLBfdv6SessionGet(request, @@ -309,8 +380,18 @@ def SLBfdv6SessionGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLBfdv6Oper/SLBfdv6SessionGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLBfdv6Oper/SLBfdv6SessionGet', sl__bfd__ipv6__pb2.SLBfdv6GetMsg.SerializeToString, sl__bfd__ipv6__pb2.SLBfdv6GetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_bgp_pb2.py b/grpc/python/src/genpy/sl_bgp_pb2.py index f8abde3c..3b31d35e 100644 --- a/grpc/python/src/genpy/sl_bgp_pb2.py +++ b/grpc/python/src/genpy/sl_bgp_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_bgp.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_bgp.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_bgp_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLBGPBWUNIT']._serialized_start=2676 _globals['_SLBGPBWUNIT']._serialized_end=2771 diff --git a/grpc/python/src/genpy/sl_bgp_pb2_grpc.py b/grpc/python/src/genpy/sl_bgp_pb2_grpc.py index 450d1450..fb701047 100644 --- a/grpc/python/src/genpy/sl_bgp_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_bgp_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_bgp_pb2 as sl__bgp__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_bgp_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLBgpApiStub(object): """@defgroup SLBgpApi @@ -26,7 +46,7 @@ def __init__(self, channel): '/service_layer.SLBgpApi/SLBgpOp', request_serializer=sl__bgp__pb2.SLBgpApiMsg.SerializeToString, response_deserializer=sl__bgp__pb2.SLBgpApiMsgRsp.FromString, - ) + _registered_method=True) class SLBgpApiServicer(object): @@ -62,6 +82,7 @@ def add_SLBgpApiServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLBgpApi', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLBgpApi', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -87,8 +108,18 @@ def SLBgpOp(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLBgpApi/SLBgpOp', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLBgpApi/SLBgpOp', sl__bgp__pb2.SLBgpApiMsg.SerializeToString, sl__bgp__pb2.SLBgpApiMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_bgpls_topology_pb2.py b/grpc/python/src/genpy/sl_bgpls_topology_pb2.py index 9788b759..597ff39f 100644 --- a/grpc/python/src/genpy/sl_bgpls_topology_pb2.py +++ b/grpc/python/src/genpy/sl_bgpls_topology_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_bgpls_topology.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_bgpls_topology.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_bgpls_topology_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLBGPLSTOPOOPERATION']._serialized_start=16829 _globals['_SLBGPLSTOPOOPERATION']._serialized_end=16961 diff --git a/grpc/python/src/genpy/sl_bgpls_topology_pb2_grpc.py b/grpc/python/src/genpy/sl_bgpls_topology_pb2_grpc.py index 96b8ed5a..8b143b90 100644 --- a/grpc/python/src/genpy/sl_bgpls_topology_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_bgpls_topology_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_bgpls_topology_pb2 as sl__bgpls__topology__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_bgpls_topology_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLBgplsTopoStub(object): """@defgroup SLBgplsTopo @@ -24,7 +44,7 @@ def __init__(self, channel): '/service_layer.SLBgplsTopo/SLBgplsTopoNotifStream', request_serializer=sl__bgpls__topology__pb2.SLBgplsTopoNotifReqMsg.SerializeToString, response_deserializer=sl__bgpls__topology__pb2.SLBgplsTopoNotifMsg.FromString, - ) + _registered_method=True) class SLBgplsTopoServicer(object): @@ -83,6 +103,7 @@ def add_SLBgplsTopoServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLBgplsTopo', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLBgplsTopo', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -106,8 +127,18 @@ def SLBgplsTopoNotifStream(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLBgplsTopo/SLBgplsTopoNotifStream', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLBgplsTopo/SLBgplsTopoNotifStream', sl__bgpls__topology__pb2.SLBgplsTopoNotifReqMsg.SerializeToString, sl__bgpls__topology__pb2.SLBgplsTopoNotifMsg.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_common_types_pb2.py b/grpc/python/src/genpy/sl_common_types_pb2.py index 6ec1a9c4..ef528898 100644 --- a/grpc/python/src/genpy/sl_common_types_pb2.py +++ b/grpc/python/src/genpy/sl_common_types_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_common_types.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_common_types.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -14,48 +24,48 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15sl_common_types.proto\x12\rservice_layer\"\x89h\n\rSLErrorStatus\x12\x34\n\x06Status\x18\x01 \x01(\x0e\x32$.service_layer.SLErrorStatus.SLErrno\"\xc1g\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\x1f\n\x19SL_ROUTE_INVALID_PRIORITY\x10\x95\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\x19\n\x13SL_BGP_START_OFFSET\x10\x80\xc0\x06\x12\x1e\n\x18SL_BGP_INST_NAME_TOOLONG\x10\x81\xc0\x06\x12\x1c\n\x16SL_BGP_INST_NAME_EMPTY\x10\x82\xc0\x06\x12!\n\x1bSL_BGP_INST_NOT_INITIALIZED\x10\x83\xc0\x06\x12\x1d\n\x17SL_BGP_INVALID_OBJ_TYPE\x10\x84\xc0\x06\x12 \n\x1aSL_BGP_VRF_NAME_TOOLONG_V4\x10\x85\xc0\x06\x12 \n\x1aSL_BGP_VRF_NAME_TOOLONG_V6\x10\x86\xc0\x06\x12!\n\x1bSL_BGP_UNSUPPORTED_VRF_NAME\x10\x87\xc0\x06\x12#\n\x1dSL_BGP_INVALID_NBR_ADDR_MCAST\x10\x88\xc0\x06\x12!\n\x1bSL_BGP_INVALID_NBR_ADDR_EXP\x10\x89\xc0\x06\x12\x1d\n\x17SL_BGP_INVALID_NBR_ADDR\x10\x8a\xc0\x06\x12\x1e\n\x18SL_BGP_INVALID_NBR_V6_SZ\x10\x8b\xc0\x06\x12\x1c\n\x16SL_BGP_INVALID_NBR_KEY\x10\x8c\xc0\x06\x12%\n\x1fSL_BGP_INVALID_MPATH_ADDR_MCAST\x10\x8d\xc0\x06\x12#\n\x1dSL_BGP_INVALID_MPATH_ADDR_EXP\x10\x8e\xc0\x06\x12\x1f\n\x19SL_BGP_INVALID_MPATH_ADDR\x10\x8f\xc0\x06\x12 \n\x1aSL_BGP_INVALID_MPATH_V6_SZ\x10\x90\xc0\x06\x12!\n\x1bSL_BGP_INVALID_NBRSAFI_LIST\x10\x91\xc0\x06\x12%\n\x1fSL_BGP_UNSUPPORTED_BGP_AFI_SAFI\x10\x92\xc0\x06\x12\x1c\n\x16SL_BGP_UNSUPPORTED_AFI\x10\x93\xc0\x06\x12\x1d\n\x17SL_BGP_UNSUPPORTED_SAFI\x10\x94\xc0\x06\x12\x1a\n\x14SL_BGP_EMPTY_OBJECTS\x10\x95\xc0\x06\x12\x1e\n\x18SL_BGP_EMPTY_OBJECT_LIST\x10\x96\xc0\x06\x12!\n\x1bSL_BGP_UPDATE_BW_GRP_FAILED\x10\x97\xc0\x06\x12%\n\x1fSL_BGP_UPDATE_MPATH_ADDR_FAILED\x10\x98\xc0\x06\x12!\n\x1bSL_BGP_DELETE_BW_GRP_FAILED\x10\x99\xc0\x06\x12\x1e\n\x18SL_BGP_DELETE_NBR_FAILED\x10\x9a\xc0\x06\x12\x1e\n\x18SL_BGP_DELETE_AFI_FAILED\x10\x9b\xc0\x06\x12%\n\x1fSL_BGP_DELETE_MPATH_ADDR_FAILED\x10\x9c\xc0\x06\x12\x1a\n\x14SL_BGP_DELETE_FAILED\x10\x9d\xc0\x06\x12$\n\x1eSL_BGP_BW_GRP_NUM_OUT_OF_RANGE\x10\x9e\xc0\x06\x12%\n\x1fSL_BGP_IN_BW_GRP_COUNT_EXCEEDED\x10\x9f\xc0\x06\x12&\n SL_BGP_OUT_BW_GRP_COUNT_EXCEEDED\x10\xa0\xc0\x06\x12\"\n\x1cSL_BGP_INVALID_IN_BWGRP_LIST\x10\xa1\xc0\x06\x12#\n\x1dSL_BGP_INVALID_OUT_BWGRP_LIST\x10\xa2\xc0\x06\x12!\n\x1bSL_BGP_LINK_BW_OUT_OF_RANGE\x10\xa3\xc0\x06\x12!\n\x1bSL_BGP_NBR_IDX_OUT_OF_RANGE\x10\xa4\xc0\x06\x12\x1c\n\x16SL_BGP_INVALID_BW_TYPE\x10\xa5\xc0\x06\x12\x1d\n\x17SL_BGP_BW_GRP_LIST_NULL\x10\xa6\xc0\x06\x12\x1e\n\x18SL_BGP_NBRSAFI_LIST_NULL\x10\xa7\xc0\x06\x12%\n\x1fSL_BGP_INST_NOT_CONFIG_IN_SLAPI\x10\xa8\xc0\x06\x12&\n SL_BGP_OBJ_LIST_IDX_OUT_OF_RANGE\x10\xa9\xc0\x06\x12\x1d\n\x17SL_BGP_ASN_OUT_OF_RANGE\x10\xaa\xc0\x06\x12\x1c\n\x16SL_BGP_INVALID_BW_UNIT\x10\xab\xc0\x06\x12!\n\x1bSL_BGP_OBJECT_TYPE_REQUIRED\x10\xac\xc0\x06\x12 \n\x1aSL_BGP_OBJECT_KEY_REQUIRED\x10\xad\xc0\x06\x12 \n\x1aSL_BGP_INVALID_OBJECT_TYPE\x10\xae\xc0\x06\x12&\n SL_BGP_GET_EXACT_MATCH_NOT_FOUND\x10\xaf\xc0\x06\x12#\n\x1dSL_BGP_MAX_NEIGHBORS_IN_SYSDB\x10\xb0\xc0\x06\x12#\n\x1dSL_BGP_MAX_OBJECTS_IN_PAYLOAD\x10\xb1\xc0\x06\x12\x1b\n\x15SL_BGP_INTERNAL_ERR_1\x10\x81\xc2\x06\x12\x1b\n\x15SL_BGP_INTERNAL_ERR_2\x10\x82\xc2\x06\x12\x1b\n\x15SL_BGP_INTERNAL_ERR_3\x10\x83\xc2\x06\x12!\n\x1bSL_SRTE_POLICY_START_OFFSET\x10\x80\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_REQUEST_INVALID\x10\x81\xe0\x06\x12\'\n!SL_SRTE_POLICY_POLICY_KEY_INVALID\x10\x82\xe0\x06\x12(\n\"SL_SRTE_POLICY_POLICY_ATTR_INVALID\x10\x83\xe0\x06\x12#\n\x1dSL_SRTE_POLICY_CP_KEY_INVALID\x10\x84\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_CP_ATTR_INVALID\x10\x85\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_CLIENT_MISMATCH\x10\x86\xe0\x06\x12#\n\x1dSL_SRTE_POLICY_SERVICE_NOT_UP\x10\x87\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_EXCEED_MSG_SIZE\x10\x88\xe0\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\rSLIpv6Address\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"\'\n\x18SLAutonomousSystemNumber\x12\x0b\n\x03\x61sn\x18\x01 \x01(\r\"%\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') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15sl_common_types.proto\x12\rservice_layer\"\xcf\x87\x01\n\rSLErrorStatus\x12\x34\n\x06Status\x18\x01 \x01(\x0e\x32$.service_layer.SLErrorStatus.SLErrno\"\x86\x87\x01\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\x15\n\x11SL_NO_SUCH_CLIENT\x10\x0f\x12\x17\n\x13SL_NO_ENTRIES_FOUND\x10\x10\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&\n!SL_VRF_TABLE_CLIENT_NAME_MISMATCH\x10\x94@\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\x1f\n\x19SL_ROUTE_INVALID_PRIORITY\x10\x95\x80\x01\x12\x1d\n\x17SL_ROUTE_INVALID_METRIC\x10\x96\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%\n\x1fSL_PATH_INVALID_PATH_LIST_MODEL\x10\x9d\xa0\x01\x12$\n\x1eSL_PATH_PRIMARY_INDEX_REPEATED\x10\x9e\xa0\x01\x12(\n\"SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE\x10\x9f\xa0\x01\x12\'\n!SL_PATH_BACKUP_INDEX_OUT_OF_RANGE\x10\xa0\xa0\x01\x12)\n#SL_PATH_BACKUP_FLAGGED_UNREFERENCED\x10\xa1\xa0\x01\x12)\n#SL_PATH_BACKUP_INDEX_SELF_REFERENCE\x10\xa2\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\x19\n\x13SL_BGP_START_OFFSET\x10\x80\xc0\x06\x12\x1e\n\x18SL_BGP_INST_NAME_TOOLONG\x10\x81\xc0\x06\x12\x1c\n\x16SL_BGP_INST_NAME_EMPTY\x10\x82\xc0\x06\x12!\n\x1bSL_BGP_INST_NOT_INITIALIZED\x10\x83\xc0\x06\x12\x1d\n\x17SL_BGP_INVALID_OBJ_TYPE\x10\x84\xc0\x06\x12 \n\x1aSL_BGP_VRF_NAME_TOOLONG_V4\x10\x85\xc0\x06\x12 \n\x1aSL_BGP_VRF_NAME_TOOLONG_V6\x10\x86\xc0\x06\x12!\n\x1bSL_BGP_UNSUPPORTED_VRF_NAME\x10\x87\xc0\x06\x12#\n\x1dSL_BGP_INVALID_NBR_ADDR_MCAST\x10\x88\xc0\x06\x12!\n\x1bSL_BGP_INVALID_NBR_ADDR_EXP\x10\x89\xc0\x06\x12\x1d\n\x17SL_BGP_INVALID_NBR_ADDR\x10\x8a\xc0\x06\x12\x1e\n\x18SL_BGP_INVALID_NBR_V6_SZ\x10\x8b\xc0\x06\x12\x1c\n\x16SL_BGP_INVALID_NBR_KEY\x10\x8c\xc0\x06\x12%\n\x1fSL_BGP_INVALID_MPATH_ADDR_MCAST\x10\x8d\xc0\x06\x12#\n\x1dSL_BGP_INVALID_MPATH_ADDR_EXP\x10\x8e\xc0\x06\x12\x1f\n\x19SL_BGP_INVALID_MPATH_ADDR\x10\x8f\xc0\x06\x12 \n\x1aSL_BGP_INVALID_MPATH_V6_SZ\x10\x90\xc0\x06\x12!\n\x1bSL_BGP_INVALID_NBRSAFI_LIST\x10\x91\xc0\x06\x12%\n\x1fSL_BGP_UNSUPPORTED_BGP_AFI_SAFI\x10\x92\xc0\x06\x12\x1c\n\x16SL_BGP_UNSUPPORTED_AFI\x10\x93\xc0\x06\x12\x1d\n\x17SL_BGP_UNSUPPORTED_SAFI\x10\x94\xc0\x06\x12\x1a\n\x14SL_BGP_EMPTY_OBJECTS\x10\x95\xc0\x06\x12\x1e\n\x18SL_BGP_EMPTY_OBJECT_LIST\x10\x96\xc0\x06\x12!\n\x1bSL_BGP_UPDATE_BW_GRP_FAILED\x10\x97\xc0\x06\x12%\n\x1fSL_BGP_UPDATE_MPATH_ADDR_FAILED\x10\x98\xc0\x06\x12!\n\x1bSL_BGP_DELETE_BW_GRP_FAILED\x10\x99\xc0\x06\x12\x1e\n\x18SL_BGP_DELETE_NBR_FAILED\x10\x9a\xc0\x06\x12\x1e\n\x18SL_BGP_DELETE_AFI_FAILED\x10\x9b\xc0\x06\x12%\n\x1fSL_BGP_DELETE_MPATH_ADDR_FAILED\x10\x9c\xc0\x06\x12\x1a\n\x14SL_BGP_DELETE_FAILED\x10\x9d\xc0\x06\x12$\n\x1eSL_BGP_BW_GRP_NUM_OUT_OF_RANGE\x10\x9e\xc0\x06\x12%\n\x1fSL_BGP_IN_BW_GRP_COUNT_EXCEEDED\x10\x9f\xc0\x06\x12&\n SL_BGP_OUT_BW_GRP_COUNT_EXCEEDED\x10\xa0\xc0\x06\x12\"\n\x1cSL_BGP_INVALID_IN_BWGRP_LIST\x10\xa1\xc0\x06\x12#\n\x1dSL_BGP_INVALID_OUT_BWGRP_LIST\x10\xa2\xc0\x06\x12!\n\x1bSL_BGP_LINK_BW_OUT_OF_RANGE\x10\xa3\xc0\x06\x12!\n\x1bSL_BGP_NBR_IDX_OUT_OF_RANGE\x10\xa4\xc0\x06\x12\x1c\n\x16SL_BGP_INVALID_BW_TYPE\x10\xa5\xc0\x06\x12\x1d\n\x17SL_BGP_BW_GRP_LIST_NULL\x10\xa6\xc0\x06\x12\x1e\n\x18SL_BGP_NBRSAFI_LIST_NULL\x10\xa7\xc0\x06\x12%\n\x1fSL_BGP_INST_NOT_CONFIG_IN_SLAPI\x10\xa8\xc0\x06\x12&\n SL_BGP_OBJ_LIST_IDX_OUT_OF_RANGE\x10\xa9\xc0\x06\x12\x1d\n\x17SL_BGP_ASN_OUT_OF_RANGE\x10\xaa\xc0\x06\x12\x1c\n\x16SL_BGP_INVALID_BW_UNIT\x10\xab\xc0\x06\x12!\n\x1bSL_BGP_OBJECT_TYPE_REQUIRED\x10\xac\xc0\x06\x12 \n\x1aSL_BGP_OBJECT_KEY_REQUIRED\x10\xad\xc0\x06\x12 \n\x1aSL_BGP_INVALID_OBJECT_TYPE\x10\xae\xc0\x06\x12&\n SL_BGP_GET_EXACT_MATCH_NOT_FOUND\x10\xaf\xc0\x06\x12#\n\x1dSL_BGP_MAX_NEIGHBORS_IN_SYSDB\x10\xb0\xc0\x06\x12#\n\x1dSL_BGP_MAX_OBJECTS_IN_PAYLOAD\x10\xb1\xc0\x06\x12\x1b\n\x15SL_BGP_INTERNAL_ERR_1\x10\x81\xc2\x06\x12\x1b\n\x15SL_BGP_INTERNAL_ERR_2\x10\x82\xc2\x06\x12\x1b\n\x15SL_BGP_INTERNAL_ERR_3\x10\x83\xc2\x06\x12!\n\x1bSL_SRTE_POLICY_START_OFFSET\x10\x80\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_REQUEST_INVALID\x10\x81\xe0\x06\x12\'\n!SL_SRTE_POLICY_POLICY_KEY_INVALID\x10\x82\xe0\x06\x12(\n\"SL_SRTE_POLICY_POLICY_ATTR_INVALID\x10\x83\xe0\x06\x12#\n\x1dSL_SRTE_POLICY_CP_KEY_INVALID\x10\x84\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_CP_ATTR_INVALID\x10\x85\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_CLIENT_MISMATCH\x10\x86\xe0\x06\x12#\n\x1dSL_SRTE_POLICY_SERVICE_NOT_UP\x10\x87\xe0\x06\x12$\n\x1eSL_SRTE_POLICY_EXCEED_MSG_SIZE\x10\x88\xe0\x06\x12\x1f\n\x19SL_PERF_MEAS_START_OFFSET\x10\x80\x80\x07\x12(\n\"SL_PERF_MEAS_SESSION_CREATE_FAILED\x10\x81\x80\x07\x12(\n\"SL_PERF_MEAS_SESSION_DELETE_FAILED\x10\x82\x80\x07\x12+\n%SL_PERF_MEAS_SESSION_GET_STATS_FAILED\x10\x83\x80\x07\x12*\n$SL_PERF_MEAS_SESSION_GET_INFO_FAILED\x10\x84\x80\x07\x12\"\n\x1cSL_PERF_MEAS_INVALID_REQUEST\x10\x85\x80\x07\x12\'\n!SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED\x10\x86\x80\x07\x12:\n4SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP\x10\x87\x80\x07\x12\x38\n2SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP\x10\x88\x80\x07\x12;\n5SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP\x10\x89\x80\x07\x12<\n6SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK\x10\x8a\x80\x07\x12?\n9SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL\x10\x8b\x80\x07\x12>\n8SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT\x10\x8c\x80\x07\x12\x35\n/SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP\x10\x8d\x80\x07\x12:\n4SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE\x10\x8e\x80\x07\x12\x37\n1SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED\x10\x8f\x80\x07\x12\x37\n1SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR\x10\x90\x80\x07\x12\x37\n1SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED\x10\x91\x80\x07\x12\x37\n1SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR\x10\x92\x80\x07\x12:\n4SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED\x10\x93\x80\x07\x12:\n4SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR\x10\x94\x80\x07\x12\x39\n3SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED\x10\x95\x80\x07\x12\x39\n3SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR\x10\x96\x80\x07\x12\x36\n0SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED\x10\x97\x80\x07\x12\x36\n0SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR\x10\x98\x80\x07\x12:\n4SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND\x10\x99\x80\x07\x12=\n7SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND\x10\x9a\x80\x07\x12<\n6SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND\x10\x9b\x80\x07\x12\x39\n3SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND\x10\x9c\x80\x07\x12=\n7SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME\x10\x9d\x80\x07\x12;\n5SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED\x10\x9e\x80\x07\x12\x35\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND\x10\x9f\x80\x07\x12\x39\n3SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED\x10\xa0\x80\x07\x12\x35\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED\x10\xa1\x80\x07\x12<\n6SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID\x10\xa2\x80\x07\x12\x41\n;SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID\x10\xa3\x80\x07\x12@\n:SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID\x10\xa4\x80\x07\x12;\n5SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID\x10\xa5\x80\x07\x12=\n7SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID\x10\xa6\x80\x07\x12=\n7SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND\x10\xa7\x80\x07\x12>\n8SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND\x10\xa8\x80\x07\x12<\n6SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND\x10\xa9\x80\x07\x12;\n5SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID\x10\xaa\x80\x07\x12<\n6SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID\x10\xab\x80\x07\x12:\n4SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID\x10\xac\x80\x07\x12=\n7SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH\x10\xad\x80\x07\x12@\n:SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID\x10\xae\x80\x07\x12:\n4SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING\x10\xaf\x80\x07\x12?\n9SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING\x10\xb0\x80\x07\x12\x38\n2SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT\x10\xb1\x80\x07\x12\x33\n-SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS\x10\xb2\x80\x07\x12\x36\n0SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED\x10\xb3\x80\x07\x12\x35\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID\x10\xb4\x80\x07\x12\x35\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED\x10\xb5\x80\x07\x12\x35\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED\x10\xb6\x80\x07\x12\x35\n/SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM\x10\xb7\x80\x07\x12=\n7SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED\x10\xb8\x80\x07\x12\x37\n1SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED\x10\xb9\x80\x07\x12\x36\n0SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED\x10\xba\x80\x07\x12\x39\n3SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED\x10\xbb\x80\x07\x12\x33\n-SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND\x10\xbc\x80\x07\x12\x32\n,SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND\x10\xbd\x80\x07\x12\x37\n1SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND\x10\xbe\x80\x07\x12:\n4SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED\x10\xbf\x80\x07\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\rSLIpv6Address\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"\'\n\x18SLAutonomousSystemNumber\x12\x0b\n\x03\x61sn\x18\x01 \x01(\r\"%\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*\x94\x01\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\x12\x17\n\x13SL_FIB_INUSE_FAILED\x10\x05*\xc2\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\x12\x1e\n\x1aSL_PERMIT_FIB_INUSE_FAILED\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_common_types_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLREGOP']._serialized_start=13694 - _globals['_SLREGOP']._serialized_end=13792 - _globals['_SLOBJECTOP']._serialized_start=13794 - _globals['_SLOBJECTOP']._serialized_end=13889 - _globals['_SLNOTIFOP']._serialized_start=13891 - _globals['_SLNOTIFOP']._serialized_end=13974 - _globals['_SLUPDATEPRIORITY']._serialized_start=13977 - _globals['_SLUPDATEPRIORITY']._serialized_end=14114 - _globals['_SLENCAPTYPE']._serialized_start=14116 - _globals['_SLENCAPTYPE']._serialized_end=14191 - _globals['_SLTABLETYPE']._serialized_start=14194 - _globals['_SLTABLETYPE']._serialized_end=14335 - _globals['_SLRSPACKTYPE']._serialized_start=14337 - _globals['_SLRSPACKTYPE']._serialized_end=14408 - _globals['_SLAFFIBSTATUS']._serialized_start=14410 - _globals['_SLAFFIBSTATUS']._serialized_end=14533 - _globals['_SLRSPACKPERMIT']._serialized_start=14536 - _globals['_SLRSPACKPERMIT']._serialized_end=14698 - _globals['_SLRSPACKCADENCE']._serialized_start=14700 - _globals['_SLRSPACKCADENCE']._serialized_end=14801 - _globals['_SLERRORSTATUS']._serialized_start=41 - _globals['_SLERRORSTATUS']._serialized_end=13362 - _globals['_SLERRORSTATUS_SLERRNO']._serialized_start=113 - _globals['_SLERRORSTATUS_SLERRNO']._serialized_end=13362 - _globals['_SLINTERFACE']._serialized_start=13364 - _globals['_SLINTERFACE']._serialized_end=13424 - _globals['_SLIPADDRESS']._serialized_start=13426 - _globals['_SLIPADDRESS']._serialized_end=13492 - _globals['_SLIPV6ADDRESS']._serialized_start=13494 - _globals['_SLIPV6ADDRESS']._serialized_end=13526 - _globals['_SLAUTONOMOUSSYSTEMNUMBER']._serialized_start=13528 - _globals['_SLAUTONOMOUSSYSTEMNUMBER']._serialized_end=13567 - _globals['_SLOBJECTID']._serialized_start=13569 - _globals['_SLOBJECTID']._serialized_end=13606 - _globals['_SLPATHGROUPREFKEY']._serialized_start=13608 - _globals['_SLPATHGROUPREFKEY']._serialized_end=13692 + _globals['_SLREGOP']._serialized_start=17733 + _globals['_SLREGOP']._serialized_end=17831 + _globals['_SLOBJECTOP']._serialized_start=17833 + _globals['_SLOBJECTOP']._serialized_end=17928 + _globals['_SLNOTIFOP']._serialized_start=17930 + _globals['_SLNOTIFOP']._serialized_end=18013 + _globals['_SLUPDATEPRIORITY']._serialized_start=18016 + _globals['_SLUPDATEPRIORITY']._serialized_end=18153 + _globals['_SLENCAPTYPE']._serialized_start=18155 + _globals['_SLENCAPTYPE']._serialized_end=18230 + _globals['_SLTABLETYPE']._serialized_start=18233 + _globals['_SLTABLETYPE']._serialized_end=18374 + _globals['_SLRSPACKTYPE']._serialized_start=18376 + _globals['_SLRSPACKTYPE']._serialized_end=18447 + _globals['_SLAFFIBSTATUS']._serialized_start=18450 + _globals['_SLAFFIBSTATUS']._serialized_end=18598 + _globals['_SLRSPACKPERMIT']._serialized_start=18601 + _globals['_SLRSPACKPERMIT']._serialized_end=18795 + _globals['_SLRSPACKCADENCE']._serialized_start=18797 + _globals['_SLRSPACKCADENCE']._serialized_end=18898 + _globals['_SLERRORSTATUS']._serialized_start=42 + _globals['_SLERRORSTATUS']._serialized_end=17401 + _globals['_SLERRORSTATUS_SLERRNO']._serialized_start=115 + _globals['_SLERRORSTATUS_SLERRNO']._serialized_end=17401 + _globals['_SLINTERFACE']._serialized_start=17403 + _globals['_SLINTERFACE']._serialized_end=17463 + _globals['_SLIPADDRESS']._serialized_start=17465 + _globals['_SLIPADDRESS']._serialized_end=17531 + _globals['_SLIPV6ADDRESS']._serialized_start=17533 + _globals['_SLIPV6ADDRESS']._serialized_end=17565 + _globals['_SLAUTONOMOUSSYSTEMNUMBER']._serialized_start=17567 + _globals['_SLAUTONOMOUSSYSTEMNUMBER']._serialized_end=17606 + _globals['_SLOBJECTID']._serialized_start=17608 + _globals['_SLOBJECTID']._serialized_end=17645 + _globals['_SLPATHGROUPREFKEY']._serialized_start=17647 + _globals['_SLPATHGROUPREFKEY']._serialized_end=17731 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_common_types_pb2_grpc.py b/grpc/python/src/genpy/sl_common_types_pb2_grpc.py index 2daafffe..9a11695d 100644 --- a/grpc/python/src/genpy/sl_common_types_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_common_types_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_common_types_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/grpc/python/src/genpy/sl_global_pb2.py b/grpc/python/src/genpy/sl_global_pb2.py index e4ac6485..811c9f6d 100644 --- a/grpc/python/src/genpy/sl_global_pb2.py +++ b/grpc/python/src/genpy/sl_global_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_global.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_global.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,10 +30,10 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_global_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLGLOBALNOTIF'].fields_by_name['VrfReplayErrorNotif']._options = None + _globals['_SLGLOBALNOTIF'].fields_by_name['VrfReplayErrorNotif']._loaded_options = None _globals['_SLGLOBALNOTIF'].fields_by_name['VrfReplayErrorNotif']._serialized_options = b'\030\001' _globals['_SLGLOBALNOTIFTYPE']._serialized_start=1163 _globals['_SLGLOBALNOTIFTYPE']._serialized_end=1319 diff --git a/grpc/python/src/genpy/sl_global_pb2_grpc.py b/grpc/python/src/genpy/sl_global_pb2_grpc.py index d5e2323a..19010a9c 100644 --- a/grpc/python/src/genpy/sl_global_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_global_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_global_pb2 as sl__global__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_global_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLGlobalStub(object): """@defgroup SLGlobal @@ -26,12 +46,12 @@ def __init__(self, channel): '/service_layer.SLGlobal/SLGlobalInitNotif', request_serializer=sl__global__pb2.SLInitMsg.SerializeToString, response_deserializer=sl__global__pb2.SLGlobalNotif.FromString, - ) + _registered_method=True) self.SLGlobalsGet = channel.unary_unary( '/service_layer.SLGlobal/SLGlobalsGet', request_serializer=sl__global__pb2.SLGlobalsGetMsg.SerializeToString, response_deserializer=sl__global__pb2.SLGlobalsGetMsgRsp.FromString, - ) + _registered_method=True) class SLGlobalServicer(object): @@ -66,6 +86,7 @@ def SLGlobalInitNotif(self, request, context): def SLGlobalsGet(self, request, context): """Get platform specific globals + Used to retrieve platform-specific capabilities and configuration limits. @} """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -89,6 +110,7 @@ def add_SLGlobalServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLGlobal', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLGlobal', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -114,11 +136,21 @@ def SLGlobalInitNotif(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLGlobal/SLGlobalInitNotif', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLGlobal/SLGlobalInitNotif', sl__global__pb2.SLInitMsg.SerializeToString, sl__global__pb2.SLGlobalNotif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLGlobalsGet(request, @@ -131,8 +163,18 @@ def SLGlobalsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLGlobal/SLGlobalsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLGlobal/SLGlobalsGet', sl__global__pb2.SLGlobalsGetMsg.SerializeToString, sl__global__pb2.SLGlobalsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_interface_pb2.py b/grpc/python/src/genpy/sl_interface_pb2.py index 04abef10..2b1ffec9 100644 --- a/grpc/python/src/genpy/sl_interface_pb2.py +++ b/grpc/python/src/genpy/sl_interface_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_interface.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_interface.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_interface_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLINTERFACESTATE']._serialized_start=970 _globals['_SLINTERFACESTATE']._serialized_end=1181 diff --git a/grpc/python/src/genpy/sl_interface_pb2_grpc.py b/grpc/python/src/genpy/sl_interface_pb2_grpc.py index dff67949..dc42c46b 100644 --- a/grpc/python/src/genpy/sl_interface_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_interface_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_interface_pb2 as sl__interface__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_interface_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLInterfaceOperStub(object): """@defgroup Interfaces @@ -27,7 +47,7 @@ def __init__(self, channel): '/service_layer.SLInterfaceOper/SLInterfaceNotifStream', request_serializer=sl__interface__pb2.SLInterfaceNotifMsg.SerializeToString, response_deserializer=sl__interface__pb2.SLInterfaceNotif.FromString, - ) + _registered_method=True) class SLInterfaceOperServicer(object): @@ -66,6 +86,7 @@ def add_SLInterfaceOperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLInterfaceOper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLInterfaceOper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -92,8 +113,18 @@ def SLInterfaceNotifStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLInterfaceOper/SLInterfaceNotifStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLInterfaceOper/SLInterfaceNotifStream', sl__interface__pb2.SLInterfaceNotifMsg.SerializeToString, sl__interface__pb2.SLInterfaceNotif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_l2_route_pb2.py b/grpc/python/src/genpy/sl_l2_route_pb2.py index b90346ce..5589c3f9 100644 --- a/grpc/python/src/genpy/sl_l2_route_pb2.py +++ b/grpc/python/src/genpy/sl_l2_route_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_l2_route.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_l2_route.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_l2_route_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLL2ROUTETYPE']._serialized_start=3621 _globals['_SLL2ROUTETYPE']._serialized_end=3705 diff --git a/grpc/python/src/genpy/sl_l2_route_pb2_grpc.py b/grpc/python/src/genpy/sl_l2_route_pb2_grpc.py index d1e84f20..129fd1ee 100644 --- a/grpc/python/src/genpy/sl_l2_route_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_l2_route_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_l2_route_pb2 as sl__l2__route__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_l2_route_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLL2OperStub(object): """@defgroup SLRouteL2Oper @@ -27,32 +47,32 @@ def __init__(self, channel): '/service_layer.SLL2Oper/SLL2GlobalsGet', request_serializer=sl__l2__route__pb2.SLL2GlobalsGetMsg.SerializeToString, response_deserializer=sl__l2__route__pb2.SLL2GlobalsGetMsgRsp.FromString, - ) + _registered_method=True) self.SLL2RegOp = channel.unary_unary( '/service_layer.SLL2Oper/SLL2RegOp', request_serializer=sl__l2__route__pb2.SLL2RegMsg.SerializeToString, response_deserializer=sl__l2__route__pb2.SLL2RegMsgRsp.FromString, - ) + _registered_method=True) self.SLL2BdRegOp = channel.unary_unary( '/service_layer.SLL2Oper/SLL2BdRegOp', request_serializer=sl__l2__route__pb2.SLL2BdRegMsg.SerializeToString, response_deserializer=sl__l2__route__pb2.SLL2BdRegMsgRsp.FromString, - ) + _registered_method=True) self.SLL2RouteOp = channel.unary_unary( '/service_layer.SLL2Oper/SLL2RouteOp', request_serializer=sl__l2__route__pb2.SLL2RouteMsg.SerializeToString, response_deserializer=sl__l2__route__pb2.SLL2RouteMsgRsp.FromString, - ) + _registered_method=True) self.SLL2RouteOpStream = channel.stream_stream( '/service_layer.SLL2Oper/SLL2RouteOpStream', request_serializer=sl__l2__route__pb2.SLL2RouteMsg.SerializeToString, response_deserializer=sl__l2__route__pb2.SLL2RouteMsgRsp.FromString, - ) + _registered_method=True) self.SLL2GetNotifStream = channel.stream_stream( '/service_layer.SLL2Oper/SLL2GetNotifStream', request_serializer=sl__l2__route__pb2.SLL2GetNotifMsg.SerializeToString, response_deserializer=sl__l2__route__pb2.SLL2Notif.FromString, - ) + _registered_method=True) class SLL2OperServicer(object): @@ -239,6 +259,7 @@ def add_SLL2OperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLL2Oper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLL2Oper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -265,11 +286,21 @@ def SLL2GlobalsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLL2Oper/SLL2GlobalsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLL2Oper/SLL2GlobalsGet', sl__l2__route__pb2.SLL2GlobalsGetMsg.SerializeToString, sl__l2__route__pb2.SLL2GlobalsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLL2RegOp(request, @@ -282,11 +313,21 @@ def SLL2RegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLL2Oper/SLL2RegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLL2Oper/SLL2RegOp', sl__l2__route__pb2.SLL2RegMsg.SerializeToString, sl__l2__route__pb2.SLL2RegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLL2BdRegOp(request, @@ -299,11 +340,21 @@ def SLL2BdRegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLL2Oper/SLL2BdRegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLL2Oper/SLL2BdRegOp', sl__l2__route__pb2.SLL2BdRegMsg.SerializeToString, sl__l2__route__pb2.SLL2BdRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLL2RouteOp(request, @@ -316,11 +367,21 @@ def SLL2RouteOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLL2Oper/SLL2RouteOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLL2Oper/SLL2RouteOp', sl__l2__route__pb2.SLL2RouteMsg.SerializeToString, sl__l2__route__pb2.SLL2RouteMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLL2RouteOpStream(request_iterator, @@ -333,11 +394,21 @@ def SLL2RouteOpStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLL2Oper/SLL2RouteOpStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLL2Oper/SLL2RouteOpStream', sl__l2__route__pb2.SLL2RouteMsg.SerializeToString, sl__l2__route__pb2.SLL2RouteMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLL2GetNotifStream(request_iterator, @@ -350,8 +421,18 @@ def SLL2GetNotifStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLL2Oper/SLL2GetNotifStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLL2Oper/SLL2GetNotifStream', sl__l2__route__pb2.SLL2GetNotifMsg.SerializeToString, sl__l2__route__pb2.SLL2Notif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_mpls_pb2.py b/grpc/python/src/genpy/sl_mpls_pb2.py index 3e95774c..4cc3a8d9 100644 --- a/grpc/python/src/genpy/sl_mpls_pb2.py +++ b/grpc/python/src/genpy/sl_mpls_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_mpls.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_mpls.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_mpls_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLLABELACTION']._serialized_start=3140 _globals['_SLLABELACTION']._serialized_end=3392 diff --git a/grpc/python/src/genpy/sl_mpls_pb2_grpc.py b/grpc/python/src/genpy/sl_mpls_pb2_grpc.py index ac846591..1cdab585 100644 --- a/grpc/python/src/genpy/sl_mpls_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_mpls_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_mpls_pb2 as sl__mpls__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_mpls_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLMplsOperStub(object): """@defgroup SLMpls @@ -42,47 +62,47 @@ def __init__(self, channel): '/service_layer.SLMplsOper/SLMplsRegOp', request_serializer=sl__mpls__pb2.SLMplsRegMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsRegMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsGet = channel.unary_unary( '/service_layer.SLMplsOper/SLMplsGet', request_serializer=sl__mpls__pb2.SLMplsGetMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsGetMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsGetStats = channel.unary_unary( '/service_layer.SLMplsOper/SLMplsGetStats', request_serializer=sl__mpls__pb2.SLMplsGetMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsGetStatsMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsLabelBlockOp = channel.unary_unary( '/service_layer.SLMplsOper/SLMplsLabelBlockOp', request_serializer=sl__mpls__pb2.SLMplsLabelBlockMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsLabelBlockMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsLabelBlockGet = channel.unary_unary( '/service_layer.SLMplsOper/SLMplsLabelBlockGet', request_serializer=sl__mpls__pb2.SLMplsLabelBlockGetMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsLabelBlockGetMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsIlmOp = channel.unary_unary( '/service_layer.SLMplsOper/SLMplsIlmOp', request_serializer=sl__mpls__pb2.SLMplsIlmMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsIlmMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsIlmGet = channel.unary_unary( '/service_layer.SLMplsOper/SLMplsIlmGet', request_serializer=sl__mpls__pb2.SLMplsIlmGetMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsIlmGetMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsIlmOpStream = channel.stream_stream( '/service_layer.SLMplsOper/SLMplsIlmOpStream', request_serializer=sl__mpls__pb2.SLMplsIlmMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsIlmMsgRsp.FromString, - ) + _registered_method=True) self.SLMplsIlmGetStream = channel.stream_stream( '/service_layer.SLMplsOper/SLMplsIlmGetStream', request_serializer=sl__mpls__pb2.SLMplsIlmGetMsg.SerializeToString, response_deserializer=sl__mpls__pb2.SLMplsIlmGetMsgRsp.FromString, - ) + _registered_method=True) class SLMplsOperServicer(object): @@ -300,6 +320,7 @@ def add_SLMplsOperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLMplsOper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLMplsOper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -341,11 +362,21 @@ def SLMplsRegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsRegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsRegOp', sl__mpls__pb2.SLMplsRegMsg.SerializeToString, sl__mpls__pb2.SLMplsRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsGet(request, @@ -358,11 +389,21 @@ def SLMplsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsGet', sl__mpls__pb2.SLMplsGetMsg.SerializeToString, sl__mpls__pb2.SLMplsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsGetStats(request, @@ -375,11 +416,21 @@ def SLMplsGetStats(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsGetStats', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsGetStats', sl__mpls__pb2.SLMplsGetMsg.SerializeToString, sl__mpls__pb2.SLMplsGetStatsMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsLabelBlockOp(request, @@ -392,11 +443,21 @@ def SLMplsLabelBlockOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsLabelBlockOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsLabelBlockOp', sl__mpls__pb2.SLMplsLabelBlockMsg.SerializeToString, sl__mpls__pb2.SLMplsLabelBlockMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsLabelBlockGet(request, @@ -409,11 +470,21 @@ def SLMplsLabelBlockGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsLabelBlockGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsLabelBlockGet', sl__mpls__pb2.SLMplsLabelBlockGetMsg.SerializeToString, sl__mpls__pb2.SLMplsLabelBlockGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsIlmOp(request, @@ -426,11 +497,21 @@ def SLMplsIlmOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsIlmOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsIlmOp', sl__mpls__pb2.SLMplsIlmMsg.SerializeToString, sl__mpls__pb2.SLMplsIlmMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsIlmGet(request, @@ -443,11 +524,21 @@ def SLMplsIlmGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLMplsOper/SLMplsIlmGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLMplsOper/SLMplsIlmGet', sl__mpls__pb2.SLMplsIlmGetMsg.SerializeToString, sl__mpls__pb2.SLMplsIlmGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsIlmOpStream(request_iterator, @@ -460,11 +551,21 @@ def SLMplsIlmOpStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLMplsOper/SLMplsIlmOpStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLMplsOper/SLMplsIlmOpStream', sl__mpls__pb2.SLMplsIlmMsg.SerializeToString, sl__mpls__pb2.SLMplsIlmMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLMplsIlmGetStream(request_iterator, @@ -477,8 +578,18 @@ def SLMplsIlmGetStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLMplsOper/SLMplsIlmGetStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLMplsOper/SLMplsIlmGetStream', sl__mpls__pb2.SLMplsIlmGetMsg.SerializeToString, sl__mpls__pb2.SLMplsIlmGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_perf_meas_pb2.py b/grpc/python/src/genpy/sl_perf_meas_pb2.py new file mode 100644 index 00000000..ef110c60 --- /dev/null +++ b/grpc/python/src/genpy/sl_perf_meas_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: sl_perf_meas.proto +# Protobuf Python Version: 5.29.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_perf_meas.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import sl_common_types_pb2 as sl__common__types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12sl_perf_meas.proto\x12\rservice_layer\x1a\x15sl_common_types.proto\"\x96\x03\n\x11SLPerfMeasMonitor\x12\x1c\n\x0fPerfSessionName\x18\x01 \x01(\tH\x00\x88\x01\x01\x12*\n\x06Source\x18\x02 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12/\n\x0b\x44\x65stination\x18\x03 \x01(\x0b\x32\x1a.service_layer.SLIpAddress\x12\x12\n\nLabelStack\x18\x04 \x03(\r\x12\x1a\n\rProbeInterval\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cTimeoutCount\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x31\n\rInterfaceInfo\x18\x07 \x01(\x0b\x32\x1a.service_layer.SLInterface\x12\x16\n\tDscpValue\x18\x08 \x01(\rH\x03\x88\x01\x01\x12+\n\x07NextHop\x18\t \x01(\x0b\x32\x1a.service_layer.SLIpAddressB\x12\n\x10_PerfSessionNameB\x10\n\x0e_ProbeIntervalB\x0f\n\r_TimeoutCountB\x0c\n\n_DscpValue\"\xa3\x01\n\x0fSLPerfMeasStats\x12\x34\n\x05State\x18\x01 \x01(\x0e\x32%.service_layer.SLPerfMeasSessionState\x12\x12\n\nProbesSent\x18\x02 \x01(\x04\x12\x16\n\x0eProbesReceived\x18\x03 \x01(\x04\x12\x0e\n\x06MinRtt\x18\x04 \x01(\x04\x12\x0e\n\x06MaxRtt\x18\x05 \x01(\x04\x12\x0e\n\x06\x41vgRtt\x18\x06 \x01(\x04\"\xbb\x01\n\x15SLPerfMeasReqMsgEntry\x12\x13\n\x0bOperationId\x18\x01 \x01(\x04\x12\x31\n\x07MsgType\x18\x02 \x01(\x0e\x32 .service_layer.SLPerfMeasMsgType\x12\x19\n\x0fPerfSessionName\x18\x03 \x01(\tH\x00\x12\x36\n\nParameters\x18\x04 \x01(\x0b\x32 .service_layer.SLPerfMeasMonitorH\x00\x42\x07\n\x05Value\"I\n\x10SLPerfMeasReqMsg\x12\x35\n\x07\x45ntries\x18\x01 \x03(\x0b\x32$.service_layer.SLPerfMeasReqMsgEntry\"z\n\x19SLPerfMeasRespErrMsgEntry\x12\x13\n\x0bOperationId\x18\x01 \x01(\x04\x12/\n\tErrStatus\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLErrorStatus\x12\x17\n\x0fPerfSessionName\x18\x03 \x01(\t\"\xe8\x01\n\x1aSLPerfMeasRespDataMsgEntry\x12\x31\n\x07MsgType\x18\x01 \x01(\x0e\x32 .service_layer.SLPerfMeasMsgType\x12\x17\n\x0fPerfSessionName\x18\x02 \x01(\t\x12\x13\n\x0bOperationId\x18\x03 \x01(\x04\x12/\n\x05Stats\x18\x04 \x01(\x0b\x32\x1e.service_layer.SLPerfMeasStatsH\x00\x12\x30\n\x04Info\x18\x05 \x01(\x0b\x32 .service_layer.SLPerfMeasMonitorH\x00\x42\x06\n\x04\x44\x61ta\"\x85\x01\n\x1bSLPerfMeasRespStateMsgEntry\x12\x34\n\x05State\x18\x01 \x01(\x0e\x32%.service_layer.SLPerfMeasSessionState\x12\x1c\n\x0fPerfSessionName\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x12\n\x10_PerfSessionName\"\xe4\x01\n\x16SLPerfMeasRespMsgEntry\x12\x39\n\x05\x45rror\x18\x01 \x01(\x0b\x32(.service_layer.SLPerfMeasRespErrMsgEntryH\x00\x12\x42\n\rSessionDetail\x18\x02 \x01(\x0b\x32).service_layer.SLPerfMeasRespDataMsgEntryH\x00\x12\x42\n\x0cSessionState\x18\x03 \x01(\x0b\x32*.service_layer.SLPerfMeasRespStateMsgEntryH\x00\x42\x07\n\x05\x45vent\"K\n\x11SLPerfMeasRespMsg\x12\x36\n\x07\x45ntries\x18\x01 \x03(\x0b\x32%.service_layer.SLPerfMeasRespMsgEntry*\xcb\x01\n\x11SLPerfMeasMsgType\x12\x1d\n\x19SL_PERF_MEAS_MSG_RESERVED\x10\x00\x12\x1f\n\x1bSL_PERF_MEAS_CREATE_SESSION\x10\x01\x12\x1f\n\x1bSL_PERF_MEAS_DELETE_SESSION\x10\x02\x12\x1a\n\x16SL_PERF_MEAS_GET_STATS\x10\x03\x12\x19\n\x15SL_PERF_MEAS_GET_INFO\x10\x04\x12\x1e\n\x1aSL_PERF_MEAS_FLUSH_MAX_RTT\x10\x05*\xbe\x01\n\x16SLPerfMeasSessionState\x12\x1f\n\x1bSL_PERF_MEAS_STATE_RESERVED\x10\x00\x12\x1d\n\x19SL_PERF_MEAS_SESSION_DOWN\x10\x01\x12\x1b\n\x17SL_PERF_MEAS_SESSION_UP\x10\x02\x12!\n\x1dSL_PERF_MEAS_SESSION_ALL_DOWN\x10\x03\x12$\n SL_PERF_MEAS_SESSION_ALL_DELETED\x10\x04\x32p\n\x0eSLPerfMeasOper\x12^\n\x15SLPerfMeasNotifStream\x12\x1f.service_layer.SLPerfMeasReqMsg\x1a .service_layer.SLPerfMeasRespMsg(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_perf_meas_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' + _globals['_SLPERFMEASMSGTYPE']._serialized_start=1704 + _globals['_SLPERFMEASMSGTYPE']._serialized_end=1907 + _globals['_SLPERFMEASSESSIONSTATE']._serialized_start=1910 + _globals['_SLPERFMEASSESSIONSTATE']._serialized_end=2100 + _globals['_SLPERFMEASMONITOR']._serialized_start=61 + _globals['_SLPERFMEASMONITOR']._serialized_end=467 + _globals['_SLPERFMEASSTATS']._serialized_start=470 + _globals['_SLPERFMEASSTATS']._serialized_end=633 + _globals['_SLPERFMEASREQMSGENTRY']._serialized_start=636 + _globals['_SLPERFMEASREQMSGENTRY']._serialized_end=823 + _globals['_SLPERFMEASREQMSG']._serialized_start=825 + _globals['_SLPERFMEASREQMSG']._serialized_end=898 + _globals['_SLPERFMEASRESPERRMSGENTRY']._serialized_start=900 + _globals['_SLPERFMEASRESPERRMSGENTRY']._serialized_end=1022 + _globals['_SLPERFMEASRESPDATAMSGENTRY']._serialized_start=1025 + _globals['_SLPERFMEASRESPDATAMSGENTRY']._serialized_end=1257 + _globals['_SLPERFMEASRESPSTATEMSGENTRY']._serialized_start=1260 + _globals['_SLPERFMEASRESPSTATEMSGENTRY']._serialized_end=1393 + _globals['_SLPERFMEASRESPMSGENTRY']._serialized_start=1396 + _globals['_SLPERFMEASRESPMSGENTRY']._serialized_end=1624 + _globals['_SLPERFMEASRESPMSG']._serialized_start=1626 + _globals['_SLPERFMEASRESPMSG']._serialized_end=1701 + _globals['_SLPERFMEASOPER']._serialized_start=2102 + _globals['_SLPERFMEASOPER']._serialized_end=2214 +# @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_perf_meas_pb2_grpc.py b/grpc/python/src/genpy/sl_perf_meas_pb2_grpc.py new file mode 100644 index 00000000..9f68efb4 --- /dev/null +++ b/grpc/python/src/genpy/sl_perf_meas_pb2_grpc.py @@ -0,0 +1,160 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from . import sl_perf_meas_pb2 as sl__perf__meas__pb2 + +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_perf_meas_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + + +class SLPerfMeasOperStub(object): + """@defgroup Performance + @brief Performance monitoring service definitions. + Defines the RPC for programming performance-measurement sessions and + receiving notifications for those sessions. + @{ + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SLPerfMeasNotifStream = channel.stream_stream( + '/service_layer.SLPerfMeasOper/SLPerfMeasNotifStream', + request_serializer=sl__perf__meas__pb2.SLPerfMeasReqMsg.SerializeToString, + response_deserializer=sl__perf__meas__pb2.SLPerfMeasRespMsg.FromString, + _registered_method=True) + + +class SLPerfMeasOperServicer(object): + """@defgroup Performance + @brief Performance monitoring service definitions. + Defines the RPC for programming performance-measurement sessions and + receiving notifications for those sessions. + @{ + """ + + def SLPerfMeasNotifStream(self, request_iterator, context): + """@addtogroup Performance + @{ + + SLPerfMeasNotifStream is a single bidirectional stream that carries + BOTH programming requests (create / delete / get-stats / get-info / + flush-max-rtt, selected via SLPerfMeasReqMsgEntry.MsgType) AND + asynchronous notifications (per-session UP/DOWN state changes, + operation responses, and the SL_PERF_MEAS_SESSION_ALL_DOWN event). + + Lifecycle / ownership contract: + + 1. Session ownership. + A session created on a stream is owned by that stream. A given + server instance allows only one active SLPerfMeasNotifStream + client at a time; a second client connecting will be rejected. + Sessions are not shared across streams. + + 2. Subscribe-before-program. + Clients SHOULD open the stream before issuing any create + request, so that no UP/DOWN notifications are lost between + create and the first read on the stream. + + 3. Stream disconnect (client side). + On client disconnect or transport failure, the server sweeps + all sessions owned by that stream. On reconnect the client + MUST recreate any sessions it needs; nothing is preserved + across the disconnect. + + 4. PM (perf_meas) process disconnect. + If the underlying perf_meas process disconnects from the + server, the server emits SL_PERF_MEAS_SESSION_ALL_DOWN. Local + session state is retained; when PM reconnects, the server + replays all sessions to PM and resumes per-session UP/DOWN + notifications. No client action is required. + + 5. Server (emsd) restart / failover. + Sessions are NOT preserved across a server restart or HA + switchover. After the gRPC stream re-establishes, the client + MUST treat all previously created sessions as gone and + recreate them. + + 6. Reconciliation. + On receiving SL_PERF_MEAS_SESSION_ALL_DOWN the client should + wait for per-session UP notifications (no recreate needed). + On receiving SL_PERF_MEAS_SESSION_ALL_DELETED all SL API-side + sessions have been removed; the client MUST create a fresh + set of sessions (no replay/UP notifications will follow). + + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_SLPerfMeasOperServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SLPerfMeasNotifStream': grpc.stream_stream_rpc_method_handler( + servicer.SLPerfMeasNotifStream, + request_deserializer=sl__perf__meas__pb2.SLPerfMeasReqMsg.FromString, + response_serializer=sl__perf__meas__pb2.SLPerfMeasRespMsg.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'service_layer.SLPerfMeasOper', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLPerfMeasOper', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class SLPerfMeasOper(object): + """@defgroup Performance + @brief Performance monitoring service definitions. + Defines the RPC for programming performance-measurement sessions and + receiving notifications for those sessions. + @{ + """ + + @staticmethod + def SLPerfMeasNotifStream(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLPerfMeasOper/SLPerfMeasNotifStream', + sl__perf__meas__pb2.SLPerfMeasReqMsg.SerializeToString, + sl__perf__meas__pb2.SLPerfMeasRespMsg.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_policy_pb2.py b/grpc/python/src/genpy/sl_policy_pb2.py index 6b7e4303..f8d49cce 100644 --- a/grpc/python/src/genpy/sl_policy_pb2.py +++ b/grpc/python/src/genpy/sl_policy_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_policy.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_policy.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_policy_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_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=2459 diff --git a/grpc/python/src/genpy/sl_policy_pb2_grpc.py b/grpc/python/src/genpy/sl_policy_pb2_grpc.py index a011d406..15e0ba85 100644 --- a/grpc/python/src/genpy/sl_policy_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_policy_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_policy_pb2 as sl__policy__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_policy_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLPolicyStub(object): """@defgroup SLPolicy @@ -30,17 +50,17 @@ def __init__(self, channel): '/service_layer.SLPolicy/SLPolicyOp', request_serializer=sl__policy__pb2.SLPolicyOpMsg.SerializeToString, response_deserializer=sl__policy__pb2.SLPolicyOpRsp.FromString, - ) + _registered_method=True) self.SLPolicyGet = channel.unary_stream( '/service_layer.SLPolicy/SLPolicyGet', request_serializer=sl__policy__pb2.SLPolicyGetMsg.SerializeToString, response_deserializer=sl__policy__pb2.SLPolicyGetMsgRsp.FromString, - ) + _registered_method=True) self.SLPolicyGlobalGet = channel.unary_unary( '/service_layer.SLPolicy/SLPolicyGlobalGet', request_serializer=sl__policy__pb2.SLPolicyGlobalGetMsg.SerializeToString, response_deserializer=sl__policy__pb2.SLPolicyGlobalGetMsgRsp.FromString, - ) + _registered_method=True) class SLPolicyServicer(object): @@ -221,6 +241,7 @@ def add_SLPolicyServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLPolicy', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLPolicy', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -250,11 +271,21 @@ def SLPolicyOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLPolicy/SLPolicyOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLPolicy/SLPolicyOp', sl__policy__pb2.SLPolicyOpMsg.SerializeToString, sl__policy__pb2.SLPolicyOpRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLPolicyGet(request, @@ -267,11 +298,21 @@ def SLPolicyGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/service_layer.SLPolicy/SLPolicyGet', + return grpc.experimental.unary_stream( + request, + target, + '/service_layer.SLPolicy/SLPolicyGet', sl__policy__pb2.SLPolicyGetMsg.SerializeToString, sl__policy__pb2.SLPolicyGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLPolicyGlobalGet(request, @@ -284,8 +325,18 @@ def SLPolicyGlobalGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLPolicy/SLPolicyGlobalGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLPolicy/SLPolicyGlobalGet', sl__policy__pb2.SLPolicyGlobalGetMsg.SerializeToString, sl__policy__pb2.SLPolicyGlobalGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_route_common_pb2.py b/grpc/python/src/genpy/sl_route_common_pb2.py index 5eaf4aca..812ec6e3 100644 --- a/grpc/python/src/genpy/sl_route_common_pb2.py +++ b/grpc/python/src/genpy/sl_route_common_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_route_common.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_route_common.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -15,24 +25,26 @@ 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\"\xef\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.SLRouteFlags\x12\x0e\n\x06Metric\x18\x08 \x01(\r\x12\x31\n\x08Priority\x18\t \x01(\x0e\x32\x1f.service_layer.SLUpdatePriorityJ\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\"\xa1\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\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\x0eJ\x04\x08\x05\x10\x06R\x05\x46lagsR\x06Metric\"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') +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\"\xef\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.SLRouteFlags\x12\x0e\n\x06Metric\x18\x08 \x01(\r\x12\x31\n\x08Priority\x18\t \x01(\x0e\x32\x1f.service_layer.SLUpdatePriorityJ\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\"\xd3\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\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\x12\x13\n\x0b\x42\x61\x63kupIndex\x18\x10 \x03(\r\x12\x1b\n\x13MinResolutionLength\x18\x11 \x01(\rB\x07\n\x05\x65ntryJ\x04\x08\r\x10\x0eJ\x04\x08\x05\x10\x06R\x05\x46lagsR\x06Metric\"\xf2\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\x12\x36\n\rUnderlayLevel\x18\x05 \x01(\x0e\x32\x1f.service_layer.SLUnderlayLevels\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\"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*\x86\x02\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\x12\x1f\n\x1bSL_ROUTE_FLAG_FRR_PATHGROUP\x10\x05\x12!\n\x1dSL_ROUTE_FLAG_LOSSLESS_UPDATE\x10\x06*c\n\x0bSLPathFlags\x12\x19\n\x15SL_PATH_FLAG_RESERVED\x10\x00\x12 \n\x1cSL_PATH_FLAG_SINGLE_PATH_OPT\x10\x01\x12\x17\n\x13SL_PATH_FLAG_BACKUP\x10\x03*V\n\x10SLUnderlayLevels\x12\x1d\n\x19SL_UNDERLAY_LEVEL_DEFAULT\x10\x00\x12#\n\x1fSL_UNDERLAY_LEVEL_NO_FLATTENING\x10\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_route_common_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLROUTEPATH'].fields_by_name['EncapType']._options = None + _globals['_SLROUTEPATH'].fields_by_name['EncapType']._loaded_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']._loaded_options = None _globals['_SLROUTEPATH'].fields_by_name['VtepRouterMacAddress']._serialized_options = b'\030\001' - _globals['_SLNOTIFTYPE']._serialized_start=2567 - _globals['_SLNOTIFTYPE']._serialized_end=2769 - _globals['_SLROUTEFLAGS']._serialized_start=2772 - _globals['_SLROUTEFLAGS']._serialized_end=2966 - _globals['_SLPATHFLAGS']._serialized_start=2968 - _globals['_SLPATHFLAGS']._serialized_end=3042 + _globals['_SLNOTIFTYPE']._serialized_start=2990 + _globals['_SLNOTIFTYPE']._serialized_end=3192 + _globals['_SLROUTEFLAGS']._serialized_start=3195 + _globals['_SLROUTEFLAGS']._serialized_end=3457 + _globals['_SLPATHFLAGS']._serialized_start=3459 + _globals['_SLPATHFLAGS']._serialized_end=3558 + _globals['_SLUNDERLAYLEVELS']._serialized_start=3560 + _globals['_SLUNDERLAYLEVELS']._serialized_end=3646 _globals['_SLROUTEGLOBALSGETMSG']._serialized_start=63 _globals['_SLROUTEGLOBALSGETMSG']._serialized_end=85 _globals['_SLROUTEGLOBALSGETMSGRSP']._serialized_start=88 @@ -70,7 +82,13 @@ _globals['_SLVXLANPATH']._serialized_start=1759 _globals['_SLVXLANPATH']._serialized_end=1936 _globals['_SLROUTEPATH']._serialized_start=1939 - _globals['_SLROUTEPATH']._serialized_end=2484 - _globals['_SLROUTEPREFIX']._serialized_start=2486 - _globals['_SLROUTEPREFIX']._serialized_end=2564 + _globals['_SLROUTEPATH']._serialized_end=2534 + _globals['_SLPATHGROUP']._serialized_start=2537 + _globals['_SLPATHGROUP']._serialized_end=2907 + _globals['_SLPATHGROUP_SLPATH']._serialized_start=2784 + _globals['_SLPATHGROUP_SLPATH']._serialized_end=2834 + _globals['_SLPATHGROUP_SLPATHLIST']._serialized_start=2836 + _globals['_SLPATHGROUP_SLPATHLIST']._serialized_end=2898 + _globals['_SLROUTEPREFIX']._serialized_start=2909 + _globals['_SLROUTEPREFIX']._serialized_end=2987 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_route_common_pb2_grpc.py b/grpc/python/src/genpy/sl_route_common_pb2_grpc.py index 2daafffe..ab059b87 100644 --- a/grpc/python/src/genpy/sl_route_common_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_route_common_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_route_common_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/grpc/python/src/genpy/sl_route_ipv4_pb2.py b/grpc/python/src/genpy/sl_route_ipv4_pb2.py index 1d137ad7..47e87744 100644 --- a/grpc/python/src/genpy/sl_route_ipv4_pb2.py +++ b/grpc/python/src/genpy/sl_route_ipv4_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_route_ipv4.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_route_ipv4.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_route_ipv4_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_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=228 diff --git a/grpc/python/src/genpy/sl_route_ipv4_pb2_grpc.py b/grpc/python/src/genpy/sl_route_ipv4_pb2_grpc.py index 15312255..4348b157 100644 --- a/grpc/python/src/genpy/sl_route_ipv4_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_route_ipv4_pb2_grpc.py @@ -1,10 +1,30 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_route_common_pb2 as sl__route__common__pb2 from . import sl_route_ipv4_pb2 as sl__route__ipv4__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_route_ipv4_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLRoutev4OperStub(object): """@defgroup SLRouteIPv4Oper @@ -29,52 +49,52 @@ def __init__(self, channel): '/service_layer.SLRoutev4Oper/SLRoutev4GlobalsGet', request_serializer=sl__route__common__pb2.SLRouteGlobalsGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLRouteGlobalsGetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4GlobalStatsGet = channel.unary_unary( '/service_layer.SLRoutev4Oper/SLRoutev4GlobalStatsGet', request_serializer=sl__route__common__pb2.SLRouteGlobalStatsGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLRouteGlobalStatsGetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4VrfRegOp = channel.unary_unary( '/service_layer.SLRoutev4Oper/SLRoutev4VrfRegOp', request_serializer=sl__route__common__pb2.SLVrfRegMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLVrfRegMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4VrfRegGet = channel.unary_unary( '/service_layer.SLRoutev4Oper/SLRoutev4VrfRegGet', request_serializer=sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLVrfRegGetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4VrfGetStats = channel.unary_unary( '/service_layer.SLRoutev4Oper/SLRoutev4VrfGetStats', request_serializer=sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLVRFGetStatsMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4Op = channel.unary_unary( '/service_layer.SLRoutev4Oper/SLRoutev4Op', request_serializer=sl__route__ipv4__pb2.SLRoutev4Msg.SerializeToString, response_deserializer=sl__route__ipv4__pb2.SLRoutev4MsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4Get = channel.unary_unary( '/service_layer.SLRoutev4Oper/SLRoutev4Get', request_serializer=sl__route__ipv4__pb2.SLRoutev4GetMsg.SerializeToString, response_deserializer=sl__route__ipv4__pb2.SLRoutev4GetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4OpStream = channel.stream_stream( '/service_layer.SLRoutev4Oper/SLRoutev4OpStream', request_serializer=sl__route__ipv4__pb2.SLRoutev4Msg.SerializeToString, response_deserializer=sl__route__ipv4__pb2.SLRoutev4MsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4GetStream = channel.stream_stream( '/service_layer.SLRoutev4Oper/SLRoutev4GetStream', request_serializer=sl__route__ipv4__pb2.SLRoutev4GetMsg.SerializeToString, response_deserializer=sl__route__ipv4__pb2.SLRoutev4GetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev4GetNotifStream = channel.stream_stream( '/service_layer.SLRoutev4Oper/SLRoutev4GetNotifStream', request_serializer=sl__route__common__pb2.SLRouteGetNotifMsg.SerializeToString, response_deserializer=sl__route__ipv4__pb2.SLRoutev4Notif.FromString, - ) + _registered_method=True) class SLRoutev4OperServicer(object): @@ -302,6 +322,7 @@ def add_SLRoutev4OperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLRoutev4Oper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLRoutev4Oper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -329,11 +350,21 @@ def SLRoutev4GlobalsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4GlobalsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4GlobalsGet', sl__route__common__pb2.SLRouteGlobalsGetMsg.SerializeToString, sl__route__common__pb2.SLRouteGlobalsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4GlobalStatsGet(request, @@ -346,11 +377,21 @@ def SLRoutev4GlobalStatsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4GlobalStatsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4GlobalStatsGet', sl__route__common__pb2.SLRouteGlobalStatsGetMsg.SerializeToString, sl__route__common__pb2.SLRouteGlobalStatsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4VrfRegOp(request, @@ -363,11 +404,21 @@ def SLRoutev4VrfRegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4VrfRegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4VrfRegOp', sl__route__common__pb2.SLVrfRegMsg.SerializeToString, sl__route__common__pb2.SLVrfRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4VrfRegGet(request, @@ -380,11 +431,21 @@ def SLRoutev4VrfRegGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4VrfRegGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4VrfRegGet', sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, sl__route__common__pb2.SLVrfRegGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4VrfGetStats(request, @@ -397,11 +458,21 @@ def SLRoutev4VrfGetStats(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4VrfGetStats', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4VrfGetStats', sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, sl__route__common__pb2.SLVRFGetStatsMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4Op(request, @@ -414,11 +485,21 @@ def SLRoutev4Op(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4Op', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4Op', sl__route__ipv4__pb2.SLRoutev4Msg.SerializeToString, sl__route__ipv4__pb2.SLRoutev4MsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4Get(request, @@ -431,11 +512,21 @@ def SLRoutev4Get(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev4Oper/SLRoutev4Get', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4Get', sl__route__ipv4__pb2.SLRoutev4GetMsg.SerializeToString, sl__route__ipv4__pb2.SLRoutev4GetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4OpStream(request_iterator, @@ -448,11 +539,21 @@ def SLRoutev4OpStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLRoutev4Oper/SLRoutev4OpStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4OpStream', sl__route__ipv4__pb2.SLRoutev4Msg.SerializeToString, sl__route__ipv4__pb2.SLRoutev4MsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4GetStream(request_iterator, @@ -465,11 +566,21 @@ def SLRoutev4GetStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLRoutev4Oper/SLRoutev4GetStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4GetStream', sl__route__ipv4__pb2.SLRoutev4GetMsg.SerializeToString, sl__route__ipv4__pb2.SLRoutev4GetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev4GetNotifStream(request_iterator, @@ -482,8 +593,18 @@ def SLRoutev4GetNotifStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLRoutev4Oper/SLRoutev4GetNotifStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLRoutev4Oper/SLRoutev4GetNotifStream', sl__route__common__pb2.SLRouteGetNotifMsg.SerializeToString, sl__route__ipv4__pb2.SLRoutev4Notif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_route_ipv6_pb2.py b/grpc/python/src/genpy/sl_route_ipv6_pb2.py index a164522b..76c6848b 100644 --- a/grpc/python/src/genpy/sl_route_ipv6_pb2.py +++ b/grpc/python/src/genpy/sl_route_ipv6_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_route_ipv6.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_route_ipv6.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_route_ipv6_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_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=228 diff --git a/grpc/python/src/genpy/sl_route_ipv6_pb2_grpc.py b/grpc/python/src/genpy/sl_route_ipv6_pb2_grpc.py index 5de4872d..f8e97a1c 100644 --- a/grpc/python/src/genpy/sl_route_ipv6_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_route_ipv6_pb2_grpc.py @@ -1,10 +1,30 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_route_common_pb2 as sl__route__common__pb2 from . import sl_route_ipv6_pb2 as sl__route__ipv6__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_route_ipv6_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLRoutev6OperStub(object): """@defgroup SLRouteIPv6Oper @@ -29,52 +49,52 @@ def __init__(self, channel): '/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet', request_serializer=sl__route__common__pb2.SLRouteGlobalsGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLRouteGlobalsGetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6GlobalStatsGet = channel.unary_unary( '/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet', request_serializer=sl__route__common__pb2.SLRouteGlobalStatsGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLRouteGlobalStatsGetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6VrfRegOp = channel.unary_unary( '/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp', request_serializer=sl__route__common__pb2.SLVrfRegMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLVrfRegMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6VrfRegGet = channel.unary_unary( '/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet', request_serializer=sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLVrfRegGetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6VrfGetStats = channel.unary_unary( '/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats', request_serializer=sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, response_deserializer=sl__route__common__pb2.SLVRFGetStatsMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6Op = channel.unary_unary( '/service_layer.SLRoutev6Oper/SLRoutev6Op', request_serializer=sl__route__ipv6__pb2.SLRoutev6Msg.SerializeToString, response_deserializer=sl__route__ipv6__pb2.SLRoutev6MsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6Get = channel.unary_unary( '/service_layer.SLRoutev6Oper/SLRoutev6Get', request_serializer=sl__route__ipv6__pb2.SLRoutev6GetMsg.SerializeToString, response_deserializer=sl__route__ipv6__pb2.SLRoutev6GetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6OpStream = channel.stream_stream( '/service_layer.SLRoutev6Oper/SLRoutev6OpStream', request_serializer=sl__route__ipv6__pb2.SLRoutev6Msg.SerializeToString, response_deserializer=sl__route__ipv6__pb2.SLRoutev6MsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6GetStream = channel.stream_stream( '/service_layer.SLRoutev6Oper/SLRoutev6GetStream', request_serializer=sl__route__ipv6__pb2.SLRoutev6GetMsg.SerializeToString, response_deserializer=sl__route__ipv6__pb2.SLRoutev6GetMsgRsp.FromString, - ) + _registered_method=True) self.SLRoutev6GetNotifStream = channel.stream_stream( '/service_layer.SLRoutev6Oper/SLRoutev6GetNotifStream', request_serializer=sl__route__common__pb2.SLRouteGetNotifMsg.SerializeToString, response_deserializer=sl__route__ipv6__pb2.SLRoutev6Notif.FromString, - ) + _registered_method=True) class SLRoutev6OperServicer(object): @@ -302,6 +322,7 @@ def add_SLRoutev6OperServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLRoutev6Oper', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLRoutev6Oper', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -329,11 +350,21 @@ def SLRoutev6GlobalsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet', sl__route__common__pb2.SLRouteGlobalsGetMsg.SerializeToString, sl__route__common__pb2.SLRouteGlobalsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6GlobalStatsGet(request, @@ -346,11 +377,21 @@ def SLRoutev6GlobalStatsGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet', sl__route__common__pb2.SLRouteGlobalStatsGetMsg.SerializeToString, sl__route__common__pb2.SLRouteGlobalStatsGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6VrfRegOp(request, @@ -363,11 +404,21 @@ def SLRoutev6VrfRegOp(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp', sl__route__common__pb2.SLVrfRegMsg.SerializeToString, sl__route__common__pb2.SLVrfRegMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6VrfRegGet(request, @@ -380,11 +431,21 @@ def SLRoutev6VrfRegGet(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet', sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, sl__route__common__pb2.SLVrfRegGetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6VrfGetStats(request, @@ -397,11 +458,21 @@ def SLRoutev6VrfGetStats(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats', sl__route__common__pb2.SLVrfRegGetMsg.SerializeToString, sl__route__common__pb2.SLVRFGetStatsMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6Op(request, @@ -414,11 +485,21 @@ def SLRoutev6Op(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6Op', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6Op', sl__route__ipv6__pb2.SLRoutev6Msg.SerializeToString, sl__route__ipv6__pb2.SLRoutev6MsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6Get(request, @@ -431,11 +512,21 @@ def SLRoutev6Get(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/service_layer.SLRoutev6Oper/SLRoutev6Get', + return grpc.experimental.unary_unary( + request, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6Get', sl__route__ipv6__pb2.SLRoutev6GetMsg.SerializeToString, sl__route__ipv6__pb2.SLRoutev6GetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6OpStream(request_iterator, @@ -448,11 +539,21 @@ def SLRoutev6OpStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLRoutev6Oper/SLRoutev6OpStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6OpStream', sl__route__ipv6__pb2.SLRoutev6Msg.SerializeToString, sl__route__ipv6__pb2.SLRoutev6MsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6GetStream(request_iterator, @@ -465,11 +566,21 @@ def SLRoutev6GetStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLRoutev6Oper/SLRoutev6GetStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6GetStream', sl__route__ipv6__pb2.SLRoutev6GetMsg.SerializeToString, sl__route__ipv6__pb2.SLRoutev6GetMsgRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def SLRoutev6GetNotifStream(request_iterator, @@ -482,8 +593,18 @@ def SLRoutev6GetNotifStream(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLRoutev6Oper/SLRoutev6GetNotifStream', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLRoutev6Oper/SLRoutev6GetNotifStream', sl__route__common__pb2.SLRouteGetNotifMsg.SerializeToString, sl__route__ipv6__pb2.SLRoutev6Notif.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_sr_common_pb2.py b/grpc/python/src/genpy/sl_sr_common_pb2.py index 3a0763b0..fb2ea61a 100644 --- a/grpc/python/src/genpy/sl_sr_common_pb2.py +++ b/grpc/python/src/genpy/sl_sr_common_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_sr_common.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_sr_common.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,8 +30,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_sr_common_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLSRPOLICYPROTOCOLORIGIN']._serialized_start=2253 _globals['_SLSRPOLICYPROTOCOLORIGIN']._serialized_end=2653 diff --git a/grpc/python/src/genpy/sl_sr_common_pb2_grpc.py b/grpc/python/src/genpy/sl_sr_common_pb2_grpc.py index 2daafffe..d5739882 100644 --- a/grpc/python/src/genpy/sl_sr_common_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_sr_common_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_sr_common_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/grpc/python/src/genpy/sl_srte_policy_pb2.py b/grpc/python/src/genpy/sl_srte_policy_pb2.py index 19dedaf5..f76cb355 100644 --- a/grpc/python/src/genpy/sl_srte_policy_pb2.py +++ b/grpc/python/src/genpy/sl_srte_policy_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_srte_policy.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_srte_policy.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -15,13 +25,13 @@ from . import sl_sr_common_pb2 as sl__sr__common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14sl_srte_policy.proto\x12\rservice_layer\x1a\x12sl_sr_common.proto\"\x81\x01\n\rSLSrPolicyMsg\x12-\n\x04open\x18\x01 \x01(\x0b\x32\x1d.service_layer.SLSrPolicyOpenH\x00\x12\x35\n\x08requests\x18\x02 \x01(\x0b\x32!.service_layer.SLSrPolicyRequestsH\x00\x42\n\n\x08msg_type\"\xee\x01\n\rSLSrPolicyRsp\x12\x39\n\tresponses\x18\x01 \x03(\x0b\x32&.service_layer.SLSrPolicyRsp.PolicyRsp\x12)\n\x06status\x18\x02 \x01(\x0b\x32\x19.service_layer.SLSrStatus\x1aw\n\tPolicyRsp\x12\x14\n\x0coperation_id\x18\x01 \x01(\x04\x12)\n\x03key\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLSrPolicyKey\x12)\n\x06status\x18\x03 \x01(\x0b\x32\x19.service_layer.SLSrStatus\"\x95\x01\n\x0eSLSrPolicyOpen\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12?\n\x04mode\x18\x03 \x01(\x0e\x32\x31.service_layer.SLSrPolicyOpen.SLSrPersistenceMode\"/\n\x13SLSrPersistenceMode\x12\n\n\x06\x44\x45LETE\x10\x00\x12\x0c\n\x08PRESERVE\x10\x01\"C\n\x12SLSrPolicyRequests\x12-\n\x07request\x18\x01 \x03(\x0b\x32\x1c.service_layer.SLSrPolicyReq\"\xa2\x01\n\rSLSrPolicyReq\x12\x36\n\toperation\x18\x01 \x01(\x0e\x32#.service_layer.SLSrPolicyReq.SLSrOp\x12)\n\x06policy\x18\x02 \x01(\x0b\x32\x19.service_layer.SLSrPolicy\".\n\x06SLSrOp\x12\x0c\n\x08RESERVED\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\"\x11\n\x0fSLSrEndOfReplay\"\x13\n\x11SLSrStartOfReplay\"\xb0\x01\n\nSLSrPolicy\x12\x14\n\x0coperation_id\x18\x01 \x01(\x04\x12)\n\x03key\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLSrPolicyKey\x12\x32\n\x05\x61ttrs\x18\x03 \x01(\x0b\x32#.service_layer.SLSrPolicyAttributes\x12-\n\x03\x43Ps\x18\x04 \x03(\x0b\x32 .service_layer.SLSrCandidatePath\"\xe2\x01\n\x14SLSrPolicyAttributes\x12\x18\n\x10transit_eligible\x18\x02 \x01(\x08\x12/\n\tdataplane\x18\x03 \x01(\x0e\x32\x1c.service_layer.SLSrDataplane\x12\x34\n\tmpls_bsid\x18\x04 \x01(\x0b\x32!.service_layer.SLSrMPLSBindingSID\x12\x35\n\nsrv6_bsids\x18\x05 \x03(\x0b\x32!.service_layer.SLSrSrv6BindingSID\x12\x12\n\nprofile_id\x18\x06 \x01(\r\"\xe5\x01\n\x11SLSrCandidatePath\x12\x30\n\x03key\x18\x02 \x01(\x0b\x32#.service_layer.SLSrCandidatePathKey\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x17\n\npreference\x18\x04 \x01(\rH\x01\x88\x01\x01\x12/\n\x07\x64ynamic\x18\x05 \x01(\x0b\x32\x1c.service_layer.SLSrDynamicCPH\x00\x12\x31\n\x08\x65xplicit\x18\x06 \x01(\x0b\x32\x1d.service_layer.SLSrExplicitCPH\x00\x42\x04\n\x02\x43PB\r\n\x0b_preference\"[\n\x0eSLSrExplicitCP\x12\x34\n\x0csegment_list\x18\x01 \x03(\x0b\x32\x1e.service_layer.SLSrSegmentList\x12\x13\n\x0bmetric_type\x18\x03 \x01(\r\"Y\n\rSLSrDynamicCP\x12\x13\n\x0bmetric_type\x18\x01 \x01(\r\x12\x33\n\x0b\x63onstraints\x18\x02 \x01(\x0b\x32\x1e.service_layer.SLSrConstraints\"\xbb\x01\n\x0fSLSrConstraints\x12\x31\n\naffinities\x18\x01 \x01(\x0b\x32\x1d.service_layer.SLSrAffinities\x12\x36\n\rsegment_rules\x18\x02 \x01(\x0b\x32\x1f.service_layer.SLSrSegmentRules\x12=\n\x0bupper_bound\x18\x03 \x01(\x0b\x32(.service_layer.SLSrUpperBoundConstraints\"Y\n\x12SLSrSrv6BindingSID\x12;\n\x07\x64ynamic\x18\x02 \x01(\x0b\x32(.service_layer.SLSrSrv6DynamicBindingSIDH\x00\x42\x06\n\x04type\":\n\x12SLSrMPLSBindingSID\x12\x16\n\tmpls_bsid\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\x0c\n\n_mpls_bsid\";\n\x19SLSrSrv6DynamicBindingSID\x12\x1e\n\x16srv6_endpoint_behavior\x18\x01 \x01(\r2^\n\x0cSLSrtePolicy\x12N\n\x0cSLSrPolicyOp\x12\x1c.service_layer.SLSrPolicyMsg\x1a\x1c.service_layer.SLSrPolicyRsp(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14sl_srte_policy.proto\x12\rservice_layer\x1a\x12sl_sr_common.proto\"\x81\x01\n\rSLSrPolicyMsg\x12-\n\x04open\x18\x01 \x01(\x0b\x32\x1d.service_layer.SLSrPolicyOpenH\x00\x12\x35\n\x08requests\x18\x02 \x01(\x0b\x32!.service_layer.SLSrPolicyRequestsH\x00\x42\n\n\x08msg_type\"\xee\x01\n\rSLSrPolicyRsp\x12\x39\n\tresponses\x18\x01 \x03(\x0b\x32&.service_layer.SLSrPolicyRsp.PolicyRsp\x12)\n\x06status\x18\x02 \x01(\x0b\x32\x19.service_layer.SLSrStatus\x1aw\n\tPolicyRsp\x12\x14\n\x0coperation_id\x18\x01 \x01(\x04\x12)\n\x03key\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLSrPolicyKey\x12)\n\x06status\x18\x03 \x01(\x0b\x32\x19.service_layer.SLSrStatus\"\x95\x01\n\x0eSLSrPolicyOpen\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12?\n\x04mode\x18\x03 \x01(\x0e\x32\x31.service_layer.SLSrPolicyOpen.SLSrPersistenceMode\"/\n\x13SLSrPersistenceMode\x12\n\n\x06\x44\x45LETE\x10\x00\x12\x0c\n\x08PRESERVE\x10\x01\"C\n\x12SLSrPolicyRequests\x12-\n\x07request\x18\x01 \x03(\x0b\x32\x1c.service_layer.SLSrPolicyReq\"\xa2\x01\n\rSLSrPolicyReq\x12\x36\n\toperation\x18\x01 \x01(\x0e\x32#.service_layer.SLSrPolicyReq.SLSrOp\x12)\n\x06policy\x18\x02 \x01(\x0b\x32\x19.service_layer.SLSrPolicy\".\n\x06SLSrOp\x12\x0c\n\x08RESERVED\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\"\x11\n\x0fSLSrEndOfReplay\"\x13\n\x11SLSrStartOfReplay\"\xb0\x01\n\nSLSrPolicy\x12\x14\n\x0coperation_id\x18\x01 \x01(\x04\x12)\n\x03key\x18\x02 \x01(\x0b\x32\x1c.service_layer.SLSrPolicyKey\x12\x32\n\x05\x61ttrs\x18\x03 \x01(\x0b\x32#.service_layer.SLSrPolicyAttributes\x12-\n\x03\x43Ps\x18\x04 \x03(\x0b\x32 .service_layer.SLSrCandidatePath\"\x9f\x02\n\x14SLSrPolicyAttributes\x12\x18\n\x10transit_eligible\x18\x02 \x01(\x08\x12/\n\tdataplane\x18\x03 \x01(\x0e\x32\x1c.service_layer.SLSrDataplane\x12\x34\n\tmpls_bsid\x18\x04 \x01(\x0b\x32!.service_layer.SLSrMPLSBindingSID\x12\x35\n\nsrv6_bsids\x18\x05 \x03(\x0b\x32!.service_layer.SLSrSrv6BindingSID\x12\x12\n\nprofile_id\x18\x06 \x01(\r\x12;\n\nsrv6_attrs\x18\x07 \x01(\x0b\x32\'.service_layer.SLSrSrv6PolicyAttributes\"\xe5\x01\n\x11SLSrCandidatePath\x12\x30\n\x03key\x18\x02 \x01(\x0b\x32#.service_layer.SLSrCandidatePathKey\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x17\n\npreference\x18\x04 \x01(\rH\x01\x88\x01\x01\x12/\n\x07\x64ynamic\x18\x05 \x01(\x0b\x32\x1c.service_layer.SLSrDynamicCPH\x00\x12\x31\n\x08\x65xplicit\x18\x06 \x01(\x0b\x32\x1d.service_layer.SLSrExplicitCPH\x00\x42\x04\n\x02\x43PB\r\n\x0b_preference\"[\n\x0eSLSrExplicitCP\x12\x34\n\x0csegment_list\x18\x01 \x03(\x0b\x32\x1e.service_layer.SLSrSegmentList\x12\x13\n\x0bmetric_type\x18\x03 \x01(\r\"Y\n\rSLSrDynamicCP\x12\x13\n\x0bmetric_type\x18\x01 \x01(\r\x12\x33\n\x0b\x63onstraints\x18\x02 \x01(\x0b\x32\x1e.service_layer.SLSrConstraints\"\xbb\x01\n\x0fSLSrConstraints\x12\x31\n\naffinities\x18\x01 \x01(\x0b\x32\x1d.service_layer.SLSrAffinities\x12\x36\n\rsegment_rules\x18\x02 \x01(\x0b\x32\x1f.service_layer.SLSrSegmentRules\x12=\n\x0bupper_bound\x18\x03 \x01(\x0b\x32(.service_layer.SLSrUpperBoundConstraints\"\x8b\x01\n\x12SLSrSrv6BindingSID\x12\x30\n\x08\x65xplicit\x18\x01 \x01(\x0b\x32\x1c.service_layer.SLSRv6SIDInfoH\x00\x12;\n\x07\x64ynamic\x18\x02 \x01(\x0b\x32(.service_layer.SLSrSrv6DynamicBindingSIDH\x00\x42\x06\n\x04type\":\n\x12SLSrMPLSBindingSID\x12\x16\n\tmpls_bsid\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\x0c\n\n_mpls_bsid\";\n\x19SLSrSrv6DynamicBindingSID\x12\x1e\n\x16srv6_endpoint_behavior\x18\x01 \x01(\r\":\n\x18SLSrSrv6PolicyAttributes\x12\x1e\n\x16install_final_node_sid\x18\x01 \x01(\x08\x32^\n\x0cSLSrtePolicy\x12N\n\x0cSLSrPolicyOp\x12\x1c.service_layer.SLSrPolicyMsg\x1a\x1c.service_layer.SLSrPolicyRsp(\x01\x30\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_srte_policy_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' _globals['_SLSRPOLICYMSG']._serialized_start=60 _globals['_SLSRPOLICYMSG']._serialized_end=189 @@ -46,21 +56,23 @@ _globals['_SLSRPOLICY']._serialized_start=859 _globals['_SLSRPOLICY']._serialized_end=1035 _globals['_SLSRPOLICYATTRIBUTES']._serialized_start=1038 - _globals['_SLSRPOLICYATTRIBUTES']._serialized_end=1264 - _globals['_SLSRCANDIDATEPATH']._serialized_start=1267 - _globals['_SLSRCANDIDATEPATH']._serialized_end=1496 - _globals['_SLSREXPLICITCP']._serialized_start=1498 - _globals['_SLSREXPLICITCP']._serialized_end=1589 - _globals['_SLSRDYNAMICCP']._serialized_start=1591 - _globals['_SLSRDYNAMICCP']._serialized_end=1680 - _globals['_SLSRCONSTRAINTS']._serialized_start=1683 - _globals['_SLSRCONSTRAINTS']._serialized_end=1870 - _globals['_SLSRSRV6BINDINGSID']._serialized_start=1872 - _globals['_SLSRSRV6BINDINGSID']._serialized_end=1961 - _globals['_SLSRMPLSBINDINGSID']._serialized_start=1963 - _globals['_SLSRMPLSBINDINGSID']._serialized_end=2021 - _globals['_SLSRSRV6DYNAMICBINDINGSID']._serialized_start=2023 - _globals['_SLSRSRV6DYNAMICBINDINGSID']._serialized_end=2082 - _globals['_SLSRTEPOLICY']._serialized_start=2084 - _globals['_SLSRTEPOLICY']._serialized_end=2178 + _globals['_SLSRPOLICYATTRIBUTES']._serialized_end=1325 + _globals['_SLSRCANDIDATEPATH']._serialized_start=1328 + _globals['_SLSRCANDIDATEPATH']._serialized_end=1557 + _globals['_SLSREXPLICITCP']._serialized_start=1559 + _globals['_SLSREXPLICITCP']._serialized_end=1650 + _globals['_SLSRDYNAMICCP']._serialized_start=1652 + _globals['_SLSRDYNAMICCP']._serialized_end=1741 + _globals['_SLSRCONSTRAINTS']._serialized_start=1744 + _globals['_SLSRCONSTRAINTS']._serialized_end=1931 + _globals['_SLSRSRV6BINDINGSID']._serialized_start=1934 + _globals['_SLSRSRV6BINDINGSID']._serialized_end=2073 + _globals['_SLSRMPLSBINDINGSID']._serialized_start=2075 + _globals['_SLSRMPLSBINDINGSID']._serialized_end=2133 + _globals['_SLSRSRV6DYNAMICBINDINGSID']._serialized_start=2135 + _globals['_SLSRSRV6DYNAMICBINDINGSID']._serialized_end=2194 + _globals['_SLSRSRV6POLICYATTRIBUTES']._serialized_start=2196 + _globals['_SLSRSRV6POLICYATTRIBUTES']._serialized_end=2254 + _globals['_SLSRTEPOLICY']._serialized_start=2256 + _globals['_SLSRTEPOLICY']._serialized_end=2350 # @@protoc_insertion_point(module_scope) diff --git a/grpc/python/src/genpy/sl_srte_policy_pb2_grpc.py b/grpc/python/src/genpy/sl_srte_policy_pb2_grpc.py index 3dfe32e6..7aa52eaf 100644 --- a/grpc/python/src/genpy/sl_srte_policy_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_srte_policy_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from . import sl_srte_policy_pb2 as sl__srte__policy__pb2 +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_srte_policy_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class SLSrtePolicyStub(object): """@defgroup SLSrtePolicy @@ -26,7 +46,7 @@ def __init__(self, channel): '/service_layer.SLSrtePolicy/SLSrPolicyOp', request_serializer=sl__srte__policy__pb2.SLSrPolicyMsg.SerializeToString, response_deserializer=sl__srte__policy__pb2.SLSrPolicyRsp.FromString, - ) + _registered_method=True) class SLSrtePolicyServicer(object): @@ -64,6 +84,7 @@ def add_SLSrtePolicyServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'service_layer.SLSrtePolicy', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('service_layer.SLSrtePolicy', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -89,8 +110,18 @@ def SLSrPolicyOp(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/service_layer.SLSrtePolicy/SLSrPolicyOp', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/service_layer.SLSrtePolicy/SLSrPolicyOp', sl__srte__policy__pb2.SLSrPolicyMsg.SerializeToString, sl__srte__policy__pb2.SLSrPolicyRsp.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/grpc/python/src/genpy/sl_version_pb2.py b/grpc/python/src/genpy/sl_version_pb2.py index 28472f0a..bcab4775 100644 --- a/grpc/python/src/genpy/sl_version_pb2.py +++ b/grpc/python/src/genpy/sl_version_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: sl_version.proto -# Protobuf Python Version: 4.25.0 +# Protobuf Python Version: 5.29.0 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 0, + '', + 'sl_version.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -14,15 +24,15 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10sl_version.proto\x12\rservice_layer*f\n\tSLVersion\x12\x15\n\x11SL_VERSION_UNUSED\x10\x00\x12\x14\n\x10SL_MAJOR_VERSION\x10\x00\x12\x14\n\x10SL_MINOR_VERSION\x10\x0b\x12\x12\n\x0eSL_SUB_VERSION\x10\x00\x1a\x02\x10\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10sl_version.proto\x12\rservice_layer*f\n\tSLVersion\x12\x15\n\x11SL_VERSION_UNUSED\x10\x00\x12\x14\n\x10SL_MAJOR_VERSION\x10\x00\x12\x14\n\x10SL_MINOR_VERSION\x10\x0c\x12\x12\n\x0eSL_SUB_VERSION\x10\x00\x1a\x02\x10\x01\x42QZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sl_version_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'ZOgithub.com/Cisco-service-layer/service-layer-objmodel/grpc/protos;service_layer' - _globals['_SLVERSION']._options = None + _globals['_SLVERSION']._loaded_options = None _globals['_SLVERSION']._serialized_options = b'\020\001' _globals['_SLVERSION']._serialized_start=35 _globals['_SLVERSION']._serialized_end=137 diff --git a/grpc/python/src/genpy/sl_version_pb2_grpc.py b/grpc/python/src/genpy/sl_version_pb2_grpc.py index 2daafffe..76e6ec9e 100644 --- a/grpc/python/src/genpy/sl_version_pb2_grpc.py +++ b/grpc/python/src/genpy/sl_version_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.70.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in sl_version_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/grpc/python/src/tutorial_slaf/README.md b/grpc/python/src/tutorial_slaf/README.md index 314709cb..b247bc9b 100644 --- a/grpc/python/src/tutorial_slaf/README.md +++ b/grpc/python/src/tutorial_slaf/README.md @@ -107,11 +107,11 @@ First we will showcase the options the tutorial provides, and then show how to b | Argument | Description | | --- | --- | -| --mpls | Test MPLS vertical | -| --start_label | Starting label (default 12000) | -| --out_label | Out label (default 20000) | -| --num_labels | Number of labels (default 1000) | -| --num_paths | Number of paths (default 1) | +| --mpls | Test MPLS vertical | +| --entry_key_label | The starting entry key label (default 12000) | +| --remote_label_stack | The starting label added to the remote label stack (default 20000) | +| --num_labels | Number of labels (default 1000) | +| --num_paths | Number of paths (default 1) | ##### PG Testing (when --rpc 1 option is used) @@ -136,7 +136,7 @@ First we will showcase the options the tutorial provides, and then show how to b | --ack_type | Types of Acknowledgement agent expects: RIB_ACK(0), RIB_AND_FIB_ACK(1), RIB_FIB_INUSE_ACK(2) (default 0) | | --ack_permit | Response types permitted: 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) (default 0) | | --ack_cadence | Cadence of hw programming responses: SL_RSP_CONTINUOUS(0), SL_RSP_JUST_ONCE(1), SL_RSP_ONCE_EACH(2), SL_RSP_NONE(3) (default 0) | -| --route_flag | Control programming of the route/PG to RIB: 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(3), SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH(4) (default 0) | +| --route_flag | Control programming of the route/PG to RIB: SL_ROUTE_FLAG_PREFER_OVER_LDP(1), SL_ROUTE_FLAG_DISABLE_LABEL_MERGE(2), SL_ROUTE_FLAG_VIABLE_PATHS_ONLY(3), SL_ROUTE_FLAG_ACTIVE_ON_VIABLE_PATH(4) (default not set) | ##### Get Testing. When --rpc 2 option is used @@ -220,8 +220,8 @@ MPLS Example: $ python3 quickstart.py -u username -p password --rpc 1 --mpls --route_oper 1 --vrf_reg_oper 1 --stream_case --next_hop_ip 11.0.0.0 --auto_inc_nhip --ack_type 1 Deleting 35 labels with unary RPC. Print out any responses and debug messages: $ python3 quickstart.py -u username -p password --rpc 1 --mpls --route_oper 3 --vrf_reg_oper 1 --num_labels 35 --debug - Adding 2 Label where the start label is 25000 and the out label is 26000: - $ python3 quickstart.py -u username -p password --rpc 1 --mpls --route_oper 1 --vrf_reg_oper 1 --num_labels 2 --start_label 25000 --out_label 26000 --debug + Adding 2 Label where the start label is 25000 and the label for label stack is 26000: + $ python3 quickstart.py -u username -p password --rpc 1 --mpls --route_oper 1 --vrf_reg_oper 1 --num_labels 2 --entry_key_label 25000 --remote_label_stack 26000 --debug Path Group Example: For purposes of this tutorial, we showcase how to create pg for ipv4 routes. diff --git a/grpc/python/src/tutorial_slaf/quickstart.py b/grpc/python/src/tutorial_slaf/quickstart.py index 62d35924..2fe4c737 100644 --- a/grpc/python/src/tutorial_slaf/quickstart.py +++ b/grpc/python/src/tutorial_slaf/quickstart.py @@ -126,8 +126,8 @@ def get_server_ip_port(): # For Programming MPLS labels: # -mpls: Enable MPLS testing. Used in conjunction with the route programming fields. rp_specific.add_argument('--mpls', action='store_true', help='Test MPLS vertical') - rp_specific.add_argument('--start_label', type=int, default=12000, help='Starting label (default 12000)') - rp_specific.add_argument('--out_label', type=int, default=20000, help='Out label (default 20000)') + rp_specific.add_argument('--entry_key_label', type=int, default=12000, help='The starting entry key label (default 12000)') + rp_specific.add_argument('--remote_label_stack', type=int, default=20000, help='The starting label added to the remote label stack (default 20000)') rp_specific.add_argument('--num_labels', type=int, default=1000, help='Number of labels (default 1000)') rp_specific.add_argument('--num_paths', type=int, default=1, help='Number of paths (default 1)') @@ -262,7 +262,7 @@ def get_server_ip_port(): print("Performing mpls operation") slaf.mpls_operation(channel, metadata, args.route_oper, args.route_flag, args.admin_distance, args.ack_type, args.ack_permit, args.ack_cadence, - args.start_label, args.out_label, args.num_labels, args.num_paths, + args.entry_key_label, args.remote_label_stack, args.num_labels, args.num_paths, args.batch_size, args.next_hop_ip, args.next_hop_intf, args.auto_inc_nhip, args.stream_case) if args.pg: diff --git a/grpc/python/src/tutorial_slaf/slaf.py b/grpc/python/src/tutorial_slaf/slaf.py index 873290d5..dabce5a2 100644 --- a/grpc/python/src/tutorial_slaf/slaf.py +++ b/grpc/python/src/tutorial_slaf/slaf.py @@ -350,7 +350,7 @@ def listen_for_responses(ev, response_iterator, addr_family, check_fib): def message_generator(ev): for message in messages: yield message - # If we exit this function it will call a done write, which will result in stream closure + # If we exit this function it will call a done write ev.wait() # Start listening for responses before writing messages @@ -509,19 +509,20 @@ def listen_for_notif_responses(response_iterator): errMessage.append(f'RPC Error: {e}') # Create a generator that yields messages - def notif_message_generator(wait_seconds): + def notif_message_generator(): for message in messages: yield message - # If we exit this function it will call a done write, which will result in stream closure - time.sleep(wait_seconds) + # If we exit this function it will call a done write # Start listening for responses before writing messages - responseIterator = stub.SLAFNotifStream(request_iterator = notif_message_generator(notif_duration,), timeout = Timeout, metadata = metadata) + responseIterator = stub.SLAFNotifStream(request_iterator = notif_message_generator(), timeout = Timeout, metadata = metadata) listenerThread = threading.Thread(target=listen_for_notif_responses, args=(responseIterator,)) listenerThread.start() - # Wait for the listener thread to finish - listenerThread.join() + # Wait for the listener thread to finish. + # Stop listening for responses after notif_duration has passed. + # Once the responseIterator goes out of scope the stream is closed + listenerThread.join(timeout=notif_duration) # Concatenate the error messages with errorMessageLock: @@ -650,10 +651,19 @@ def route_operation(channel, metadata, oper, route_flag, Oper = oper, VrfName = 'default', ) - # Populate a batch with batch_size routes each while setRoutes < num_routes: + # Only add route flag if user set it to valid flag + if route_flag != 0: + route_common = sl_route_common_pb2.SLRouteCommon( + AdminDistance=admin_distance, + RouteFlags=[route_flag] + ) + else: + route_common = sl_route_common_pb2.SLRouteCommon( + AdminDistance=admin_distance + ) # Populate the routes' attributes ipRoute = sl_af_pb2.SLAFIPRoute( IPRoutePrefix = sl_route_common_pb2.SLRoutePrefix( @@ -661,10 +671,7 @@ def route_operation(channel, metadata, oper, route_flag, V4Address = int(ipaddress.ip_address(prefixList[setRoutes]))), PrefixLen = prefix_len ), - RouteCommon = sl_route_common_pb2.SLRouteCommon( - AdminDistance=admin_distance, - RouteFlags=[route_flag] - ) + RouteCommon = route_common ) # We don't need to setup the paths for DELETE @@ -777,16 +784,14 @@ def route_operation(channel, metadata, oper, route_flag, # def mpls_operation(channel, metadata, oper, route_flag, admin_distance, ack_type, ack_permit, ack_cadence, - start_label, out_label, num_labels, num_paths, + entry_key_label, remote_label_stack, num_labels, num_paths, batch_size, next_hop_ip, nexthop_interface, auto_inc_nhip, stream_case): # Initialize variables for message stats - elspIdx, pathIdx, batchIndex = 0,0,0 - numElsps = 0 - sentIlms = 0 - totalIlms = 0 - numIlms = 0 - ilmsInBatch = 0 + pathIdx, batchIndex = 0,0 + sentEntries = 0 + totalEntries = 0 + entriesInBatch = 0 messages = [] global globalOperationID @@ -797,7 +802,7 @@ def mpls_operation(channel, metadata, oper, route_flag, logging.error(f'Invalid number of labels: {num_labels}') os._exit(0) - logging.debug(f'''Start Label: {start_label}, + logging.debug(f'''Start Label: {entry_key_label}, Number of Labels: {num_labels}, Number of Paths: {num_paths}, Batch Size: {batch_size}''') @@ -808,129 +813,123 @@ def mpls_operation(channel, metadata, oper, route_flag, t0 = time.time() # Set the initial variables - label = start_label - numIlms = 1 - totalIlms = num_labels * numIlms + label = entry_key_label + totalEntries = num_labels # batch_size used for appending last message - if batch_size > totalIlms: - batch_size = totalIlms + if batch_size > totalEntries: + batch_size = totalEntries message = sl_af_pb2.SLAFMsg( Oper = oper, VrfName = 'default', ) - # - # Slaf protos currently do not allow elsps to be configured. - # numElsps: > 1 for ELSP, 0 otherwise (configured) - # totalIlms: numLabels * numElsps (calculated) - # batch_size: number of ilms per batch (configured) - # numIlms: number of ilms (1 for non ELSP, numElsps otherwise) - # - while sentIlms < totalIlms: + while sentEntries < totalEntries: logging.debug(f''' - sentIlms: {sentIlms}, + sentEntries: {sentEntries}, batchIndex: {batchIndex}, - ilmsInBatch: {ilmsInBatch}, - numIlms: {numIlms}, + entriesInBatch: {entriesInBatch}, batchSize: {batch_size}, - totalIlms: {totalIlms}''') + totalEntries: {totalEntries}''') - if ilmsInBatch + numIlms > batch_size and sentIlms != 0: + if entriesInBatch + 1 > batch_size and sentEntries != 0: batchIndex += 1 messages.append(message) - ilmsInBatch = 0 + entriesInBatch = 0 - if ilmsInBatch == 0: - # Create a new ILM batch + if entriesInBatch == 0: + # Create a new message for a batch message = sl_af_pb2.SLAFMsg( Oper=oper, VrfName="default" ) - # - # If we are adding ELSP entries then loop and create as many - # using the same label. If numElsps is set to 0 we just add - # one ILM entry for that label. - # - for elspIdx in range(numIlms): - logging.debug(f"label: {label}, numIlms: {numIlms}") - logging.debug(f"Interface: {nexthop_interface}") + logging.debug(f"label: {label}") + logging.debug(f"Interface: {nexthop_interface}") + + # Only add route flag if user set it to valid flag + if route_flag != 0: # Setup message object attributes - ilm = sl_af_pb2.SLMplsEntry( + mplsEntry = sl_af_pb2.SLMplsEntry( MplsKey = sl_af_pb2.SLMplsEntryKey( Label = label ), AdminDistance = admin_distance, MplsFlags = [route_flag] ) + else: + mplsEntry = sl_af_pb2.SLMplsEntry( + MplsKey = sl_af_pb2.SLMplsEntryKey( + Label = label + ), + AdminDistance = admin_distance + ) - for pathIdx in range(num_paths): - # Set the route path - nhlfe = sl_route_common_pb2.SLRoutePath() - if auto_inc_nhip: - slipAddress = sl_common_types_pb2.SLIpAddress( - V4Address = int(ipaddress.ip_address(nhList[sentIlms])) - ) - nhlfe.NexthopAddress.CopyFrom(slipAddress) - else: - slipAddress = sl_common_types_pb2.SLIpAddress( - V4Address = int(ipaddress.ip_address(nhList[0])) - ) - nhlfe.NexthopAddress.CopyFrom(slipAddress) + for pathIdx in range(num_paths): + # Set the route path + pathList = sl_route_common_pb2.SLRoutePath() + if auto_inc_nhip: + slipAddress = sl_common_types_pb2.SLIpAddress( + V4Address = int(ipaddress.ip_address(nhList[sentEntries])) + ) + pathList.NexthopAddress.CopyFrom(slipAddress) + else: + slipAddress = sl_common_types_pb2.SLIpAddress( + V4Address = int(ipaddress.ip_address(nhList[0])) + ) + pathList.NexthopAddress.CopyFrom(slipAddress) - if nexthop_interface: - nexthopInterface = sl_common_types_pb2.SLInterface( - Name = nexthop_interface - ) - nhlfe.NexthopInterface.CopyFrom(nexthopInterface) + if nexthop_interface: + nexthopInterface = sl_common_types_pb2.SLInterface( + Name = nexthop_interface + ) + pathList.NexthopInterface.CopyFrom(nexthopInterface) - if out_label > 0: - outLabel = out_label + (label - start_label) * numElsps + elspIdx - nhlfe.LabelStack.append(outLabel) - else: - logging.error("Invalid out label") - os._exit(0) + if remote_label_stack > 0: + pathList.LabelStack.append(remote_label_stack) + else: + logging.error("Invalid out label") + os._exit(0) - # Append to route - ilm.PathList.append(nhlfe) + # Append to route + mplsEntry.PathList.append(pathList) - afObject = sl_af_pb2.SLAFObject( - MplsLabel = ilm - ) + afObject = sl_af_pb2.SLAFObject( + MplsLabel = mplsEntry + ) - # Add all objects to the opMsg - opMsg = sl_af_pb2.SLAFOpMsg( - AFObject = afObject, - OperationID = globalOperationID, - AckType = ack_type, - AckPermits = [ack_permit], - AckCadence = ack_cadence - ) + # Add all objects to the opMsg + opMsg = sl_af_pb2.SLAFOpMsg( + AFObject = afObject, + OperationID = globalOperationID, + AckType = ack_type, + AckPermits = [ack_permit], + AckCadence = ack_cadence + ) - globalOperationID += 1 - # Append Label to batch - message.OpList.append(opMsg) + globalOperationID += 1 + # Append Label to batch + message.OpList.append(opMsg) - sentIlms += numIlms + sentEntries += 1 # Append the last message - if sentIlms >= totalIlms: + if sentEntries >= totalEntries: batchIndex += 1 logging.debug(f'Message: {message}') messages.append(message) - ilmsInBatch = 0 + entriesInBatch = 0 - ilmsInBatch += numIlms + entriesInBatch += 1 label += 1 t1 = time.time() - print(f'{oper} Total Batches: {batchIndex}, Ilms: {sentIlms}, Preparation Time: {t1 - t0}') + print(f'{oper} Total Batches: {batchIndex}, sentEntries: {sentEntries}, Preparation Time: {t1 - t0}') - if sentIlms > 0 and t1 != t0: - rate = sentIlms / (t1 - t0) + if sentEntries > 0 and t1 != t0: + rate = sentEntries / (t1 - t0) print(f'Preparation Rate: {rate}') t0 = time.time() @@ -939,7 +938,7 @@ def mpls_operation(channel, metadata, oper, route_flag, if stream_case: fibCheck = int(ack_type) != 0 err = run_slaf_op_stream_request(channel, metadata, messages, - sentIlms, fibCheck, sl_common_types_pb2.SL_MPLS_LABEL_TABLE) + sentEntries, fibCheck, sl_common_types_pb2.SL_MPLS_LABEL_TABLE) else: err = run_slaf_op_request(channel, metadata, messages, sl_common_types_pb2.SL_MPLS_LABEL_TABLE) @@ -950,10 +949,10 @@ def mpls_operation(channel, metadata, oper, route_flag, t1 = time.time() - print(f'{oper} Total Batches: {batchIndex}, Ilms: {sentIlms}, ElapsedTime: {t1 - t0}') + print(f'{oper} Total Batches: {batchIndex}, sentEntries: {sentEntries}, ElapsedTime: {t1 - t0}') - if sentIlms > 0 and t1 != t0: - rate = sentIlms / (t1 - t0) + if sentEntries > 0 and t1 != t0: + rate = sentEntries / (t1 - t0) print(f'Programming Rate: {rate}') # @@ -1027,14 +1026,25 @@ def pg_operation(channel, metadata, oper, route_flag, pathList.Paths.append(slPaths) # Populate the path group attributes - pathGroup = sl_af_pb2.SLPathGroup( - PathGroupId = sl_common_types_pb2.SLObjectId( - Name = pg_name - ), - AdminDistance = admin_distance, - PathList = pathList, - PgFlags = [route_flag] - ) + + # Only add route flag if user set it to valid flag + if route_flag != 0: + pathGroup = sl_af_pb2.SLPathGroup( + PathGroupId = sl_common_types_pb2.SLObjectId( + Name = pg_name + ), + AdminDistance = admin_distance, + PathList = pathList, + PgFlags = [route_flag] + ) + else: + pathGroup = sl_af_pb2.SLPathGroup( + PathGroupId = sl_common_types_pb2.SLObjectId( + Name = pg_name + ), + AdminDistance = admin_distance, + PathList = pathList + ) afObject = sl_af_pb2.SLAFObject( PathGroup = pathGroup diff --git a/grpc/utils/genc/sl_api_err.h b/grpc/utils/genc/sl_api_err.h index fb1ce0a4..bc8b7bed 100644 --- a/grpc/utils/genc/sl_api_err.h +++ b/grpc/utils/genc/sl_api_err.h @@ -48,6 +48,12 @@ SL_AUTH_FAIL = 0xd,\ /* Ack type not supported error. 0xe */\ SL_ACK_TYPE_NOT_SUPPORTED = 0xe,\ + /* No such client. */\ + /* The specified client-id does not exist. 0xf */\ + SL_NO_SUCH_CLIENT = 0xf,\ + /* No entries found. */\ + /* No entries are present matching the input parameters. 0x10 */\ + SL_NO_ENTRIES_FOUND = 0x10,\ /* !!! Error codes for Client INIT operations. */\ /* Offset for INIT errors. 0x500 */\ SL_INIT_START_OFFSET = 0x500,\ @@ -118,6 +124,9 @@ /* IPv6 routes in VRF were played to Routing Information Base */\ /* on a process restart or connection re-establishment. 0x2013 */\ SL_VRF_V6_ROUTE_REPLAY_OK = 0x2013,\ + /* Client Name specified in message does not match current */\ + /* name used for this client. 0x2014 */\ + SL_VRF_TABLE_CLIENT_NAME_MISMATCH = 0x2014,\ /* !!! Error codes for Route operations. */\ /* Offset for Route operation errors. 0x3000 */\ SL_RPC_ROUTE_START_OFFSET = 0x3000,\ @@ -202,6 +211,8 @@ SL_ROUTE_INVALID_FLAGS = 0x4014,\ /* Invalid route priority. 0x4015 */\ SL_ROUTE_INVALID_PRIORITY = 0x4015,\ + /* Invalid route metric. 0x4016 */\ + SL_ROUTE_INVALID_METRIC = 0x4016,\ /* !!! Error codes for route path objects. */\ /* Offset for route path errors. 0x5000 */\ SL_PATH_START_OFFSET = 0x5000,\ @@ -264,6 +275,26 @@ /* Path Encap type attribute does not match specified encapsulation. */\ /* 0x501c */\ SL_PATH_ENCAP_TYPE_MISMATCH = 0x501c,\ + /* Path list mixes incompatible bitmap-FRR and index-FRR evidence. */\ + /* 0x501d */\ + SL_PATH_INVALID_PATH_LIST_MODEL = 0x501d,\ + /* Duplicate path_index specified in the path list of a route. */\ + /* 0x501e */\ + SL_PATH_PRIMARY_INDEX_REPEATED = 0x501e,\ + /* A path index value exceeds the maximum supported path-id range. */\ + /* 0x501f */\ + SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE = 0x501f,\ + /* A backup index value exceeds the maximum supported path-id range. */\ + /* 0x5020 */\ + SL_PATH_BACKUP_INDEX_OUT_OF_RANGE = 0x5020,\ + /* A path with pure backup flag set is not referenced by as a */\ + /* backup by any other path in the same route. */\ + /* 0x5021 */\ + SL_PATH_BACKUP_FLAGGED_UNREFERENCED = 0x5021,\ + /* A backup index in a path's backup index list equals the path's */\ + /* own path_index (self-reference). */\ + /* 0x5022 */\ + SL_PATH_BACKUP_INDEX_SELF_REFERENCE = 0x5022,\ /* !!! Error codes for BFD opertations. */\ /* Offset for BFD operation errors. 0x6000 */\ SL_RPC_BFD_START_OFFSET = 0x6000,\ @@ -889,6 +920,140 @@ SL_SRTE_POLICY_SERVICE_NOT_UP = 0x1b007,\ /* Request message bigger than supported size. 0x1b008 */\ SL_SRTE_POLICY_EXCEED_MSG_SIZE = 0x1b008,\ + /* !!! Error codes for Performance Measurement objects. */\ + /* Performance Measurement session error */\ + SL_PERF_MEAS_START_OFFSET = 0x1c000,\ + /* Performance Measurement session creation failure */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED = 0x1c001,\ + /* Performance Measurement session deletion failure */\ + SL_PERF_MEAS_SESSION_DELETE_FAILED = 0x1c002,\ + /* Performance Measurement session get stats failure */\ + SL_PERF_MEAS_SESSION_GET_STATS_FAILED = 0x1c003,\ + /* Performance Measurement session get info failure */\ + SL_PERF_MEAS_SESSION_GET_INFO_FAILED = 0x1c004,\ + /* Request sent is not a valid request type */\ + SL_PERF_MEAS_INVALID_REQUEST = 0x1c005,\ + /* Performance Measurement session flush Max Rtt failure */\ + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED = 0x1c006,\ + /* Performance Measurement session creation failed due to invalid source IP */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP = 0x1c007,\ + /* Performance Measurement session creation failed due to invalid destination IP */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP = 0x1c008,\ + /* Performance Measurement session creation failed due to invalid nexthop IP */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP = 0x1c009,\ + /* Performance Measurement session creation failed due to invalid label stack */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK = 0x1c00a,\ + /* Performance Measurement session creation failed due to invalid probe interval */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL = 0x1c00b,\ + /* Performance Measurement session creation failed due to invalid timeout count */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT = 0x1c00c,\ + /* Performance Measurement session creation failed due to invalid DSCP */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP = 0x1c00d,\ + /* Performance Measurement session creation failed due to invalid interface */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE = 0x1c00e,\ + /* Performance Measurement session creation failed to send request to perf_meas process */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED = 0x1c00f,\ + /* Performance Measurement session creation failed due to internal error */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR = 0x1c010,\ + /* Performance Measurement session deletion failed to send request to perf_meas process */\ + SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED = 0x1c011,\ + /* Performance Measurement session deletion failed due to internal error */\ + SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR = 0x1c012,\ + /* Performance Measurement session get stats failed to send request to perf_meas process */\ + SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED = 0x1c013,\ + /* Performance Measurement session get stats failed due to internal error */\ + SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR = 0x1c014,\ + /* Performance Measurement session get info failed to send request to perf_meas process */\ + SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED = 0x1c015,\ + /* Performance Measurement session get info failed due to internal error */\ + SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR = 0x1c016,\ + /* Performance Measurement flush max RTT failed to send request to perf_meas process */\ + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED = 0x1c017,\ + /* Performance Measurement flush max RTT failed due to internal error */\ + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR = 0x1c018,\ + /* Performance Measurement session not found for delete operation. 0x1c019 */\ + SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND = 0x1c019,\ + /* Performance Measurement session not found for get stats operation. 0x1c01a */\ + SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND = 0x1c01a,\ + /* Performance Measurement session not found for get info operation. 0x1c01b */\ + SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND = 0x1c01b,\ + /* Performance Measurement session not found for flush operation. 0x1c01c */\ + SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND = 0x1c01c,\ + /* Performance Measurement session creation failed due to invalid session name. 0x1c01d */\ + SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME = 0x1c01d,\ + /* PM notification server not initialized */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED = 0x1c01e,\ + /* PM notification client not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND = 0x1c01f,\ + /* PM notification client not connected */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED = 0x1c020,\ + /* PM message allocation failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED = 0x1c021,\ + /* PM Parameter validation errors (returned by PM during session create) */\ + /* PM rejected: session name invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID = 0x1c022,\ + /* PM rejected: probe interval invalid (e.g., CPU session < 50ms) */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID = 0x1c023,\ + /* PM rejected: timeout count invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID = 0x1c024,\ + /* PM rejected: TOS/DSCP value invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID = 0x1c025,\ + /* PM rejected: number of labels invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID = 0x1c026,\ + /* PM rejected: source address not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND = 0x1c027,\ + /* PM rejected: destination address not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND = 0x1c028,\ + /* PM rejected: nexthop not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND = 0x1c029,\ + /* PM rejected: source address invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID = 0x1c02a,\ + /* PM rejected: destination address invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID = 0x1c02b,\ + /* PM rejected: nexthop address invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID = 0x1c02c,\ + /* PM rejected: address type mismatch (src/dst/nexthop not same AF) */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH = 0x1c02d,\ + /* PM rejected: output interface name invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID = 0x1c02e,\ + /* PM Message validation errors */\ + /* PM rejected: session name missing in message */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING = 0x1c02f,\ + /* PM rejected: liveness state missing in message */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING = 0x1c030,\ + /* PM Server-level errors */\ + /* PM internal: system in inconsistent state */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT = 0x1c031,\ + /* PM Session create notification errors */\ + /* PM create failed: invalid parameters */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS = 0x1c032,\ + /* PM create failed: interface handle (IFH) lookup failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED = 0x1c033,\ + /* PM create failed: MAC address invalid */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID = 0x1c034,\ + /* PM create failed: delay-measurement DR create failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED = 0x1c035,\ + /* PM create failed: delay-measurement DR update failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED = 0x1c036,\ + /* PM create failed: no memory for DR session */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM = 0x1c037,\ + /* PM create failed: DR session insert failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED = 0x1c038,\ + /* PM create failed: NPU offload failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED = 0x1c039,\ + /* PM create failed: CPU session create failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED = 0x1c03a,\ + /* PM create failed: session setup failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED = 0x1c03b,\ + /* PM Session get/flush notification errors */\ + /* PM get/flush failed: interface not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND = 0x1c03c,\ + /* PM get/flush failed: SCB (session control block) not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND = 0x1c03d,\ + /* PM get/flush failed: liveness session not found */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND = 0x1c03e,\ + /* PM get/flush failed: counter update failed */\ + SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED = 0x1c03f,\ /* !!! Error codes Reserved for internal errors. */\ /* Offset for Internal errors. 0x100000 */\ SL_INTERNAL_START_OFFSET = 0x100000,\ @@ -947,6 +1112,14 @@ {SL_ACK_TYPE_NOT_SUPPORTED ,\ " Ack type not supported error. "\ },\ + {SL_NO_SUCH_CLIENT ,\ + " No such client. "\ + " The specified client-id does not exist. "\ + },\ + {SL_NO_ENTRIES_FOUND ,\ + " No entries found. "\ + " No entries are present matching the input parameters. "\ + },\ {SL_INIT_START_OFFSET ,\ " Offset for INIT errors. "\ },\ @@ -1038,6 +1211,10 @@ " IPv6 routes in VRF were played to Routing Information Base "\ " on a process restart or connection re-establishment. "\ },\ + {SL_VRF_TABLE_CLIENT_NAME_MISMATCH ,\ + " Client Name specified in message does not match current "\ + " name used for this client. "\ + },\ {SL_RPC_ROUTE_START_OFFSET ,\ " Offset for Route operation errors. "\ },\ @@ -1155,6 +1332,9 @@ {SL_ROUTE_INVALID_PRIORITY ,\ " Invalid route priority. "\ },\ + {SL_ROUTE_INVALID_METRIC ,\ + " Invalid route metric. "\ + },\ {SL_PATH_START_OFFSET ,\ " Offset for route path errors. "\ },\ @@ -1245,6 +1425,32 @@ " Path Encap type attribute does not match specified encapsulation. "\ " "\ },\ + {SL_PATH_INVALID_PATH_LIST_MODEL ,\ + " Path list mixes incompatible bitmap-FRR and index-FRR evidence. "\ + " "\ + },\ + {SL_PATH_PRIMARY_INDEX_REPEATED ,\ + " Duplicate path_index specified in the path list of a route. "\ + " "\ + },\ + {SL_PATH_PRIMARY_INDEX_OUT_OF_RANGE ,\ + " A path index value exceeds the maximum supported path-id range. "\ + " "\ + },\ + {SL_PATH_BACKUP_INDEX_OUT_OF_RANGE ,\ + " A backup index value exceeds the maximum supported path-id range. "\ + " "\ + },\ + {SL_PATH_BACKUP_FLAGGED_UNREFERENCED ,\ + " A path with pure backup flag set is not referenced by as a "\ + " backup by any other path in the same route. "\ + " "\ + },\ + {SL_PATH_BACKUP_INDEX_SELF_REFERENCE ,\ + " A backup index in a path's backup index list equals the path's "\ + " own path_index (self-reference). "\ + " "\ + },\ {SL_RPC_BFD_START_OFFSET ,\ " Offset for BFD operation errors. "\ },\ @@ -2135,6 +2341,203 @@ {SL_SRTE_POLICY_EXCEED_MSG_SIZE ,\ " Request message bigger than supported size. "\ },\ + {SL_PERF_MEAS_START_OFFSET ,\ + " Performance Measurement session error "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED ,\ + " Performance Measurement session creation failure "\ + },\ + {SL_PERF_MEAS_SESSION_DELETE_FAILED ,\ + " Performance Measurement session deletion failure "\ + },\ + {SL_PERF_MEAS_SESSION_GET_STATS_FAILED ,\ + " Performance Measurement session get stats failure "\ + },\ + {SL_PERF_MEAS_SESSION_GET_INFO_FAILED ,\ + " Performance Measurement session get info failure "\ + },\ + {SL_PERF_MEAS_INVALID_REQUEST ,\ + " Request sent is not a valid request type "\ + },\ + {SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED ,\ + " Performance Measurement session flush Max Rtt failure "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SOURCE_IP ,\ + " Performance Measurement session creation failed due to invalid source IP "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DEST_IP ,\ + " Performance Measurement session creation failed due to invalid destination IP "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_NEXTHOP_IP ,\ + " Performance Measurement session creation failed due to invalid nexthop IP "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_LABEL_STACK ,\ + " Performance Measurement session creation failed due to invalid label stack "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_PROBE_INTERVAL ,\ + " Performance Measurement session creation failed due to invalid probe interval "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_TIMEOUT_COUNT ,\ + " Performance Measurement session creation failed due to invalid timeout count "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_DSCP ,\ + " Performance Measurement session creation failed due to invalid DSCP "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_INTERFACE ,\ + " Performance Measurement session creation failed due to invalid interface "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_PM_SEND_FAILED ,\ + " Performance Measurement session creation failed to send request to perf_meas process "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INTERNAL_ERROR ,\ + " Performance Measurement session creation failed due to internal error "\ + },\ + {SL_PERF_MEAS_SESSION_DELETE_FAILED_PM_SEND_FAILED ,\ + " Performance Measurement session deletion failed to send request to perf_meas process "\ + },\ + {SL_PERF_MEAS_SESSION_DELETE_FAILED_INTERNAL_ERROR ,\ + " Performance Measurement session deletion failed due to internal error "\ + },\ + {SL_PERF_MEAS_SESSION_GET_STATS_FAILED_PM_SEND_FAILED ,\ + " Performance Measurement session get stats failed to send request to perf_meas process "\ + },\ + {SL_PERF_MEAS_SESSION_GET_STATS_FAILED_INTERNAL_ERROR ,\ + " Performance Measurement session get stats failed due to internal error "\ + },\ + {SL_PERF_MEAS_SESSION_GET_INFO_FAILED_PM_SEND_FAILED ,\ + " Performance Measurement session get info failed to send request to perf_meas process "\ + },\ + {SL_PERF_MEAS_SESSION_GET_INFO_FAILED_INTERNAL_ERROR ,\ + " Performance Measurement session get info failed due to internal error "\ + },\ + {SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_PM_SEND_FAILED ,\ + " Performance Measurement flush max RTT failed to send request to perf_meas process "\ + },\ + {SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_INTERNAL_ERROR ,\ + " Performance Measurement flush max RTT failed due to internal error "\ + },\ + {SL_PERF_MEAS_SESSION_DELETE_FAILED_SESSION_NOT_FOUND ,\ + " Performance Measurement session not found for delete operation. "\ + },\ + {SL_PERF_MEAS_SESSION_GET_STATS_FAILED_SESSION_NOT_FOUND ,\ + " Performance Measurement session not found for get stats operation. "\ + },\ + {SL_PERF_MEAS_SESSION_GET_INFO_FAILED_SESSION_NOT_FOUND ,\ + " Performance Measurement session not found for get info operation. "\ + },\ + {SL_PERF_MEAS_FLUSH_MAX_RTT_FAILED_SESSION_NOT_FOUND ,\ + " Performance Measurement session not found for flush operation. "\ + },\ + {SL_PERF_MEAS_SESSION_CREATE_FAILED_INVALID_SESSION_NAME ,\ + " Performance Measurement session creation failed due to invalid session name. "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_SERVER_NOT_INITIALIZED ,\ + " PM notification server not initialized "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_FOUND ,\ + " PM notification client not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_CLIENT_NOT_CONNECTED ,\ + " PM notification client not connected "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_ALLOC_FAILED ,\ + " PM message allocation failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SESS_NAME_INVALID ,\ + " PM Parameter validation errors (returned by PM during session create) "\ + " PM rejected: session name invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_PROBE_INTERVAL_INVALID ,\ + " PM rejected: probe interval invalid (e.g., CPU session < 50ms) "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TIMEOUT_COUNT_INVALID ,\ + " PM rejected: timeout count invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_TOS_DSCP_INVALID ,\ + " PM rejected: TOS/DSCP value invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NUM_LABELS_INVALID ,\ + " PM rejected: number of labels invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_NOT_FOUND ,\ + " PM rejected: source address not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_NOT_FOUND ,\ + " PM rejected: destination address not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_NOT_FOUND ,\ + " PM rejected: nexthop not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_SRC_ADDR_INVALID ,\ + " PM rejected: source address invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_DEST_ADDR_INVALID ,\ + " PM rejected: destination address invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_NEXTHOP_INVALID ,\ + " PM rejected: nexthop address invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_ADDR_TYPE_MISMATCH ,\ + " PM rejected: address type mismatch (src/dst/nexthop not same AF) "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_PARAM_OUT_INTF_NAME_INVALID ,\ + " PM rejected: output interface name invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_SESS_NAME_MISSING ,\ + " PM Message validation errors "\ + " PM rejected: session name missing in message "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_MSG_LIVENESS_STATE_MISSING ,\ + " PM rejected: liveness state missing in message "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_SYSTEM_INCONSISTENT ,\ + " PM Server-level errors "\ + " PM internal: system in inconsistent state "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_INVALID_PARAMS ,\ + " PM Session create notification errors "\ + " PM create failed: invalid parameters "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_IM_IFH_GET_FAILED ,\ + " PM create failed: interface handle (IFH) lookup failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_MAC_ADDR_INVALID ,\ + " PM create failed: MAC address invalid "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_CREATE_FAILED ,\ + " PM create failed: delay-measurement DR create failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_UPDATE_FAILED ,\ + " PM create failed: delay-measurement DR update failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_NOMEM ,\ + " PM create failed: no memory for DR session "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_DR_SESSION_INSERT_FAILED ,\ + " PM create failed: DR session insert failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_NPU_OFFLOAD_FAILED ,\ + " PM create failed: NPU offload failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_CPU_CREATE_FAILED ,\ + " PM create failed: CPU session create failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_SESSION_SETUP_FAILED ,\ + " PM create failed: session setup failed "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_INTF_NOT_FOUND ,\ + " PM Session get/flush notification errors "\ + " PM get/flush failed: interface not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_SCB_NOT_FOUND ,\ + " PM get/flush failed: SCB (session control block) not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_LIVENESS_NOT_FOUND ,\ + " PM get/flush failed: liveness session not found "\ + },\ + {SL_PERF_MEAS_PM_INTERNAL_ERROR_COUNTER_UPDATE_FAILED ,\ + " PM get/flush failed: counter update failed "\ + },\ {SL_INTERNAL_START_OFFSET ,\ " Offset for Internal errors. "\ },\