From c593d7c8b374ef2aed1752f7c69217ec3a6bccbb Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Sun, 5 Dec 2021 13:45:00 +0000 Subject: [PATCH] switch to Go API v2 for protobuf seems that sticking to Go API v1 for protobuf is headache for projects using GoBGP. This breaks the compatibility so bumps up the major version to 3. Signed-off-by: FUJITA Tomonori --- .github/workflows/ci.yml | 5 +- api/attribute.pb.go | 11899 +++++++----- api/attribute.proto | 8 +- api/capability.pb.go | 1628 +- api/capability.proto | 17 +- api/gobgp.pb.go | 20739 ++++++++++++--------- api/gobgp.proto | 4 +- api/gobgp_grpc.pb.go | 2432 +++ cmd/gobgp/bmp.go | 4 +- cmd/gobgp/common.go | 4 +- cmd/gobgp/global.go | 8 +- cmd/gobgp/global_test.go | 4 +- cmd/gobgp/loglevel.go | 2 +- cmd/gobgp/main.go | 2 +- cmd/gobgp/monitor.go | 6 +- cmd/gobgp/mrt.go | 8 +- cmd/gobgp/neighbor.go | 19 +- cmd/gobgp/policy.go | 10 +- cmd/gobgp/root.go | 2 +- cmd/gobgp/rpki.go | 7 +- cmd/gobgp/vrf.go | 12 +- cmd/gobgpd/main.go | 6 +- cmd/gobgpd/util.go | 1 + docs/sources/lib-ls.md | 13 +- docs/sources/lib-srpolicy.md | 31 +- docs/sources/lib.md | 28 +- go.mod | 13 +- go.sum | 117 +- internal/pkg/apiutil/attribute.go | 248 +- internal/pkg/apiutil/attribute_test.go | 310 +- internal/pkg/apiutil/capability.go | 27 +- internal/pkg/apiutil/capability_test.go | 31 +- internal/pkg/apiutil/util.go | 12 +- internal/pkg/config/bgp_configs.go | 2 +- internal/pkg/config/default.go | 8 +- internal/pkg/config/default_linux.go | 1 + internal/pkg/config/default_nonlinux.go | 1 + internal/pkg/config/util.go | 15 +- internal/pkg/table/adj.go | 2 +- internal/pkg/table/adj_test.go | 2 +- internal/pkg/table/destination.go | 4 +- internal/pkg/table/destination_test.go | 2 +- internal/pkg/table/message.go | 2 +- internal/pkg/table/message_test.go | 2 +- internal/pkg/table/path.go | 4 +- internal/pkg/table/path_test.go | 4 +- internal/pkg/table/policy.go | 6 +- internal/pkg/table/policy_test.go | 4 +- internal/pkg/table/roa.go | 4 +- internal/pkg/table/roa_test.go | 4 +- internal/pkg/table/table.go | 2 +- internal/pkg/table/table_manager.go | 2 +- internal/pkg/table/table_manager_test.go | 2 +- internal/pkg/table/table_test.go | 2 +- internal/pkg/table/vrf.go | 2 +- internal/pkg/version/version.go | 6 +- internal/pkg/zebra/zapi.go | 2 +- internal/pkg/zebra/zapi_bsd.go | 1 + pkg/config/config.go | 18 +- pkg/config/config_test.go | 2 +- pkg/packet/bgp/bgp_race_test.go | 1 + pkg/packet/bgp/prefix_sid.go | 21 +- pkg/packet/bgp/prefix_sid_test.go | 34 - pkg/packet/bgp/sr_policy.go | 2 +- pkg/packet/bmp/bmp.go | 2 +- pkg/packet/bmp/bmp_test.go | 2 +- pkg/packet/mrt/mrt.go | 2 +- pkg/packet/mrt/mrt_test.go | 2 +- pkg/server/bmp.go | 11 +- pkg/server/fsm.go | 8 +- pkg/server/fsm_test.go | 4 +- pkg/server/grpc_server.go | 170 +- pkg/server/mrt.go | 8 +- pkg/server/peer.go | 6 +- pkg/server/rpki.go | 10 +- pkg/server/server.go | 12 +- pkg/server/server_test.go | 49 +- pkg/server/sockopt.go | 1 + pkg/server/sockopt_bsd.go | 1 + pkg/server/sockopt_darwin.go | 1 + pkg/server/sockopt_linux.go | 1 + pkg/server/sockopt_linux_test.go | 1 + pkg/server/sockopt_openbsd.go | 1 + pkg/server/sockopt_stub.go | 1 + pkg/server/util.go | 2 +- pkg/server/zclient.go | 6 +- pkg/server/zclient_test.go | 4 +- tools/config/example_toml.go | 2 +- tools/grep_avoided_functions.sh | 2 +- tools/grpc/genproto.sh | 18 +- tools/tools.go | 2 +- 91 files changed, 23402 insertions(+), 14748 deletions(-) create mode 100644 api/gobgp_grpc.pb.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ade5750d..4bc3715f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,11 +29,14 @@ jobs: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@master + - uses: actions/setup-go@v2 + with: + go-version: '^1.17.4' - run: | test -z "$(go fmt ./...)" go vet ./... export PATH=${PATH}:`go env GOPATH`/bin - go get -u honnef.co/go/tools/cmd/staticcheck + go install honnef.co/go/tools/cmd/staticcheck@2021.1.2 staticcheck ./... embeded: diff --git a/api/attribute.pb.go b/api/attribute.pb.go index 0587169a..51564161 100644 --- a/api/attribute.pb.go +++ b/api/attribute.pb.go @@ -1,25 +1,46 @@ +// Copyright (C) 2018 Nippon Telegraph and Telephone Corporation. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation files +// (the "Software"), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.19.1 // source: attribute.proto -package gobgpapi +package apipb import ( - fmt "fmt" - proto "github.com/golang/protobuf/proto" - any "github.com/golang/protobuf/ptypes/any" - math "math" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package +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) +) // Based om RFC 7752, Table 1. type LsNLRIType int32 @@ -32,28 +53,49 @@ const ( LsNLRIType_LS_NLRI_PREFIX_V6 LsNLRIType = 4 ) -var LsNLRIType_name = map[int32]string{ - 0: "LS_NLRI_UNKNOWN", - 1: "LS_NLRI_NODE", - 2: "LS_NLRI_LINK", - 3: "LS_NLRI_PREFIX_V4", - 4: "LS_NLRI_PREFIX_V6", -} +// Enum value maps for LsNLRIType. +var ( + LsNLRIType_name = map[int32]string{ + 0: "LS_NLRI_UNKNOWN", + 1: "LS_NLRI_NODE", + 2: "LS_NLRI_LINK", + 3: "LS_NLRI_PREFIX_V4", + 4: "LS_NLRI_PREFIX_V6", + } + LsNLRIType_value = map[string]int32{ + "LS_NLRI_UNKNOWN": 0, + "LS_NLRI_NODE": 1, + "LS_NLRI_LINK": 2, + "LS_NLRI_PREFIX_V4": 3, + "LS_NLRI_PREFIX_V6": 4, + } +) -var LsNLRIType_value = map[string]int32{ - "LS_NLRI_UNKNOWN": 0, - "LS_NLRI_NODE": 1, - "LS_NLRI_LINK": 2, - "LS_NLRI_PREFIX_V4": 3, - "LS_NLRI_PREFIX_V6": 4, +func (x LsNLRIType) Enum() *LsNLRIType { + p := new(LsNLRIType) + *p = x + return p } func (x LsNLRIType) String() string { - return proto.EnumName(LsNLRIType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (LsNLRIType) Descriptor() protoreflect.EnumDescriptor { + return file_attribute_proto_enumTypes[0].Descriptor() +} + +func (LsNLRIType) Type() protoreflect.EnumType { + return &file_attribute_proto_enumTypes[0] +} + +func (x LsNLRIType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LsNLRIType.Descriptor instead. func (LsNLRIType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{0} + return file_attribute_proto_rawDescGZIP(), []int{0} } type LsProtocolID int32 @@ -68,32 +110,53 @@ const ( LsProtocolID_LS_PROTOCOL_OSPF_V3 LsProtocolID = 6 ) -var LsProtocolID_name = map[int32]string{ - 0: "LS_PROTOCOL_UNKNOWN", - 1: "LS_PROTOCOL_ISIS_L1", - 2: "LS_PROTOCOL_ISIS_L2", - 3: "LS_PROTOCOL_OSPF_V2", - 4: "LS_PROTOCOL_DIRECT", - 5: "LS_PROTOCOL_STATIC", - 6: "LS_PROTOCOL_OSPF_V3", -} +// Enum value maps for LsProtocolID. +var ( + LsProtocolID_name = map[int32]string{ + 0: "LS_PROTOCOL_UNKNOWN", + 1: "LS_PROTOCOL_ISIS_L1", + 2: "LS_PROTOCOL_ISIS_L2", + 3: "LS_PROTOCOL_OSPF_V2", + 4: "LS_PROTOCOL_DIRECT", + 5: "LS_PROTOCOL_STATIC", + 6: "LS_PROTOCOL_OSPF_V3", + } + LsProtocolID_value = map[string]int32{ + "LS_PROTOCOL_UNKNOWN": 0, + "LS_PROTOCOL_ISIS_L1": 1, + "LS_PROTOCOL_ISIS_L2": 2, + "LS_PROTOCOL_OSPF_V2": 3, + "LS_PROTOCOL_DIRECT": 4, + "LS_PROTOCOL_STATIC": 5, + "LS_PROTOCOL_OSPF_V3": 6, + } +) -var LsProtocolID_value = map[string]int32{ - "LS_PROTOCOL_UNKNOWN": 0, - "LS_PROTOCOL_ISIS_L1": 1, - "LS_PROTOCOL_ISIS_L2": 2, - "LS_PROTOCOL_OSPF_V2": 3, - "LS_PROTOCOL_DIRECT": 4, - "LS_PROTOCOL_STATIC": 5, - "LS_PROTOCOL_OSPF_V3": 6, +func (x LsProtocolID) Enum() *LsProtocolID { + p := new(LsProtocolID) + *p = x + return p } func (x LsProtocolID) String() string { - return proto.EnumName(LsProtocolID_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (LsProtocolID) Descriptor() protoreflect.EnumDescriptor { + return file_attribute_proto_enumTypes[1].Descriptor() +} + +func (LsProtocolID) Type() protoreflect.EnumType { + return &file_attribute_proto_enumTypes[1] +} + +func (x LsProtocolID) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LsProtocolID.Descriptor instead. func (LsProtocolID) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{1} + return file_attribute_proto_rawDescGZIP(), []int{1} } type SRv6Behavior int32 @@ -138,92 +201,113 @@ const ( SRv6Behavior_ENDT_WITH_PSP_USP_USD SRv6Behavior = 39 ) -var SRv6Behavior_name = map[int32]string{ - 0: "RESERVED", - 1: "END", - 2: "END_WITH_PSP", - 3: "END_WITH_USP", - 4: "END_WITH_PSP_USP", - 5: "ENDX", - 6: "ENDX_WITH_PSP", - 7: "ENDX_WITH_USP", - 8: "ENDX_WITH_PSP_USP", - 9: "ENDT", - 10: "ENDT_WITH_PSP", - 11: "ENDT_WITH_USP", - 12: "ENDT_WITH_PSP_USP", - 14: "END_B6_ENCAPS", - 15: "END_BM", - 16: "END_DX6", - 17: "END_DX4", - 18: "END_DT6", - 19: "END_DT4", - 20: "END_DT46", - 21: "END_DX2", - 22: "END_DX2V", - 23: "END_DT2U", - 24: "END_DT2M", - 27: "END_B6_ENCAPS_Red", - 28: "END_WITH_USD", - 29: "END_WITH_PSP_USD", - 30: "END_WITH_USP_USD", - 31: "END_WITH_PSP_USP_USD", - 32: "ENDX_WITH_USD", - 33: "ENDX_WITH_PSP_USD", - 34: "ENDX_WITH_USP_USD", - 35: "ENDX_WITH_PSP_USP_USD", - 36: "ENDT_WITH_USD", - 37: "ENDT_WITH_PSP_USD", - 38: "ENDT_WITH_USP_USD", - 39: "ENDT_WITH_PSP_USP_USD", -} +// Enum value maps for SRv6Behavior. +var ( + SRv6Behavior_name = map[int32]string{ + 0: "RESERVED", + 1: "END", + 2: "END_WITH_PSP", + 3: "END_WITH_USP", + 4: "END_WITH_PSP_USP", + 5: "ENDX", + 6: "ENDX_WITH_PSP", + 7: "ENDX_WITH_USP", + 8: "ENDX_WITH_PSP_USP", + 9: "ENDT", + 10: "ENDT_WITH_PSP", + 11: "ENDT_WITH_USP", + 12: "ENDT_WITH_PSP_USP", + 14: "END_B6_ENCAPS", + 15: "END_BM", + 16: "END_DX6", + 17: "END_DX4", + 18: "END_DT6", + 19: "END_DT4", + 20: "END_DT46", + 21: "END_DX2", + 22: "END_DX2V", + 23: "END_DT2U", + 24: "END_DT2M", + 27: "END_B6_ENCAPS_Red", + 28: "END_WITH_USD", + 29: "END_WITH_PSP_USD", + 30: "END_WITH_USP_USD", + 31: "END_WITH_PSP_USP_USD", + 32: "ENDX_WITH_USD", + 33: "ENDX_WITH_PSP_USD", + 34: "ENDX_WITH_USP_USD", + 35: "ENDX_WITH_PSP_USP_USD", + 36: "ENDT_WITH_USD", + 37: "ENDT_WITH_PSP_USD", + 38: "ENDT_WITH_USP_USD", + 39: "ENDT_WITH_PSP_USP_USD", + } + SRv6Behavior_value = map[string]int32{ + "RESERVED": 0, + "END": 1, + "END_WITH_PSP": 2, + "END_WITH_USP": 3, + "END_WITH_PSP_USP": 4, + "ENDX": 5, + "ENDX_WITH_PSP": 6, + "ENDX_WITH_USP": 7, + "ENDX_WITH_PSP_USP": 8, + "ENDT": 9, + "ENDT_WITH_PSP": 10, + "ENDT_WITH_USP": 11, + "ENDT_WITH_PSP_USP": 12, + "END_B6_ENCAPS": 14, + "END_BM": 15, + "END_DX6": 16, + "END_DX4": 17, + "END_DT6": 18, + "END_DT4": 19, + "END_DT46": 20, + "END_DX2": 21, + "END_DX2V": 22, + "END_DT2U": 23, + "END_DT2M": 24, + "END_B6_ENCAPS_Red": 27, + "END_WITH_USD": 28, + "END_WITH_PSP_USD": 29, + "END_WITH_USP_USD": 30, + "END_WITH_PSP_USP_USD": 31, + "ENDX_WITH_USD": 32, + "ENDX_WITH_PSP_USD": 33, + "ENDX_WITH_USP_USD": 34, + "ENDX_WITH_PSP_USP_USD": 35, + "ENDT_WITH_USD": 36, + "ENDT_WITH_PSP_USD": 37, + "ENDT_WITH_USP_USD": 38, + "ENDT_WITH_PSP_USP_USD": 39, + } +) -var SRv6Behavior_value = map[string]int32{ - "RESERVED": 0, - "END": 1, - "END_WITH_PSP": 2, - "END_WITH_USP": 3, - "END_WITH_PSP_USP": 4, - "ENDX": 5, - "ENDX_WITH_PSP": 6, - "ENDX_WITH_USP": 7, - "ENDX_WITH_PSP_USP": 8, - "ENDT": 9, - "ENDT_WITH_PSP": 10, - "ENDT_WITH_USP": 11, - "ENDT_WITH_PSP_USP": 12, - "END_B6_ENCAPS": 14, - "END_BM": 15, - "END_DX6": 16, - "END_DX4": 17, - "END_DT6": 18, - "END_DT4": 19, - "END_DT46": 20, - "END_DX2": 21, - "END_DX2V": 22, - "END_DT2U": 23, - "END_DT2M": 24, - "END_B6_ENCAPS_Red": 27, - "END_WITH_USD": 28, - "END_WITH_PSP_USD": 29, - "END_WITH_USP_USD": 30, - "END_WITH_PSP_USP_USD": 31, - "ENDX_WITH_USD": 32, - "ENDX_WITH_PSP_USD": 33, - "ENDX_WITH_USP_USD": 34, - "ENDX_WITH_PSP_USP_USD": 35, - "ENDT_WITH_USD": 36, - "ENDT_WITH_PSP_USD": 37, - "ENDT_WITH_USP_USD": 38, - "ENDT_WITH_PSP_USP_USD": 39, +func (x SRv6Behavior) Enum() *SRv6Behavior { + p := new(SRv6Behavior) + *p = x + return p } func (x SRv6Behavior) String() string { - return proto.EnumName(SRv6Behavior_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (SRv6Behavior) Descriptor() protoreflect.EnumDescriptor { + return file_attribute_proto_enumTypes[2].Descriptor() +} + +func (SRv6Behavior) Type() protoreflect.EnumType { + return &file_attribute_proto_enumTypes[2] +} + +func (x SRv6Behavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SRv6Behavior.Descriptor instead. func (SRv6Behavior) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{2} + return file_attribute_proto_rawDescGZIP(), []int{2} } type ENLPType int32 @@ -236,463 +320,571 @@ const ( ENLPType_Type4 ENLPType = 4 ) -var ENLPType_name = map[int32]string{ - 0: "Reserved", - 1: "Type1", - 2: "Type2", - 3: "Type3", - 4: "Type4", -} +// Enum value maps for ENLPType. +var ( + ENLPType_name = map[int32]string{ + 0: "Reserved", + 1: "Type1", + 2: "Type2", + 3: "Type3", + 4: "Type4", + } + ENLPType_value = map[string]int32{ + "Reserved": 0, + "Type1": 1, + "Type2": 2, + "Type3": 3, + "Type4": 4, + } +) -var ENLPType_value = map[string]int32{ - "Reserved": 0, - "Type1": 1, - "Type2": 2, - "Type3": 3, - "Type4": 4, +func (x ENLPType) Enum() *ENLPType { + p := new(ENLPType) + *p = x + return p } func (x ENLPType) String() string { - return proto.EnumName(ENLPType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (ENLPType) Descriptor() protoreflect.EnumDescriptor { + return file_attribute_proto_enumTypes[3].Descriptor() +} + +func (ENLPType) Type() protoreflect.EnumType { + return &file_attribute_proto_enumTypes[3] +} + +func (x ENLPType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ENLPType.Descriptor instead. func (ENLPType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{3} + return file_attribute_proto_rawDescGZIP(), []int{3} } type OriginAttribute struct { - Origin uint32 `protobuf:"varint,1,opt,name=origin,proto3" json:"origin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Origin uint32 `protobuf:"varint,1,opt,name=origin,proto3" json:"origin,omitempty"` } -func (m *OriginAttribute) Reset() { *m = OriginAttribute{} } -func (m *OriginAttribute) String() string { return proto.CompactTextString(m) } -func (*OriginAttribute) ProtoMessage() {} +func (x *OriginAttribute) Reset() { + *x = OriginAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OriginAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OriginAttribute) ProtoMessage() {} + +func (x *OriginAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[0] + 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 OriginAttribute.ProtoReflect.Descriptor instead. func (*OriginAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{0} + return file_attribute_proto_rawDescGZIP(), []int{0} } -func (m *OriginAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OriginAttribute.Unmarshal(m, b) -} -func (m *OriginAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OriginAttribute.Marshal(b, m, deterministic) -} -func (m *OriginAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_OriginAttribute.Merge(m, src) -} -func (m *OriginAttribute) XXX_Size() int { - return xxx_messageInfo_OriginAttribute.Size(m) -} -func (m *OriginAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_OriginAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_OriginAttribute proto.InternalMessageInfo - -func (m *OriginAttribute) GetOrigin() uint32 { - if m != nil { - return m.Origin +func (x *OriginAttribute) GetOrigin() uint32 { + if x != nil { + return x.Origin } return 0 } type AsSegment struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` } -func (m *AsSegment) Reset() { *m = AsSegment{} } -func (m *AsSegment) String() string { return proto.CompactTextString(m) } -func (*AsSegment) ProtoMessage() {} +func (x *AsSegment) Reset() { + *x = AsSegment{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AsSegment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AsSegment) ProtoMessage() {} + +func (x *AsSegment) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[1] + 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 AsSegment.ProtoReflect.Descriptor instead. func (*AsSegment) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{1} + return file_attribute_proto_rawDescGZIP(), []int{1} } -func (m *AsSegment) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AsSegment.Unmarshal(m, b) -} -func (m *AsSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AsSegment.Marshal(b, m, deterministic) -} -func (m *AsSegment) XXX_Merge(src proto.Message) { - xxx_messageInfo_AsSegment.Merge(m, src) -} -func (m *AsSegment) XXX_Size() int { - return xxx_messageInfo_AsSegment.Size(m) -} -func (m *AsSegment) XXX_DiscardUnknown() { - xxx_messageInfo_AsSegment.DiscardUnknown(m) -} - -var xxx_messageInfo_AsSegment proto.InternalMessageInfo - -func (m *AsSegment) GetType() uint32 { - if m != nil { - return m.Type +func (x *AsSegment) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *AsSegment) GetNumbers() []uint32 { - if m != nil { - return m.Numbers +func (x *AsSegment) GetNumbers() []uint32 { + if x != nil { + return x.Numbers } return nil } type AsPathAttribute struct { - Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` } -func (m *AsPathAttribute) Reset() { *m = AsPathAttribute{} } -func (m *AsPathAttribute) String() string { return proto.CompactTextString(m) } -func (*AsPathAttribute) ProtoMessage() {} +func (x *AsPathAttribute) Reset() { + *x = AsPathAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AsPathAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AsPathAttribute) ProtoMessage() {} + +func (x *AsPathAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[2] + 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 AsPathAttribute.ProtoReflect.Descriptor instead. func (*AsPathAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{2} + return file_attribute_proto_rawDescGZIP(), []int{2} } -func (m *AsPathAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AsPathAttribute.Unmarshal(m, b) -} -func (m *AsPathAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AsPathAttribute.Marshal(b, m, deterministic) -} -func (m *AsPathAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_AsPathAttribute.Merge(m, src) -} -func (m *AsPathAttribute) XXX_Size() int { - return xxx_messageInfo_AsPathAttribute.Size(m) -} -func (m *AsPathAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_AsPathAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_AsPathAttribute proto.InternalMessageInfo - -func (m *AsPathAttribute) GetSegments() []*AsSegment { - if m != nil { - return m.Segments +func (x *AsPathAttribute) GetSegments() []*AsSegment { + if x != nil { + return x.Segments } return nil } type NextHopAttribute struct { - NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` } -func (m *NextHopAttribute) Reset() { *m = NextHopAttribute{} } -func (m *NextHopAttribute) String() string { return proto.CompactTextString(m) } -func (*NextHopAttribute) ProtoMessage() {} +func (x *NextHopAttribute) Reset() { + *x = NextHopAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NextHopAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NextHopAttribute) ProtoMessage() {} + +func (x *NextHopAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[3] + 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 NextHopAttribute.ProtoReflect.Descriptor instead. func (*NextHopAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{3} + return file_attribute_proto_rawDescGZIP(), []int{3} } -func (m *NextHopAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_NextHopAttribute.Unmarshal(m, b) -} -func (m *NextHopAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_NextHopAttribute.Marshal(b, m, deterministic) -} -func (m *NextHopAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_NextHopAttribute.Merge(m, src) -} -func (m *NextHopAttribute) XXX_Size() int { - return xxx_messageInfo_NextHopAttribute.Size(m) -} -func (m *NextHopAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_NextHopAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_NextHopAttribute proto.InternalMessageInfo - -func (m *NextHopAttribute) GetNextHop() string { - if m != nil { - return m.NextHop +func (x *NextHopAttribute) GetNextHop() string { + if x != nil { + return x.NextHop } return "" } type MultiExitDiscAttribute struct { - Med uint32 `protobuf:"varint,1,opt,name=med,proto3" json:"med,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Med uint32 `protobuf:"varint,1,opt,name=med,proto3" json:"med,omitempty"` } -func (m *MultiExitDiscAttribute) Reset() { *m = MultiExitDiscAttribute{} } -func (m *MultiExitDiscAttribute) String() string { return proto.CompactTextString(m) } -func (*MultiExitDiscAttribute) ProtoMessage() {} +func (x *MultiExitDiscAttribute) Reset() { + *x = MultiExitDiscAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultiExitDiscAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiExitDiscAttribute) ProtoMessage() {} + +func (x *MultiExitDiscAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[4] + 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 MultiExitDiscAttribute.ProtoReflect.Descriptor instead. func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{4} + return file_attribute_proto_rawDescGZIP(), []int{4} } -func (m *MultiExitDiscAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MultiExitDiscAttribute.Unmarshal(m, b) -} -func (m *MultiExitDiscAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MultiExitDiscAttribute.Marshal(b, m, deterministic) -} -func (m *MultiExitDiscAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_MultiExitDiscAttribute.Merge(m, src) -} -func (m *MultiExitDiscAttribute) XXX_Size() int { - return xxx_messageInfo_MultiExitDiscAttribute.Size(m) -} -func (m *MultiExitDiscAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_MultiExitDiscAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_MultiExitDiscAttribute proto.InternalMessageInfo - -func (m *MultiExitDiscAttribute) GetMed() uint32 { - if m != nil { - return m.Med +func (x *MultiExitDiscAttribute) GetMed() uint32 { + if x != nil { + return x.Med } return 0 } type LocalPrefAttribute struct { - LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` } -func (m *LocalPrefAttribute) Reset() { *m = LocalPrefAttribute{} } -func (m *LocalPrefAttribute) String() string { return proto.CompactTextString(m) } -func (*LocalPrefAttribute) ProtoMessage() {} +func (x *LocalPrefAttribute) Reset() { + *x = LocalPrefAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LocalPrefAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalPrefAttribute) ProtoMessage() {} + +func (x *LocalPrefAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[5] + 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 LocalPrefAttribute.ProtoReflect.Descriptor instead. func (*LocalPrefAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{5} + return file_attribute_proto_rawDescGZIP(), []int{5} } -func (m *LocalPrefAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LocalPrefAttribute.Unmarshal(m, b) -} -func (m *LocalPrefAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LocalPrefAttribute.Marshal(b, m, deterministic) -} -func (m *LocalPrefAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_LocalPrefAttribute.Merge(m, src) -} -func (m *LocalPrefAttribute) XXX_Size() int { - return xxx_messageInfo_LocalPrefAttribute.Size(m) -} -func (m *LocalPrefAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_LocalPrefAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_LocalPrefAttribute proto.InternalMessageInfo - -func (m *LocalPrefAttribute) GetLocalPref() uint32 { - if m != nil { - return m.LocalPref +func (x *LocalPrefAttribute) GetLocalPref() uint32 { + if x != nil { + return x.LocalPref } return 0 } type AtomicAggregateAttribute struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *AtomicAggregateAttribute) Reset() { *m = AtomicAggregateAttribute{} } -func (m *AtomicAggregateAttribute) String() string { return proto.CompactTextString(m) } -func (*AtomicAggregateAttribute) ProtoMessage() {} +func (x *AtomicAggregateAttribute) Reset() { + *x = AtomicAggregateAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AtomicAggregateAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AtomicAggregateAttribute) ProtoMessage() {} + +func (x *AtomicAggregateAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_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 AtomicAggregateAttribute.ProtoReflect.Descriptor instead. func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{6} + return file_attribute_proto_rawDescGZIP(), []int{6} } -func (m *AtomicAggregateAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AtomicAggregateAttribute.Unmarshal(m, b) -} -func (m *AtomicAggregateAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AtomicAggregateAttribute.Marshal(b, m, deterministic) -} -func (m *AtomicAggregateAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_AtomicAggregateAttribute.Merge(m, src) -} -func (m *AtomicAggregateAttribute) XXX_Size() int { - return xxx_messageInfo_AtomicAggregateAttribute.Size(m) -} -func (m *AtomicAggregateAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_AtomicAggregateAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_AtomicAggregateAttribute proto.InternalMessageInfo - type AggregatorAttribute struct { - As uint32 `protobuf:"varint,2,opt,name=as,proto3" json:"as,omitempty"` - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,2,opt,name=as,proto3" json:"as,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` } -func (m *AggregatorAttribute) Reset() { *m = AggregatorAttribute{} } -func (m *AggregatorAttribute) String() string { return proto.CompactTextString(m) } -func (*AggregatorAttribute) ProtoMessage() {} +func (x *AggregatorAttribute) Reset() { + *x = AggregatorAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AggregatorAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatorAttribute) ProtoMessage() {} + +func (x *AggregatorAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatorAttribute.ProtoReflect.Descriptor instead. func (*AggregatorAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{7} + return file_attribute_proto_rawDescGZIP(), []int{7} } -func (m *AggregatorAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AggregatorAttribute.Unmarshal(m, b) -} -func (m *AggregatorAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AggregatorAttribute.Marshal(b, m, deterministic) -} -func (m *AggregatorAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_AggregatorAttribute.Merge(m, src) -} -func (m *AggregatorAttribute) XXX_Size() int { - return xxx_messageInfo_AggregatorAttribute.Size(m) -} -func (m *AggregatorAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_AggregatorAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_AggregatorAttribute proto.InternalMessageInfo - -func (m *AggregatorAttribute) GetAs() uint32 { - if m != nil { - return m.As +func (x *AggregatorAttribute) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *AggregatorAttribute) GetAddress() string { - if m != nil { - return m.Address +func (x *AggregatorAttribute) GetAddress() string { + if x != nil { + return x.Address } return "" } type CommunitiesAttribute struct { - Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities,proto3" json:"communities,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities,proto3" json:"communities,omitempty"` } -func (m *CommunitiesAttribute) Reset() { *m = CommunitiesAttribute{} } -func (m *CommunitiesAttribute) String() string { return proto.CompactTextString(m) } -func (*CommunitiesAttribute) ProtoMessage() {} +func (x *CommunitiesAttribute) Reset() { + *x = CommunitiesAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommunitiesAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommunitiesAttribute) ProtoMessage() {} + +func (x *CommunitiesAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[8] + 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 CommunitiesAttribute.ProtoReflect.Descriptor instead. func (*CommunitiesAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{8} + return file_attribute_proto_rawDescGZIP(), []int{8} } -func (m *CommunitiesAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CommunitiesAttribute.Unmarshal(m, b) -} -func (m *CommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CommunitiesAttribute.Marshal(b, m, deterministic) -} -func (m *CommunitiesAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_CommunitiesAttribute.Merge(m, src) -} -func (m *CommunitiesAttribute) XXX_Size() int { - return xxx_messageInfo_CommunitiesAttribute.Size(m) -} -func (m *CommunitiesAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_CommunitiesAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_CommunitiesAttribute proto.InternalMessageInfo - -func (m *CommunitiesAttribute) GetCommunities() []uint32 { - if m != nil { - return m.Communities +func (x *CommunitiesAttribute) GetCommunities() []uint32 { + if x != nil { + return x.Communities } return nil } type OriginatorIdAttribute struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } -func (m *OriginatorIdAttribute) Reset() { *m = OriginatorIdAttribute{} } -func (m *OriginatorIdAttribute) String() string { return proto.CompactTextString(m) } -func (*OriginatorIdAttribute) ProtoMessage() {} +func (x *OriginatorIdAttribute) Reset() { + *x = OriginatorIdAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OriginatorIdAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OriginatorIdAttribute) ProtoMessage() {} + +func (x *OriginatorIdAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OriginatorIdAttribute.ProtoReflect.Descriptor instead. func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{9} + return file_attribute_proto_rawDescGZIP(), []int{9} } -func (m *OriginatorIdAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OriginatorIdAttribute.Unmarshal(m, b) -} -func (m *OriginatorIdAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OriginatorIdAttribute.Marshal(b, m, deterministic) -} -func (m *OriginatorIdAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_OriginatorIdAttribute.Merge(m, src) -} -func (m *OriginatorIdAttribute) XXX_Size() int { - return xxx_messageInfo_OriginatorIdAttribute.Size(m) -} -func (m *OriginatorIdAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_OriginatorIdAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_OriginatorIdAttribute proto.InternalMessageInfo - -func (m *OriginatorIdAttribute) GetId() string { - if m != nil { - return m.Id +func (x *OriginatorIdAttribute) GetId() string { + if x != nil { + return x.Id } return "" } type ClusterListAttribute struct { - Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` } -func (m *ClusterListAttribute) Reset() { *m = ClusterListAttribute{} } -func (m *ClusterListAttribute) String() string { return proto.CompactTextString(m) } -func (*ClusterListAttribute) ProtoMessage() {} +func (x *ClusterListAttribute) Reset() { + *x = ClusterListAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterListAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterListAttribute) ProtoMessage() {} + +func (x *ClusterListAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[10] + 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 ClusterListAttribute.ProtoReflect.Descriptor instead. func (*ClusterListAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{10} + return file_attribute_proto_rawDescGZIP(), []int{10} } -func (m *ClusterListAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClusterListAttribute.Unmarshal(m, b) -} -func (m *ClusterListAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClusterListAttribute.Marshal(b, m, deterministic) -} -func (m *ClusterListAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClusterListAttribute.Merge(m, src) -} -func (m *ClusterListAttribute) XXX_Size() int { - return xxx_messageInfo_ClusterListAttribute.Size(m) -} -func (m *ClusterListAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_ClusterListAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_ClusterListAttribute proto.InternalMessageInfo - -func (m *ClusterListAttribute) GetIds() []string { - if m != nil { - return m.Ids +func (x *ClusterListAttribute) GetIds() []string { + if x != nil { + return x.Ids } return nil } @@ -701,48 +893,56 @@ func (m *ClusterListAttribute) GetIds() []string { // - AFI=1, SAFI=1 // - AFI=2, SAFI=1 type IPAddressPrefix struct { - PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` - Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` + Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` } -func (m *IPAddressPrefix) Reset() { *m = IPAddressPrefix{} } -func (m *IPAddressPrefix) String() string { return proto.CompactTextString(m) } -func (*IPAddressPrefix) ProtoMessage() {} +func (x *IPAddressPrefix) Reset() { + *x = IPAddressPrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IPAddressPrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IPAddressPrefix) ProtoMessage() {} + +func (x *IPAddressPrefix) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[11] + 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 IPAddressPrefix.ProtoReflect.Descriptor instead. func (*IPAddressPrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{11} + return file_attribute_proto_rawDescGZIP(), []int{11} } -func (m *IPAddressPrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IPAddressPrefix.Unmarshal(m, b) -} -func (m *IPAddressPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IPAddressPrefix.Marshal(b, m, deterministic) -} -func (m *IPAddressPrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_IPAddressPrefix.Merge(m, src) -} -func (m *IPAddressPrefix) XXX_Size() int { - return xxx_messageInfo_IPAddressPrefix.Size(m) -} -func (m *IPAddressPrefix) XXX_DiscardUnknown() { - xxx_messageInfo_IPAddressPrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_IPAddressPrefix proto.InternalMessageInfo - -func (m *IPAddressPrefix) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *IPAddressPrefix) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } -func (m *IPAddressPrefix) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *IPAddressPrefix) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } @@ -751,56 +951,64 @@ func (m *IPAddressPrefix) GetPrefix() string { // - AFI=1, SAFI=4 // - AFI=2, SAFI=4 type LabeledIPAddressPrefix struct { - Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"` - PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` - Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"` + PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` } -func (m *LabeledIPAddressPrefix) Reset() { *m = LabeledIPAddressPrefix{} } -func (m *LabeledIPAddressPrefix) String() string { return proto.CompactTextString(m) } -func (*LabeledIPAddressPrefix) ProtoMessage() {} +func (x *LabeledIPAddressPrefix) Reset() { + *x = LabeledIPAddressPrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LabeledIPAddressPrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LabeledIPAddressPrefix) ProtoMessage() {} + +func (x *LabeledIPAddressPrefix) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[12] + 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 LabeledIPAddressPrefix.ProtoReflect.Descriptor instead. func (*LabeledIPAddressPrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{12} + return file_attribute_proto_rawDescGZIP(), []int{12} } -func (m *LabeledIPAddressPrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LabeledIPAddressPrefix.Unmarshal(m, b) -} -func (m *LabeledIPAddressPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LabeledIPAddressPrefix.Marshal(b, m, deterministic) -} -func (m *LabeledIPAddressPrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_LabeledIPAddressPrefix.Merge(m, src) -} -func (m *LabeledIPAddressPrefix) XXX_Size() int { - return xxx_messageInfo_LabeledIPAddressPrefix.Size(m) -} -func (m *LabeledIPAddressPrefix) XXX_DiscardUnknown() { - xxx_messageInfo_LabeledIPAddressPrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_LabeledIPAddressPrefix proto.InternalMessageInfo - -func (m *LabeledIPAddressPrefix) GetLabels() []uint32 { - if m != nil { - return m.Labels +func (x *LabeledIPAddressPrefix) GetLabels() []uint32 { + if x != nil { + return x.Labels } return nil } -func (m *LabeledIPAddressPrefix) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *LabeledIPAddressPrefix) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } -func (m *LabeledIPAddressPrefix) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *LabeledIPAddressPrefix) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } @@ -809,228 +1017,268 @@ func (m *LabeledIPAddressPrefix) GetPrefix() string { // - AFI=1, SAFI=7 // - AFI=2, SAFI=7 type EncapsulationNLRI struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -func (m *EncapsulationNLRI) Reset() { *m = EncapsulationNLRI{} } -func (m *EncapsulationNLRI) String() string { return proto.CompactTextString(m) } -func (*EncapsulationNLRI) ProtoMessage() {} +func (x *EncapsulationNLRI) Reset() { + *x = EncapsulationNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncapsulationNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncapsulationNLRI) ProtoMessage() {} + +func (x *EncapsulationNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EncapsulationNLRI.ProtoReflect.Descriptor instead. func (*EncapsulationNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{13} + return file_attribute_proto_rawDescGZIP(), []int{13} } -func (m *EncapsulationNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EncapsulationNLRI.Unmarshal(m, b) -} -func (m *EncapsulationNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EncapsulationNLRI.Marshal(b, m, deterministic) -} -func (m *EncapsulationNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_EncapsulationNLRI.Merge(m, src) -} -func (m *EncapsulationNLRI) XXX_Size() int { - return xxx_messageInfo_EncapsulationNLRI.Size(m) -} -func (m *EncapsulationNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_EncapsulationNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_EncapsulationNLRI proto.InternalMessageInfo - -func (m *EncapsulationNLRI) GetAddress() string { - if m != nil { - return m.Address +func (x *EncapsulationNLRI) GetAddress() string { + if x != nil { + return x.Address } return "" } type RouteDistinguisherTwoOctetAS struct { - Admin uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"` - Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Admin uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"` + Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` } -func (m *RouteDistinguisherTwoOctetAS) Reset() { *m = RouteDistinguisherTwoOctetAS{} } -func (m *RouteDistinguisherTwoOctetAS) String() string { return proto.CompactTextString(m) } -func (*RouteDistinguisherTwoOctetAS) ProtoMessage() {} +func (x *RouteDistinguisherTwoOctetAS) Reset() { + *x = RouteDistinguisherTwoOctetAS{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteDistinguisherTwoOctetAS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteDistinguisherTwoOctetAS) ProtoMessage() {} + +func (x *RouteDistinguisherTwoOctetAS) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[14] + 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 RouteDistinguisherTwoOctetAS.ProtoReflect.Descriptor instead. func (*RouteDistinguisherTwoOctetAS) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{14} + return file_attribute_proto_rawDescGZIP(), []int{14} } -func (m *RouteDistinguisherTwoOctetAS) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteDistinguisherTwoOctetAS.Unmarshal(m, b) -} -func (m *RouteDistinguisherTwoOctetAS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteDistinguisherTwoOctetAS.Marshal(b, m, deterministic) -} -func (m *RouteDistinguisherTwoOctetAS) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteDistinguisherTwoOctetAS.Merge(m, src) -} -func (m *RouteDistinguisherTwoOctetAS) XXX_Size() int { - return xxx_messageInfo_RouteDistinguisherTwoOctetAS.Size(m) -} -func (m *RouteDistinguisherTwoOctetAS) XXX_DiscardUnknown() { - xxx_messageInfo_RouteDistinguisherTwoOctetAS.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteDistinguisherTwoOctetAS proto.InternalMessageInfo - -func (m *RouteDistinguisherTwoOctetAS) GetAdmin() uint32 { - if m != nil { - return m.Admin +func (x *RouteDistinguisherTwoOctetAS) GetAdmin() uint32 { + if x != nil { + return x.Admin } return 0 } -func (m *RouteDistinguisherTwoOctetAS) GetAssigned() uint32 { - if m != nil { - return m.Assigned +func (x *RouteDistinguisherTwoOctetAS) GetAssigned() uint32 { + if x != nil { + return x.Assigned } return 0 } type RouteDistinguisherIPAddress struct { - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` } -func (m *RouteDistinguisherIPAddress) Reset() { *m = RouteDistinguisherIPAddress{} } -func (m *RouteDistinguisherIPAddress) String() string { return proto.CompactTextString(m) } -func (*RouteDistinguisherIPAddress) ProtoMessage() {} +func (x *RouteDistinguisherIPAddress) Reset() { + *x = RouteDistinguisherIPAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteDistinguisherIPAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteDistinguisherIPAddress) ProtoMessage() {} + +func (x *RouteDistinguisherIPAddress) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteDistinguisherIPAddress.ProtoReflect.Descriptor instead. func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{15} + return file_attribute_proto_rawDescGZIP(), []int{15} } -func (m *RouteDistinguisherIPAddress) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteDistinguisherIPAddress.Unmarshal(m, b) -} -func (m *RouteDistinguisherIPAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteDistinguisherIPAddress.Marshal(b, m, deterministic) -} -func (m *RouteDistinguisherIPAddress) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteDistinguisherIPAddress.Merge(m, src) -} -func (m *RouteDistinguisherIPAddress) XXX_Size() int { - return xxx_messageInfo_RouteDistinguisherIPAddress.Size(m) -} -func (m *RouteDistinguisherIPAddress) XXX_DiscardUnknown() { - xxx_messageInfo_RouteDistinguisherIPAddress.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteDistinguisherIPAddress proto.InternalMessageInfo - -func (m *RouteDistinguisherIPAddress) GetAdmin() string { - if m != nil { - return m.Admin +func (x *RouteDistinguisherIPAddress) GetAdmin() string { + if x != nil { + return x.Admin } return "" } -func (m *RouteDistinguisherIPAddress) GetAssigned() uint32 { - if m != nil { - return m.Assigned +func (x *RouteDistinguisherIPAddress) GetAssigned() uint32 { + if x != nil { + return x.Assigned } return 0 } type RouteDistinguisherFourOctetAS struct { - Admin uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"` - Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Admin uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"` + Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` } -func (m *RouteDistinguisherFourOctetAS) Reset() { *m = RouteDistinguisherFourOctetAS{} } -func (m *RouteDistinguisherFourOctetAS) String() string { return proto.CompactTextString(m) } -func (*RouteDistinguisherFourOctetAS) ProtoMessage() {} +func (x *RouteDistinguisherFourOctetAS) Reset() { + *x = RouteDistinguisherFourOctetAS{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteDistinguisherFourOctetAS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteDistinguisherFourOctetAS) ProtoMessage() {} + +func (x *RouteDistinguisherFourOctetAS) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteDistinguisherFourOctetAS.ProtoReflect.Descriptor instead. func (*RouteDistinguisherFourOctetAS) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{16} + return file_attribute_proto_rawDescGZIP(), []int{16} } -func (m *RouteDistinguisherFourOctetAS) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteDistinguisherFourOctetAS.Unmarshal(m, b) -} -func (m *RouteDistinguisherFourOctetAS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteDistinguisherFourOctetAS.Marshal(b, m, deterministic) -} -func (m *RouteDistinguisherFourOctetAS) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteDistinguisherFourOctetAS.Merge(m, src) -} -func (m *RouteDistinguisherFourOctetAS) XXX_Size() int { - return xxx_messageInfo_RouteDistinguisherFourOctetAS.Size(m) -} -func (m *RouteDistinguisherFourOctetAS) XXX_DiscardUnknown() { - xxx_messageInfo_RouteDistinguisherFourOctetAS.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteDistinguisherFourOctetAS proto.InternalMessageInfo - -func (m *RouteDistinguisherFourOctetAS) GetAdmin() uint32 { - if m != nil { - return m.Admin +func (x *RouteDistinguisherFourOctetAS) GetAdmin() uint32 { + if x != nil { + return x.Admin } return 0 } -func (m *RouteDistinguisherFourOctetAS) GetAssigned() uint32 { - if m != nil { - return m.Assigned +func (x *RouteDistinguisherFourOctetAS) GetAssigned() uint32 { + if x != nil { + return x.Assigned } return 0 } type EthernetSegmentIdentifier struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *EthernetSegmentIdentifier) Reset() { *m = EthernetSegmentIdentifier{} } -func (m *EthernetSegmentIdentifier) String() string { return proto.CompactTextString(m) } -func (*EthernetSegmentIdentifier) ProtoMessage() {} +func (x *EthernetSegmentIdentifier) Reset() { + *x = EthernetSegmentIdentifier{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EthernetSegmentIdentifier) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EthernetSegmentIdentifier) ProtoMessage() {} + +func (x *EthernetSegmentIdentifier) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EthernetSegmentIdentifier.ProtoReflect.Descriptor instead. func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{17} + return file_attribute_proto_rawDescGZIP(), []int{17} } -func (m *EthernetSegmentIdentifier) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EthernetSegmentIdentifier.Unmarshal(m, b) -} -func (m *EthernetSegmentIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EthernetSegmentIdentifier.Marshal(b, m, deterministic) -} -func (m *EthernetSegmentIdentifier) XXX_Merge(src proto.Message) { - xxx_messageInfo_EthernetSegmentIdentifier.Merge(m, src) -} -func (m *EthernetSegmentIdentifier) XXX_Size() int { - return xxx_messageInfo_EthernetSegmentIdentifier.Size(m) -} -func (m *EthernetSegmentIdentifier) XXX_DiscardUnknown() { - xxx_messageInfo_EthernetSegmentIdentifier.DiscardUnknown(m) -} - -var xxx_messageInfo_EthernetSegmentIdentifier proto.InternalMessageInfo - -func (m *EthernetSegmentIdentifier) GetType() uint32 { - if m != nil { - return m.Type +func (x *EthernetSegmentIdentifier) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *EthernetSegmentIdentifier) GetValue() []byte { - if m != nil { - return m.Value +func (x *EthernetSegmentIdentifier) GetValue() []byte { + if x != nil { + return x.Value } return nil } @@ -1038,68 +1286,76 @@ func (m *EthernetSegmentIdentifier) GetValue() []byte { // EVPNEthernetAutoDiscoveryRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=1 type EVPNEthernetAutoDiscoveryRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` - Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` - EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` - Label uint32 `protobuf:"varint,4,opt,name=label,proto3" json:"label,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` + EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` + Label uint32 `protobuf:"varint,4,opt,name=label,proto3" json:"label,omitempty"` } -func (m *EVPNEthernetAutoDiscoveryRoute) Reset() { *m = EVPNEthernetAutoDiscoveryRoute{} } -func (m *EVPNEthernetAutoDiscoveryRoute) String() string { return proto.CompactTextString(m) } -func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage() {} +func (x *EVPNEthernetAutoDiscoveryRoute) Reset() { + *x = EVPNEthernetAutoDiscoveryRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EVPNEthernetAutoDiscoveryRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage() {} + +func (x *EVPNEthernetAutoDiscoveryRoute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[18] + 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 EVPNEthernetAutoDiscoveryRoute.ProtoReflect.Descriptor instead. func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{18} + return file_attribute_proto_rawDescGZIP(), []int{18} } -func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Unmarshal(m, b) -} -func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Marshal(b, m, deterministic) -} -func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Merge(m, src) -} -func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Size() int { - return xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Size(m) -} -func (m *EVPNEthernetAutoDiscoveryRoute) XXX_DiscardUnknown() { - xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute proto.InternalMessageInfo - -func (m *EVPNEthernetAutoDiscoveryRoute) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *EVPNEthernetAutoDiscoveryRoute) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier { - if m != nil { - return m.Esi +func (x *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier { + if x != nil { + return x.Esi } return nil } -func (m *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 { - if m != nil { - return m.EthernetTag +func (x *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 { + if x != nil { + return x.EthernetTag } return 0 } -func (m *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 { - if m != nil { - return m.Label +func (x *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 { + if x != nil { + return x.Label } return 0 } @@ -1107,84 +1363,92 @@ func (m *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 { // EVPNMACIPAdvertisementRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=2 type EVPNMACIPAdvertisementRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` - Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` - EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` - MacAddress string `protobuf:"bytes,4,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` - IpAddress string `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` - Labels []uint32 `protobuf:"varint,6,rep,packed,name=labels,proto3" json:"labels,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` + EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` + MacAddress string `protobuf:"bytes,4,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + IpAddress string `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + Labels []uint32 `protobuf:"varint,6,rep,packed,name=labels,proto3" json:"labels,omitempty"` } -func (m *EVPNMACIPAdvertisementRoute) Reset() { *m = EVPNMACIPAdvertisementRoute{} } -func (m *EVPNMACIPAdvertisementRoute) String() string { return proto.CompactTextString(m) } -func (*EVPNMACIPAdvertisementRoute) ProtoMessage() {} +func (x *EVPNMACIPAdvertisementRoute) Reset() { + *x = EVPNMACIPAdvertisementRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EVPNMACIPAdvertisementRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EVPNMACIPAdvertisementRoute) ProtoMessage() {} + +func (x *EVPNMACIPAdvertisementRoute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EVPNMACIPAdvertisementRoute.ProtoReflect.Descriptor instead. func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{19} + return file_attribute_proto_rawDescGZIP(), []int{19} } -func (m *EVPNMACIPAdvertisementRoute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EVPNMACIPAdvertisementRoute.Unmarshal(m, b) -} -func (m *EVPNMACIPAdvertisementRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EVPNMACIPAdvertisementRoute.Marshal(b, m, deterministic) -} -func (m *EVPNMACIPAdvertisementRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_EVPNMACIPAdvertisementRoute.Merge(m, src) -} -func (m *EVPNMACIPAdvertisementRoute) XXX_Size() int { - return xxx_messageInfo_EVPNMACIPAdvertisementRoute.Size(m) -} -func (m *EVPNMACIPAdvertisementRoute) XXX_DiscardUnknown() { - xxx_messageInfo_EVPNMACIPAdvertisementRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_EVPNMACIPAdvertisementRoute proto.InternalMessageInfo - -func (m *EVPNMACIPAdvertisementRoute) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *EVPNMACIPAdvertisementRoute) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier { - if m != nil { - return m.Esi +func (x *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier { + if x != nil { + return x.Esi } return nil } -func (m *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 { - if m != nil { - return m.EthernetTag +func (x *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 { + if x != nil { + return x.EthernetTag } return 0 } -func (m *EVPNMACIPAdvertisementRoute) GetMacAddress() string { - if m != nil { - return m.MacAddress +func (x *EVPNMACIPAdvertisementRoute) GetMacAddress() string { + if x != nil { + return x.MacAddress } return "" } -func (m *EVPNMACIPAdvertisementRoute) GetIpAddress() string { - if m != nil { - return m.IpAddress +func (x *EVPNMACIPAdvertisementRoute) GetIpAddress() string { + if x != nil { + return x.IpAddress } return "" } -func (m *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 { - if m != nil { - return m.Labels +func (x *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 { + if x != nil { + return x.Labels } return nil } @@ -1192,62 +1456,68 @@ func (m *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 { // EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=3 type EVPNInclusiveMulticastEthernetTagRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` - EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` - IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` + IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` } -func (m *EVPNInclusiveMulticastEthernetTagRoute) Reset() { - *m = EVPNInclusiveMulticastEthernetTagRoute{} +func (x *EVPNInclusiveMulticastEthernetTagRoute) Reset() { + *x = EVPNInclusiveMulticastEthernetTagRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *EVPNInclusiveMulticastEthernetTagRoute) String() string { return proto.CompactTextString(m) } -func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage() {} + +func (x *EVPNInclusiveMulticastEthernetTagRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage() {} + +func (x *EVPNInclusiveMulticastEthernetTagRoute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[20] + 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 EVPNInclusiveMulticastEthernetTagRoute.ProtoReflect.Descriptor instead. func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{20} + return file_attribute_proto_rawDescGZIP(), []int{20} } -func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Unmarshal(m, b) -} -func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Marshal(b, m, deterministic) -} -func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Merge(m, src) -} -func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Size() int { - return xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Size(m) -} -func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_DiscardUnknown() { - xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute proto.InternalMessageInfo - -func (m *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 { - if m != nil { - return m.EthernetTag +func (x *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 { + if x != nil { + return x.EthernetTag } return 0 } -func (m *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string { - if m != nil { - return m.IpAddress +func (x *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string { + if x != nil { + return x.IpAddress } return "" } @@ -1255,60 +1525,68 @@ func (m *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string { // EVPNEthernetSegmentRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=4 type EVPNEthernetSegmentRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` - Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` - IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` + IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` } -func (m *EVPNEthernetSegmentRoute) Reset() { *m = EVPNEthernetSegmentRoute{} } -func (m *EVPNEthernetSegmentRoute) String() string { return proto.CompactTextString(m) } -func (*EVPNEthernetSegmentRoute) ProtoMessage() {} +func (x *EVPNEthernetSegmentRoute) Reset() { + *x = EVPNEthernetSegmentRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EVPNEthernetSegmentRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EVPNEthernetSegmentRoute) ProtoMessage() {} + +func (x *EVPNEthernetSegmentRoute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[21] + 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 EVPNEthernetSegmentRoute.ProtoReflect.Descriptor instead. func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{21} + return file_attribute_proto_rawDescGZIP(), []int{21} } -func (m *EVPNEthernetSegmentRoute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EVPNEthernetSegmentRoute.Unmarshal(m, b) -} -func (m *EVPNEthernetSegmentRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EVPNEthernetSegmentRoute.Marshal(b, m, deterministic) -} -func (m *EVPNEthernetSegmentRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_EVPNEthernetSegmentRoute.Merge(m, src) -} -func (m *EVPNEthernetSegmentRoute) XXX_Size() int { - return xxx_messageInfo_EVPNEthernetSegmentRoute.Size(m) -} -func (m *EVPNEthernetSegmentRoute) XXX_DiscardUnknown() { - xxx_messageInfo_EVPNEthernetSegmentRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_EVPNEthernetSegmentRoute proto.InternalMessageInfo - -func (m *EVPNEthernetSegmentRoute) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *EVPNEthernetSegmentRoute) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier { - if m != nil { - return m.Esi +func (x *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier { + if x != nil { + return x.Esi } return nil } -func (m *EVPNEthernetSegmentRoute) GetIpAddress() string { - if m != nil { - return m.IpAddress +func (x *EVPNEthernetSegmentRoute) GetIpAddress() string { + if x != nil { + return x.IpAddress } return "" } @@ -1316,92 +1594,100 @@ func (m *EVPNEthernetSegmentRoute) GetIpAddress() string { // EVPNIPPrefixRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=5 type EVPNIPPrefixRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` - Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` - EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` - IpPrefix string `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"` - IpPrefixLen uint32 `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen,proto3" json:"ip_prefix_len,omitempty"` - GwAddress string `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress,proto3" json:"gw_address,omitempty"` - Label uint32 `protobuf:"varint,7,opt,name=label,proto3" json:"label,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` + EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` + IpPrefix string `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"` + IpPrefixLen uint32 `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen,proto3" json:"ip_prefix_len,omitempty"` + GwAddress string `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress,proto3" json:"gw_address,omitempty"` + Label uint32 `protobuf:"varint,7,opt,name=label,proto3" json:"label,omitempty"` } -func (m *EVPNIPPrefixRoute) Reset() { *m = EVPNIPPrefixRoute{} } -func (m *EVPNIPPrefixRoute) String() string { return proto.CompactTextString(m) } -func (*EVPNIPPrefixRoute) ProtoMessage() {} +func (x *EVPNIPPrefixRoute) Reset() { + *x = EVPNIPPrefixRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EVPNIPPrefixRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EVPNIPPrefixRoute) ProtoMessage() {} + +func (x *EVPNIPPrefixRoute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[22] + 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 EVPNIPPrefixRoute.ProtoReflect.Descriptor instead. func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{22} + return file_attribute_proto_rawDescGZIP(), []int{22} } -func (m *EVPNIPPrefixRoute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EVPNIPPrefixRoute.Unmarshal(m, b) -} -func (m *EVPNIPPrefixRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EVPNIPPrefixRoute.Marshal(b, m, deterministic) -} -func (m *EVPNIPPrefixRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_EVPNIPPrefixRoute.Merge(m, src) -} -func (m *EVPNIPPrefixRoute) XXX_Size() int { - return xxx_messageInfo_EVPNIPPrefixRoute.Size(m) -} -func (m *EVPNIPPrefixRoute) XXX_DiscardUnknown() { - xxx_messageInfo_EVPNIPPrefixRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_EVPNIPPrefixRoute proto.InternalMessageInfo - -func (m *EVPNIPPrefixRoute) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *EVPNIPPrefixRoute) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier { - if m != nil { - return m.Esi +func (x *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier { + if x != nil { + return x.Esi } return nil } -func (m *EVPNIPPrefixRoute) GetEthernetTag() uint32 { - if m != nil { - return m.EthernetTag +func (x *EVPNIPPrefixRoute) GetEthernetTag() uint32 { + if x != nil { + return x.EthernetTag } return 0 } -func (m *EVPNIPPrefixRoute) GetIpPrefix() string { - if m != nil { - return m.IpPrefix +func (x *EVPNIPPrefixRoute) GetIpPrefix() string { + if x != nil { + return x.IpPrefix } return "" } -func (m *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 { - if m != nil { - return m.IpPrefixLen +func (x *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 { + if x != nil { + return x.IpPrefixLen } return 0 } -func (m *EVPNIPPrefixRoute) GetGwAddress() string { - if m != nil { - return m.GwAddress +func (x *EVPNIPPrefixRoute) GetGwAddress() string { + if x != nil { + return x.GwAddress } return "" } -func (m *EVPNIPPrefixRoute) GetLabel() uint32 { - if m != nil { - return m.Label +func (x *EVPNIPPrefixRoute) GetLabel() uint32 { + if x != nil { + return x.Label } return 0 } @@ -1409,60 +1695,68 @@ func (m *EVPNIPPrefixRoute) GetLabel() uint32 { // EVPNIPMSIRoute represents the NLRI for: // - AFI=25, SAFI=70, RouteType=9 type EVPNIPMSIRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` - EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` - Rt *any.Any `protobuf:"bytes,3,opt,name=rt,proto3" json:"rt,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` + Rt *anypb.Any `protobuf:"bytes,3,opt,name=rt,proto3" json:"rt,omitempty"` } -func (m *EVPNIPMSIRoute) Reset() { *m = EVPNIPMSIRoute{} } -func (m *EVPNIPMSIRoute) String() string { return proto.CompactTextString(m) } -func (*EVPNIPMSIRoute) ProtoMessage() {} +func (x *EVPNIPMSIRoute) Reset() { + *x = EVPNIPMSIRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EVPNIPMSIRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EVPNIPMSIRoute) ProtoMessage() {} + +func (x *EVPNIPMSIRoute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[23] + 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 EVPNIPMSIRoute.ProtoReflect.Descriptor instead. func (*EVPNIPMSIRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{23} + return file_attribute_proto_rawDescGZIP(), []int{23} } -func (m *EVPNIPMSIRoute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EVPNIPMSIRoute.Unmarshal(m, b) -} -func (m *EVPNIPMSIRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EVPNIPMSIRoute.Marshal(b, m, deterministic) -} -func (m *EVPNIPMSIRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_EVPNIPMSIRoute.Merge(m, src) -} -func (m *EVPNIPMSIRoute) XXX_Size() int { - return xxx_messageInfo_EVPNIPMSIRoute.Size(m) -} -func (m *EVPNIPMSIRoute) XXX_DiscardUnknown() { - xxx_messageInfo_EVPNIPMSIRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_EVPNIPMSIRoute proto.InternalMessageInfo - -func (m *EVPNIPMSIRoute) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *EVPNIPMSIRoute) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *EVPNIPMSIRoute) GetEthernetTag() uint32 { - if m != nil { - return m.EthernetTag +func (x *EVPNIPMSIRoute) GetEthernetTag() uint32 { + if x != nil { + return x.EthernetTag } return 0 } -func (m *EVPNIPMSIRoute) GetRt() *any.Any { - if m != nil { - return m.Rt +func (x *EVPNIPMSIRoute) GetRt() *anypb.Any { + if x != nil { + return x.Rt } return nil } @@ -1471,6 +1765,10 @@ func (m *EVPNIPMSIRoute) GetRt() *any.Any { // - AFI=1, SAFI=73 // - AFI=2, SAFI=73 type SRPolicyNLRI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // length field carries the length of NLRI portion expressed in bits Length uint32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` // distinguisher field carries 4-octet value uniquely identifying the policy @@ -1484,61 +1782,65 @@ type SRPolicyNLRI struct { // represent a single node or a set of nodes (e.g., an anycast // address). The Endpoint is an IPv4 (4-octet) address or an IPv6 // (16-octet) address according to the AFI of the NLRI. - Endpoint []byte `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Endpoint []byte `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"` } -func (m *SRPolicyNLRI) Reset() { *m = SRPolicyNLRI{} } -func (m *SRPolicyNLRI) String() string { return proto.CompactTextString(m) } -func (*SRPolicyNLRI) ProtoMessage() {} +func (x *SRPolicyNLRI) Reset() { + *x = SRPolicyNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRPolicyNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRPolicyNLRI) ProtoMessage() {} + +func (x *SRPolicyNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[24] + 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 SRPolicyNLRI.ProtoReflect.Descriptor instead. func (*SRPolicyNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{24} + return file_attribute_proto_rawDescGZIP(), []int{24} } -func (m *SRPolicyNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRPolicyNLRI.Unmarshal(m, b) -} -func (m *SRPolicyNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRPolicyNLRI.Marshal(b, m, deterministic) -} -func (m *SRPolicyNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRPolicyNLRI.Merge(m, src) -} -func (m *SRPolicyNLRI) XXX_Size() int { - return xxx_messageInfo_SRPolicyNLRI.Size(m) -} -func (m *SRPolicyNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_SRPolicyNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_SRPolicyNLRI proto.InternalMessageInfo - -func (m *SRPolicyNLRI) GetLength() uint32 { - if m != nil { - return m.Length +func (x *SRPolicyNLRI) GetLength() uint32 { + if x != nil { + return x.Length } return 0 } -func (m *SRPolicyNLRI) GetDistinguisher() uint32 { - if m != nil { - return m.Distinguisher +func (x *SRPolicyNLRI) GetDistinguisher() uint32 { + if x != nil { + return x.Distinguisher } return 0 } -func (m *SRPolicyNLRI) GetColor() uint32 { - if m != nil { - return m.Color +func (x *SRPolicyNLRI) GetColor() uint32 { + if x != nil { + return x.Color } return 0 } -func (m *SRPolicyNLRI) GetEndpoint() []byte { - if m != nil { - return m.Endpoint +func (x *SRPolicyNLRI) GetEndpoint() []byte { + if x != nil { + return x.Endpoint } return nil } @@ -1547,68 +1849,76 @@ func (m *SRPolicyNLRI) GetEndpoint() []byte { // - AFI=1, SAFI=128 // - AFI=2, SAFI=128 type LabeledVPNIPAddressPrefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"` // One of: // - TwoOctetAsSpecificExtended // - IPv4AddressSpecificExtended // - FourOctetAsSpecificExtended - Rd *any.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` - PrefixLen uint32 `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` - Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rd *anypb.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` + PrefixLen uint32 `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` + Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` } -func (m *LabeledVPNIPAddressPrefix) Reset() { *m = LabeledVPNIPAddressPrefix{} } -func (m *LabeledVPNIPAddressPrefix) String() string { return proto.CompactTextString(m) } -func (*LabeledVPNIPAddressPrefix) ProtoMessage() {} +func (x *LabeledVPNIPAddressPrefix) Reset() { + *x = LabeledVPNIPAddressPrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LabeledVPNIPAddressPrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LabeledVPNIPAddressPrefix) ProtoMessage() {} + +func (x *LabeledVPNIPAddressPrefix) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[25] + 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 LabeledVPNIPAddressPrefix.ProtoReflect.Descriptor instead. func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{25} + return file_attribute_proto_rawDescGZIP(), []int{25} } -func (m *LabeledVPNIPAddressPrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LabeledVPNIPAddressPrefix.Unmarshal(m, b) -} -func (m *LabeledVPNIPAddressPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LabeledVPNIPAddressPrefix.Marshal(b, m, deterministic) -} -func (m *LabeledVPNIPAddressPrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_LabeledVPNIPAddressPrefix.Merge(m, src) -} -func (m *LabeledVPNIPAddressPrefix) XXX_Size() int { - return xxx_messageInfo_LabeledVPNIPAddressPrefix.Size(m) -} -func (m *LabeledVPNIPAddressPrefix) XXX_DiscardUnknown() { - xxx_messageInfo_LabeledVPNIPAddressPrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_LabeledVPNIPAddressPrefix proto.InternalMessageInfo - -func (m *LabeledVPNIPAddressPrefix) GetLabels() []uint32 { - if m != nil { - return m.Labels +func (x *LabeledVPNIPAddressPrefix) GetLabels() []uint32 { + if x != nil { + return x.Labels } return nil } -func (m *LabeledVPNIPAddressPrefix) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *LabeledVPNIPAddressPrefix) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } -func (m *LabeledVPNIPAddressPrefix) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *LabeledVPNIPAddressPrefix) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } @@ -1616,258 +1926,298 @@ func (m *LabeledVPNIPAddressPrefix) GetPrefix() string { // RouteTargetMembershipNLRI represents the NLRI for: // - AFI=1, SAFI=132 type RouteTargetMembershipNLRI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` // One of: // - TwoOctetAsSpecificExtended // - IPv4AddressSpecificExtended // - FourOctetAsSpecificExtended - Rt *any.Any `protobuf:"bytes,2,opt,name=rt,proto3" json:"rt,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rt *anypb.Any `protobuf:"bytes,2,opt,name=rt,proto3" json:"rt,omitempty"` } -func (m *RouteTargetMembershipNLRI) Reset() { *m = RouteTargetMembershipNLRI{} } -func (m *RouteTargetMembershipNLRI) String() string { return proto.CompactTextString(m) } -func (*RouteTargetMembershipNLRI) ProtoMessage() {} +func (x *RouteTargetMembershipNLRI) Reset() { + *x = RouteTargetMembershipNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTargetMembershipNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTargetMembershipNLRI) ProtoMessage() {} + +func (x *RouteTargetMembershipNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[26] + 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 RouteTargetMembershipNLRI.ProtoReflect.Descriptor instead. func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{26} + return file_attribute_proto_rawDescGZIP(), []int{26} } -func (m *RouteTargetMembershipNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteTargetMembershipNLRI.Unmarshal(m, b) -} -func (m *RouteTargetMembershipNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteTargetMembershipNLRI.Marshal(b, m, deterministic) -} -func (m *RouteTargetMembershipNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteTargetMembershipNLRI.Merge(m, src) -} -func (m *RouteTargetMembershipNLRI) XXX_Size() int { - return xxx_messageInfo_RouteTargetMembershipNLRI.Size(m) -} -func (m *RouteTargetMembershipNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_RouteTargetMembershipNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteTargetMembershipNLRI proto.InternalMessageInfo - -func (m *RouteTargetMembershipNLRI) GetAs() uint32 { - if m != nil { - return m.As +func (x *RouteTargetMembershipNLRI) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *RouteTargetMembershipNLRI) GetRt() *any.Any { - if m != nil { - return m.Rt +func (x *RouteTargetMembershipNLRI) GetRt() *anypb.Any { + if x != nil { + return x.Rt } return nil } type FlowSpecIPPrefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` // IPv6 only - Offset uint32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Offset uint32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` } -func (m *FlowSpecIPPrefix) Reset() { *m = FlowSpecIPPrefix{} } -func (m *FlowSpecIPPrefix) String() string { return proto.CompactTextString(m) } -func (*FlowSpecIPPrefix) ProtoMessage() {} +func (x *FlowSpecIPPrefix) Reset() { + *x = FlowSpecIPPrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowSpecIPPrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowSpecIPPrefix) ProtoMessage() {} + +func (x *FlowSpecIPPrefix) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[27] + 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 FlowSpecIPPrefix.ProtoReflect.Descriptor instead. func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{27} + return file_attribute_proto_rawDescGZIP(), []int{27} } -func (m *FlowSpecIPPrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FlowSpecIPPrefix.Unmarshal(m, b) -} -func (m *FlowSpecIPPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FlowSpecIPPrefix.Marshal(b, m, deterministic) -} -func (m *FlowSpecIPPrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_FlowSpecIPPrefix.Merge(m, src) -} -func (m *FlowSpecIPPrefix) XXX_Size() int { - return xxx_messageInfo_FlowSpecIPPrefix.Size(m) -} -func (m *FlowSpecIPPrefix) XXX_DiscardUnknown() { - xxx_messageInfo_FlowSpecIPPrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_FlowSpecIPPrefix proto.InternalMessageInfo - -func (m *FlowSpecIPPrefix) GetType() uint32 { - if m != nil { - return m.Type +func (x *FlowSpecIPPrefix) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *FlowSpecIPPrefix) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *FlowSpecIPPrefix) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } -func (m *FlowSpecIPPrefix) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *FlowSpecIPPrefix) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } -func (m *FlowSpecIPPrefix) GetOffset() uint32 { - if m != nil { - return m.Offset +func (x *FlowSpecIPPrefix) GetOffset() uint32 { + if x != nil { + return x.Offset } return 0 } type FlowSpecMAC struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` } -func (m *FlowSpecMAC) Reset() { *m = FlowSpecMAC{} } -func (m *FlowSpecMAC) String() string { return proto.CompactTextString(m) } -func (*FlowSpecMAC) ProtoMessage() {} +func (x *FlowSpecMAC) Reset() { + *x = FlowSpecMAC{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowSpecMAC) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowSpecMAC) ProtoMessage() {} + +func (x *FlowSpecMAC) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[28] + 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 FlowSpecMAC.ProtoReflect.Descriptor instead. func (*FlowSpecMAC) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{28} + return file_attribute_proto_rawDescGZIP(), []int{28} } -func (m *FlowSpecMAC) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FlowSpecMAC.Unmarshal(m, b) -} -func (m *FlowSpecMAC) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FlowSpecMAC.Marshal(b, m, deterministic) -} -func (m *FlowSpecMAC) XXX_Merge(src proto.Message) { - xxx_messageInfo_FlowSpecMAC.Merge(m, src) -} -func (m *FlowSpecMAC) XXX_Size() int { - return xxx_messageInfo_FlowSpecMAC.Size(m) -} -func (m *FlowSpecMAC) XXX_DiscardUnknown() { - xxx_messageInfo_FlowSpecMAC.DiscardUnknown(m) -} - -var xxx_messageInfo_FlowSpecMAC proto.InternalMessageInfo - -func (m *FlowSpecMAC) GetType() uint32 { - if m != nil { - return m.Type +func (x *FlowSpecMAC) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *FlowSpecMAC) GetAddress() string { - if m != nil { - return m.Address +func (x *FlowSpecMAC) GetAddress() string { + if x != nil { + return x.Address } return "" } type FlowSpecComponentItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Operator for Numeric type, Operand for Bitmask type - Op uint32 `protobuf:"varint,1,opt,name=op,proto3" json:"op,omitempty"` - Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Op uint32 `protobuf:"varint,1,opt,name=op,proto3" json:"op,omitempty"` + Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *FlowSpecComponentItem) Reset() { *m = FlowSpecComponentItem{} } -func (m *FlowSpecComponentItem) String() string { return proto.CompactTextString(m) } -func (*FlowSpecComponentItem) ProtoMessage() {} +func (x *FlowSpecComponentItem) Reset() { + *x = FlowSpecComponentItem{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowSpecComponentItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowSpecComponentItem) ProtoMessage() {} + +func (x *FlowSpecComponentItem) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[29] + 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 FlowSpecComponentItem.ProtoReflect.Descriptor instead. func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{29} + return file_attribute_proto_rawDescGZIP(), []int{29} } -func (m *FlowSpecComponentItem) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FlowSpecComponentItem.Unmarshal(m, b) -} -func (m *FlowSpecComponentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FlowSpecComponentItem.Marshal(b, m, deterministic) -} -func (m *FlowSpecComponentItem) XXX_Merge(src proto.Message) { - xxx_messageInfo_FlowSpecComponentItem.Merge(m, src) -} -func (m *FlowSpecComponentItem) XXX_Size() int { - return xxx_messageInfo_FlowSpecComponentItem.Size(m) -} -func (m *FlowSpecComponentItem) XXX_DiscardUnknown() { - xxx_messageInfo_FlowSpecComponentItem.DiscardUnknown(m) -} - -var xxx_messageInfo_FlowSpecComponentItem proto.InternalMessageInfo - -func (m *FlowSpecComponentItem) GetOp() uint32 { - if m != nil { - return m.Op +func (x *FlowSpecComponentItem) GetOp() uint32 { + if x != nil { + return x.Op } return 0 } -func (m *FlowSpecComponentItem) GetValue() uint64 { - if m != nil { - return m.Value +func (x *FlowSpecComponentItem) GetValue() uint64 { + if x != nil { + return x.Value } return 0 } type FlowSpecComponent struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` } -func (m *FlowSpecComponent) Reset() { *m = FlowSpecComponent{} } -func (m *FlowSpecComponent) String() string { return proto.CompactTextString(m) } -func (*FlowSpecComponent) ProtoMessage() {} +func (x *FlowSpecComponent) Reset() { + *x = FlowSpecComponent{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowSpecComponent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowSpecComponent) ProtoMessage() {} + +func (x *FlowSpecComponent) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[30] + 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 FlowSpecComponent.ProtoReflect.Descriptor instead. func (*FlowSpecComponent) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{30} + return file_attribute_proto_rawDescGZIP(), []int{30} } -func (m *FlowSpecComponent) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FlowSpecComponent.Unmarshal(m, b) -} -func (m *FlowSpecComponent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FlowSpecComponent.Marshal(b, m, deterministic) -} -func (m *FlowSpecComponent) XXX_Merge(src proto.Message) { - xxx_messageInfo_FlowSpecComponent.Merge(m, src) -} -func (m *FlowSpecComponent) XXX_Size() int { - return xxx_messageInfo_FlowSpecComponent.Size(m) -} -func (m *FlowSpecComponent) XXX_DiscardUnknown() { - xxx_messageInfo_FlowSpecComponent.DiscardUnknown(m) -} - -var xxx_messageInfo_FlowSpecComponent proto.InternalMessageInfo - -func (m *FlowSpecComponent) GetType() uint32 { - if m != nil { - return m.Type +func (x *FlowSpecComponent) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *FlowSpecComponent) GetItems() []*FlowSpecComponentItem { - if m != nil { - return m.Items +func (x *FlowSpecComponent) GetItems() []*FlowSpecComponentItem { + if x != nil { + return x.Items } return nil } @@ -1876,44 +2226,52 @@ func (m *FlowSpecComponent) GetItems() []*FlowSpecComponentItem { // - AFI=1, SAFI=133 // - AFI=2, SAFI=133 type FlowSpecNLRI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - FlowSpecIPPrefix // - FlowSpecMAC // - FlowSpecComponent - Rules []*any.Any `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rules []*anypb.Any `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` } -func (m *FlowSpecNLRI) Reset() { *m = FlowSpecNLRI{} } -func (m *FlowSpecNLRI) String() string { return proto.CompactTextString(m) } -func (*FlowSpecNLRI) ProtoMessage() {} +func (x *FlowSpecNLRI) Reset() { + *x = FlowSpecNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowSpecNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowSpecNLRI) ProtoMessage() {} + +func (x *FlowSpecNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[31] + 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 FlowSpecNLRI.ProtoReflect.Descriptor instead. func (*FlowSpecNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{31} + return file_attribute_proto_rawDescGZIP(), []int{31} } -func (m *FlowSpecNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FlowSpecNLRI.Unmarshal(m, b) -} -func (m *FlowSpecNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FlowSpecNLRI.Marshal(b, m, deterministic) -} -func (m *FlowSpecNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_FlowSpecNLRI.Merge(m, src) -} -func (m *FlowSpecNLRI) XXX_Size() int { - return xxx_messageInfo_FlowSpecNLRI.Size(m) -} -func (m *FlowSpecNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_FlowSpecNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_FlowSpecNLRI proto.InternalMessageInfo - -func (m *FlowSpecNLRI) GetRules() []*any.Any { - if m != nil { - return m.Rules +func (x *FlowSpecNLRI) GetRules() []*anypb.Any { + if x != nil { + return x.Rules } return nil } @@ -1923,56 +2281,64 @@ func (m *FlowSpecNLRI) GetRules() []*any.Any { // - AFI=2, SAFI=134 // - AFI=25, SAFI=134 type VPNFlowSpecNLRI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of: // - RouteDistinguisherTwoOctetAS // - RouteDistinguisherIPAddressAS // - RouteDistinguisherFourOctetAS - Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` + Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` // One of: // - FlowSpecIPPrefix // - FlowSpecMAC // - FlowSpecComponent - Rules []*any.Any `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Rules []*anypb.Any `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` } -func (m *VPNFlowSpecNLRI) Reset() { *m = VPNFlowSpecNLRI{} } -func (m *VPNFlowSpecNLRI) String() string { return proto.CompactTextString(m) } -func (*VPNFlowSpecNLRI) ProtoMessage() {} +func (x *VPNFlowSpecNLRI) Reset() { + *x = VPNFlowSpecNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VPNFlowSpecNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VPNFlowSpecNLRI) ProtoMessage() {} + +func (x *VPNFlowSpecNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_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 VPNFlowSpecNLRI.ProtoReflect.Descriptor instead. func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{32} + return file_attribute_proto_rawDescGZIP(), []int{32} } -func (m *VPNFlowSpecNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_VPNFlowSpecNLRI.Unmarshal(m, b) -} -func (m *VPNFlowSpecNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_VPNFlowSpecNLRI.Marshal(b, m, deterministic) -} -func (m *VPNFlowSpecNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_VPNFlowSpecNLRI.Merge(m, src) -} -func (m *VPNFlowSpecNLRI) XXX_Size() int { - return xxx_messageInfo_VPNFlowSpecNLRI.Size(m) -} -func (m *VPNFlowSpecNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_VPNFlowSpecNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_VPNFlowSpecNLRI proto.InternalMessageInfo - -func (m *VPNFlowSpecNLRI) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *VPNFlowSpecNLRI) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *VPNFlowSpecNLRI) GetRules() []*any.Any { - if m != nil { - return m.Rules +func (x *VPNFlowSpecNLRI) GetRules() []*anypb.Any { + if x != nil { + return x.Rules } return nil } @@ -1980,433 +2346,497 @@ func (m *VPNFlowSpecNLRI) GetRules() []*any.Any { // OpaqueNLRI represents the NLRI for: // - AFI=16397, SAFI=241 type OpaqueNLRI struct { - Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *OpaqueNLRI) Reset() { *m = OpaqueNLRI{} } -func (m *OpaqueNLRI) String() string { return proto.CompactTextString(m) } -func (*OpaqueNLRI) ProtoMessage() {} +func (x *OpaqueNLRI) Reset() { + *x = OpaqueNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpaqueNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpaqueNLRI) ProtoMessage() {} + +func (x *OpaqueNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_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 OpaqueNLRI.ProtoReflect.Descriptor instead. func (*OpaqueNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{33} + return file_attribute_proto_rawDescGZIP(), []int{33} } -func (m *OpaqueNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OpaqueNLRI.Unmarshal(m, b) -} -func (m *OpaqueNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OpaqueNLRI.Marshal(b, m, deterministic) -} -func (m *OpaqueNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_OpaqueNLRI.Merge(m, src) -} -func (m *OpaqueNLRI) XXX_Size() int { - return xxx_messageInfo_OpaqueNLRI.Size(m) -} -func (m *OpaqueNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_OpaqueNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_OpaqueNLRI proto.InternalMessageInfo - -func (m *OpaqueNLRI) GetKey() []byte { - if m != nil { - return m.Key +func (x *OpaqueNLRI) GetKey() []byte { + if x != nil { + return x.Key } return nil } -func (m *OpaqueNLRI) GetValue() []byte { - if m != nil { - return m.Value +func (x *OpaqueNLRI) GetValue() []byte { + if x != nil { + return x.Value } return nil } type LsNodeDescriptor struct { - Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` - BgpLsId uint32 `protobuf:"varint,2,opt,name=bgp_ls_id,json=bgpLsId,proto3" json:"bgp_ls_id,omitempty"` - OspfAreaId uint32 `protobuf:"varint,3,opt,name=ospf_area_id,json=ospfAreaId,proto3" json:"ospf_area_id,omitempty"` - Pseudonode bool `protobuf:"varint,4,opt,name=pseudonode,proto3" json:"pseudonode,omitempty"` - IgpRouterId string `protobuf:"bytes,5,opt,name=igp_router_id,json=igpRouterId,proto3" json:"igp_router_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` + BgpLsId uint32 `protobuf:"varint,2,opt,name=bgp_ls_id,json=bgpLsId,proto3" json:"bgp_ls_id,omitempty"` + OspfAreaId uint32 `protobuf:"varint,3,opt,name=ospf_area_id,json=ospfAreaId,proto3" json:"ospf_area_id,omitempty"` + Pseudonode bool `protobuf:"varint,4,opt,name=pseudonode,proto3" json:"pseudonode,omitempty"` + IgpRouterId string `protobuf:"bytes,5,opt,name=igp_router_id,json=igpRouterId,proto3" json:"igp_router_id,omitempty"` } -func (m *LsNodeDescriptor) Reset() { *m = LsNodeDescriptor{} } -func (m *LsNodeDescriptor) String() string { return proto.CompactTextString(m) } -func (*LsNodeDescriptor) ProtoMessage() {} +func (x *LsNodeDescriptor) Reset() { + *x = LsNodeDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsNodeDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsNodeDescriptor) ProtoMessage() {} + +func (x *LsNodeDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[34] + 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 LsNodeDescriptor.ProtoReflect.Descriptor instead. func (*LsNodeDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{34} + return file_attribute_proto_rawDescGZIP(), []int{34} } -func (m *LsNodeDescriptor) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsNodeDescriptor.Unmarshal(m, b) -} -func (m *LsNodeDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsNodeDescriptor.Marshal(b, m, deterministic) -} -func (m *LsNodeDescriptor) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsNodeDescriptor.Merge(m, src) -} -func (m *LsNodeDescriptor) XXX_Size() int { - return xxx_messageInfo_LsNodeDescriptor.Size(m) -} -func (m *LsNodeDescriptor) XXX_DiscardUnknown() { - xxx_messageInfo_LsNodeDescriptor.DiscardUnknown(m) -} - -var xxx_messageInfo_LsNodeDescriptor proto.InternalMessageInfo - -func (m *LsNodeDescriptor) GetAsn() uint32 { - if m != nil { - return m.Asn +func (x *LsNodeDescriptor) GetAsn() uint32 { + if x != nil { + return x.Asn } return 0 } -func (m *LsNodeDescriptor) GetBgpLsId() uint32 { - if m != nil { - return m.BgpLsId +func (x *LsNodeDescriptor) GetBgpLsId() uint32 { + if x != nil { + return x.BgpLsId } return 0 } -func (m *LsNodeDescriptor) GetOspfAreaId() uint32 { - if m != nil { - return m.OspfAreaId +func (x *LsNodeDescriptor) GetOspfAreaId() uint32 { + if x != nil { + return x.OspfAreaId } return 0 } -func (m *LsNodeDescriptor) GetPseudonode() bool { - if m != nil { - return m.Pseudonode +func (x *LsNodeDescriptor) GetPseudonode() bool { + if x != nil { + return x.Pseudonode } return false } -func (m *LsNodeDescriptor) GetIgpRouterId() string { - if m != nil { - return m.IgpRouterId +func (x *LsNodeDescriptor) GetIgpRouterId() string { + if x != nil { + return x.IgpRouterId } return "" } type LsLinkDescriptor struct { - LinkLocalId uint32 `protobuf:"varint,1,opt,name=link_local_id,json=linkLocalId,proto3" json:"link_local_id,omitempty"` - LinkRemoteId uint32 `protobuf:"varint,2,opt,name=link_remote_id,json=linkRemoteId,proto3" json:"link_remote_id,omitempty"` - InterfaceAddrIpv4 string `protobuf:"bytes,3,opt,name=interface_addr_ipv4,json=interfaceAddrIpv4,proto3" json:"interface_addr_ipv4,omitempty"` - NeighborAddrIpv4 string `protobuf:"bytes,4,opt,name=neighbor_addr_ipv4,json=neighborAddrIpv4,proto3" json:"neighbor_addr_ipv4,omitempty"` - InterfaceAddrIpv6 string `protobuf:"bytes,5,opt,name=interface_addr_ipv6,json=interfaceAddrIpv6,proto3" json:"interface_addr_ipv6,omitempty"` - NeighborAddrIpv6 string `protobuf:"bytes,6,opt,name=neighbor_addr_ipv6,json=neighborAddrIpv6,proto3" json:"neighbor_addr_ipv6,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LinkLocalId uint32 `protobuf:"varint,1,opt,name=link_local_id,json=linkLocalId,proto3" json:"link_local_id,omitempty"` + LinkRemoteId uint32 `protobuf:"varint,2,opt,name=link_remote_id,json=linkRemoteId,proto3" json:"link_remote_id,omitempty"` + InterfaceAddrIpv4 string `protobuf:"bytes,3,opt,name=interface_addr_ipv4,json=interfaceAddrIpv4,proto3" json:"interface_addr_ipv4,omitempty"` + NeighborAddrIpv4 string `protobuf:"bytes,4,opt,name=neighbor_addr_ipv4,json=neighborAddrIpv4,proto3" json:"neighbor_addr_ipv4,omitempty"` + InterfaceAddrIpv6 string `protobuf:"bytes,5,opt,name=interface_addr_ipv6,json=interfaceAddrIpv6,proto3" json:"interface_addr_ipv6,omitempty"` + NeighborAddrIpv6 string `protobuf:"bytes,6,opt,name=neighbor_addr_ipv6,json=neighborAddrIpv6,proto3" json:"neighbor_addr_ipv6,omitempty"` } -func (m *LsLinkDescriptor) Reset() { *m = LsLinkDescriptor{} } -func (m *LsLinkDescriptor) String() string { return proto.CompactTextString(m) } -func (*LsLinkDescriptor) ProtoMessage() {} +func (x *LsLinkDescriptor) Reset() { + *x = LsLinkDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsLinkDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsLinkDescriptor) ProtoMessage() {} + +func (x *LsLinkDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[35] + 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 LsLinkDescriptor.ProtoReflect.Descriptor instead. func (*LsLinkDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{35} + return file_attribute_proto_rawDescGZIP(), []int{35} } -func (m *LsLinkDescriptor) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsLinkDescriptor.Unmarshal(m, b) -} -func (m *LsLinkDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsLinkDescriptor.Marshal(b, m, deterministic) -} -func (m *LsLinkDescriptor) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsLinkDescriptor.Merge(m, src) -} -func (m *LsLinkDescriptor) XXX_Size() int { - return xxx_messageInfo_LsLinkDescriptor.Size(m) -} -func (m *LsLinkDescriptor) XXX_DiscardUnknown() { - xxx_messageInfo_LsLinkDescriptor.DiscardUnknown(m) -} - -var xxx_messageInfo_LsLinkDescriptor proto.InternalMessageInfo - -func (m *LsLinkDescriptor) GetLinkLocalId() uint32 { - if m != nil { - return m.LinkLocalId +func (x *LsLinkDescriptor) GetLinkLocalId() uint32 { + if x != nil { + return x.LinkLocalId } return 0 } -func (m *LsLinkDescriptor) GetLinkRemoteId() uint32 { - if m != nil { - return m.LinkRemoteId +func (x *LsLinkDescriptor) GetLinkRemoteId() uint32 { + if x != nil { + return x.LinkRemoteId } return 0 } -func (m *LsLinkDescriptor) GetInterfaceAddrIpv4() string { - if m != nil { - return m.InterfaceAddrIpv4 +func (x *LsLinkDescriptor) GetInterfaceAddrIpv4() string { + if x != nil { + return x.InterfaceAddrIpv4 } return "" } -func (m *LsLinkDescriptor) GetNeighborAddrIpv4() string { - if m != nil { - return m.NeighborAddrIpv4 +func (x *LsLinkDescriptor) GetNeighborAddrIpv4() string { + if x != nil { + return x.NeighborAddrIpv4 } return "" } -func (m *LsLinkDescriptor) GetInterfaceAddrIpv6() string { - if m != nil { - return m.InterfaceAddrIpv6 +func (x *LsLinkDescriptor) GetInterfaceAddrIpv6() string { + if x != nil { + return x.InterfaceAddrIpv6 } return "" } -func (m *LsLinkDescriptor) GetNeighborAddrIpv6() string { - if m != nil { - return m.NeighborAddrIpv6 +func (x *LsLinkDescriptor) GetNeighborAddrIpv6() string { + if x != nil { + return x.NeighborAddrIpv6 } return "" } type LsPrefixDescriptor struct { - IpReachability []string `protobuf:"bytes,1,rep,name=ip_reachability,json=ipReachability,proto3" json:"ip_reachability,omitempty"` - OspfRouteType string `protobuf:"bytes,2,opt,name=ospf_route_type,json=ospfRouteType,proto3" json:"ospf_route_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpReachability []string `protobuf:"bytes,1,rep,name=ip_reachability,json=ipReachability,proto3" json:"ip_reachability,omitempty"` + OspfRouteType string `protobuf:"bytes,2,opt,name=ospf_route_type,json=ospfRouteType,proto3" json:"ospf_route_type,omitempty"` } -func (m *LsPrefixDescriptor) Reset() { *m = LsPrefixDescriptor{} } -func (m *LsPrefixDescriptor) String() string { return proto.CompactTextString(m) } -func (*LsPrefixDescriptor) ProtoMessage() {} +func (x *LsPrefixDescriptor) Reset() { + *x = LsPrefixDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsPrefixDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsPrefixDescriptor) ProtoMessage() {} + +func (x *LsPrefixDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[36] + 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 LsPrefixDescriptor.ProtoReflect.Descriptor instead. func (*LsPrefixDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{36} + return file_attribute_proto_rawDescGZIP(), []int{36} } -func (m *LsPrefixDescriptor) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsPrefixDescriptor.Unmarshal(m, b) -} -func (m *LsPrefixDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsPrefixDescriptor.Marshal(b, m, deterministic) -} -func (m *LsPrefixDescriptor) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsPrefixDescriptor.Merge(m, src) -} -func (m *LsPrefixDescriptor) XXX_Size() int { - return xxx_messageInfo_LsPrefixDescriptor.Size(m) -} -func (m *LsPrefixDescriptor) XXX_DiscardUnknown() { - xxx_messageInfo_LsPrefixDescriptor.DiscardUnknown(m) -} - -var xxx_messageInfo_LsPrefixDescriptor proto.InternalMessageInfo - -func (m *LsPrefixDescriptor) GetIpReachability() []string { - if m != nil { - return m.IpReachability +func (x *LsPrefixDescriptor) GetIpReachability() []string { + if x != nil { + return x.IpReachability } return nil } -func (m *LsPrefixDescriptor) GetOspfRouteType() string { - if m != nil { - return m.OspfRouteType +func (x *LsPrefixDescriptor) GetOspfRouteType() string { + if x != nil { + return x.OspfRouteType } return "" } type LsNodeNLRI struct { - LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` } -func (m *LsNodeNLRI) Reset() { *m = LsNodeNLRI{} } -func (m *LsNodeNLRI) String() string { return proto.CompactTextString(m) } -func (*LsNodeNLRI) ProtoMessage() {} +func (x *LsNodeNLRI) Reset() { + *x = LsNodeNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsNodeNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsNodeNLRI) ProtoMessage() {} + +func (x *LsNodeNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[37] + 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 LsNodeNLRI.ProtoReflect.Descriptor instead. func (*LsNodeNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{37} + return file_attribute_proto_rawDescGZIP(), []int{37} } -func (m *LsNodeNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsNodeNLRI.Unmarshal(m, b) -} -func (m *LsNodeNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsNodeNLRI.Marshal(b, m, deterministic) -} -func (m *LsNodeNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsNodeNLRI.Merge(m, src) -} -func (m *LsNodeNLRI) XXX_Size() int { - return xxx_messageInfo_LsNodeNLRI.Size(m) -} -func (m *LsNodeNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_LsNodeNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_LsNodeNLRI proto.InternalMessageInfo - -func (m *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor { - if m != nil { - return m.LocalNode +func (x *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor { + if x != nil { + return x.LocalNode } return nil } type LsLinkNLRI struct { - LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` - RemoteNode *LsNodeDescriptor `protobuf:"bytes,2,opt,name=remote_node,json=remoteNode,proto3" json:"remote_node,omitempty"` - LinkDescriptor *LsLinkDescriptor `protobuf:"bytes,3,opt,name=link_descriptor,json=linkDescriptor,proto3" json:"link_descriptor,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` + RemoteNode *LsNodeDescriptor `protobuf:"bytes,2,opt,name=remote_node,json=remoteNode,proto3" json:"remote_node,omitempty"` + LinkDescriptor *LsLinkDescriptor `protobuf:"bytes,3,opt,name=link_descriptor,json=linkDescriptor,proto3" json:"link_descriptor,omitempty"` } -func (m *LsLinkNLRI) Reset() { *m = LsLinkNLRI{} } -func (m *LsLinkNLRI) String() string { return proto.CompactTextString(m) } -func (*LsLinkNLRI) ProtoMessage() {} +func (x *LsLinkNLRI) Reset() { + *x = LsLinkNLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsLinkNLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsLinkNLRI) ProtoMessage() {} + +func (x *LsLinkNLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[38] + 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 LsLinkNLRI.ProtoReflect.Descriptor instead. func (*LsLinkNLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{38} + return file_attribute_proto_rawDescGZIP(), []int{38} } -func (m *LsLinkNLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsLinkNLRI.Unmarshal(m, b) -} -func (m *LsLinkNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsLinkNLRI.Marshal(b, m, deterministic) -} -func (m *LsLinkNLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsLinkNLRI.Merge(m, src) -} -func (m *LsLinkNLRI) XXX_Size() int { - return xxx_messageInfo_LsLinkNLRI.Size(m) -} -func (m *LsLinkNLRI) XXX_DiscardUnknown() { - xxx_messageInfo_LsLinkNLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_LsLinkNLRI proto.InternalMessageInfo - -func (m *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor { - if m != nil { - return m.LocalNode +func (x *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor { + if x != nil { + return x.LocalNode } return nil } -func (m *LsLinkNLRI) GetRemoteNode() *LsNodeDescriptor { - if m != nil { - return m.RemoteNode +func (x *LsLinkNLRI) GetRemoteNode() *LsNodeDescriptor { + if x != nil { + return x.RemoteNode } return nil } -func (m *LsLinkNLRI) GetLinkDescriptor() *LsLinkDescriptor { - if m != nil { - return m.LinkDescriptor +func (x *LsLinkNLRI) GetLinkDescriptor() *LsLinkDescriptor { + if x != nil { + return x.LinkDescriptor } return nil } type LsPrefixV4NLRI struct { - LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` - PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` + PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"` } -func (m *LsPrefixV4NLRI) Reset() { *m = LsPrefixV4NLRI{} } -func (m *LsPrefixV4NLRI) String() string { return proto.CompactTextString(m) } -func (*LsPrefixV4NLRI) ProtoMessage() {} +func (x *LsPrefixV4NLRI) Reset() { + *x = LsPrefixV4NLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsPrefixV4NLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsPrefixV4NLRI) ProtoMessage() {} + +func (x *LsPrefixV4NLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[39] + 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 LsPrefixV4NLRI.ProtoReflect.Descriptor instead. func (*LsPrefixV4NLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{39} + return file_attribute_proto_rawDescGZIP(), []int{39} } -func (m *LsPrefixV4NLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsPrefixV4NLRI.Unmarshal(m, b) -} -func (m *LsPrefixV4NLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsPrefixV4NLRI.Marshal(b, m, deterministic) -} -func (m *LsPrefixV4NLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsPrefixV4NLRI.Merge(m, src) -} -func (m *LsPrefixV4NLRI) XXX_Size() int { - return xxx_messageInfo_LsPrefixV4NLRI.Size(m) -} -func (m *LsPrefixV4NLRI) XXX_DiscardUnknown() { - xxx_messageInfo_LsPrefixV4NLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_LsPrefixV4NLRI proto.InternalMessageInfo - -func (m *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor { - if m != nil { - return m.LocalNode +func (x *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor { + if x != nil { + return x.LocalNode } return nil } -func (m *LsPrefixV4NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { - if m != nil { - return m.PrefixDescriptor +func (x *LsPrefixV4NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { + if x != nil { + return x.PrefixDescriptor } return nil } type LsPrefixV6NLRI struct { - LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` - PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` + PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"` } -func (m *LsPrefixV6NLRI) Reset() { *m = LsPrefixV6NLRI{} } -func (m *LsPrefixV6NLRI) String() string { return proto.CompactTextString(m) } -func (*LsPrefixV6NLRI) ProtoMessage() {} +func (x *LsPrefixV6NLRI) Reset() { + *x = LsPrefixV6NLRI{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsPrefixV6NLRI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsPrefixV6NLRI) ProtoMessage() {} + +func (x *LsPrefixV6NLRI) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[40] + 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 LsPrefixV6NLRI.ProtoReflect.Descriptor instead. func (*LsPrefixV6NLRI) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{40} + return file_attribute_proto_rawDescGZIP(), []int{40} } -func (m *LsPrefixV6NLRI) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsPrefixV6NLRI.Unmarshal(m, b) -} -func (m *LsPrefixV6NLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsPrefixV6NLRI.Marshal(b, m, deterministic) -} -func (m *LsPrefixV6NLRI) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsPrefixV6NLRI.Merge(m, src) -} -func (m *LsPrefixV6NLRI) XXX_Size() int { - return xxx_messageInfo_LsPrefixV6NLRI.Size(m) -} -func (m *LsPrefixV6NLRI) XXX_DiscardUnknown() { - xxx_messageInfo_LsPrefixV6NLRI.DiscardUnknown(m) -} - -var xxx_messageInfo_LsPrefixV6NLRI proto.InternalMessageInfo - -func (m *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor { - if m != nil { - return m.LocalNode +func (x *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor { + if x != nil { + return x.LocalNode } return nil } -func (m *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { - if m != nil { - return m.PrefixDescriptor +func (x *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { + if x != nil { + return x.PrefixDescriptor } return nil } @@ -2414,82 +2844,94 @@ func (m *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { // LsAddrPrefix represents the NLRI for: // - AFI=16388, SAFI=71 type LsAddrPrefix struct { - Type LsNLRIType `protobuf:"varint,1,opt,name=type,proto3,enum=gobgpapi.LsNLRIType" json:"type,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type LsNLRIType `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.LsNLRIType" json:"type,omitempty"` // One of: // - LsNodeNLRI // - LsLinkNLRI // - LsPrefixV4NLRI // - LsPrefixV6NLRI - Nlri *any.Any `protobuf:"bytes,2,opt,name=nlri,proto3" json:"nlri,omitempty"` - Length uint32 `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"` - ProtocolId LsProtocolID `protobuf:"varint,4,opt,name=protocol_id,json=protocolId,proto3,enum=gobgpapi.LsProtocolID" json:"protocol_id,omitempty"` - Identifier uint64 `protobuf:"varint,5,opt,name=identifier,proto3" json:"identifier,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Nlri *anypb.Any `protobuf:"bytes,2,opt,name=nlri,proto3" json:"nlri,omitempty"` + Length uint32 `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"` + ProtocolId LsProtocolID `protobuf:"varint,4,opt,name=protocol_id,json=protocolId,proto3,enum=apipb.LsProtocolID" json:"protocol_id,omitempty"` + Identifier uint64 `protobuf:"varint,5,opt,name=identifier,proto3" json:"identifier,omitempty"` } -func (m *LsAddrPrefix) Reset() { *m = LsAddrPrefix{} } -func (m *LsAddrPrefix) String() string { return proto.CompactTextString(m) } -func (*LsAddrPrefix) ProtoMessage() {} +func (x *LsAddrPrefix) Reset() { + *x = LsAddrPrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsAddrPrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsAddrPrefix) ProtoMessage() {} + +func (x *LsAddrPrefix) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[41] + 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 LsAddrPrefix.ProtoReflect.Descriptor instead. func (*LsAddrPrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{41} + return file_attribute_proto_rawDescGZIP(), []int{41} } -func (m *LsAddrPrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsAddrPrefix.Unmarshal(m, b) -} -func (m *LsAddrPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsAddrPrefix.Marshal(b, m, deterministic) -} -func (m *LsAddrPrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsAddrPrefix.Merge(m, src) -} -func (m *LsAddrPrefix) XXX_Size() int { - return xxx_messageInfo_LsAddrPrefix.Size(m) -} -func (m *LsAddrPrefix) XXX_DiscardUnknown() { - xxx_messageInfo_LsAddrPrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_LsAddrPrefix proto.InternalMessageInfo - -func (m *LsAddrPrefix) GetType() LsNLRIType { - if m != nil { - return m.Type +func (x *LsAddrPrefix) GetType() LsNLRIType { + if x != nil { + return x.Type } return LsNLRIType_LS_NLRI_UNKNOWN } -func (m *LsAddrPrefix) GetNlri() *any.Any { - if m != nil { - return m.Nlri +func (x *LsAddrPrefix) GetNlri() *anypb.Any { + if x != nil { + return x.Nlri } return nil } -func (m *LsAddrPrefix) GetLength() uint32 { - if m != nil { - return m.Length +func (x *LsAddrPrefix) GetLength() uint32 { + if x != nil { + return x.Length } return 0 } -func (m *LsAddrPrefix) GetProtocolId() LsProtocolID { - if m != nil { - return m.ProtocolId +func (x *LsAddrPrefix) GetProtocolId() LsProtocolID { + if x != nil { + return x.ProtocolId } return LsProtocolID_LS_PROTOCOL_UNKNOWN } -func (m *LsAddrPrefix) GetIdentifier() uint64 { - if m != nil { - return m.Identifier +func (x *LsAddrPrefix) GetIdentifier() uint64 { + if x != nil { + return x.Identifier } return 0 } type MpReachNLRIAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops,proto3" json:"next_hops,omitempty"` // Each NLRI must be one of: @@ -2509,1031 +2951,1206 @@ type MpReachNLRIAttribute struct { // - OpaqueNLRI // - LsAddrPrefix // - SR Policy NLRI - Nlris []*any.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Nlris []*anypb.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` } -func (m *MpReachNLRIAttribute) Reset() { *m = MpReachNLRIAttribute{} } -func (m *MpReachNLRIAttribute) String() string { return proto.CompactTextString(m) } -func (*MpReachNLRIAttribute) ProtoMessage() {} +func (x *MpReachNLRIAttribute) Reset() { + *x = MpReachNLRIAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MpReachNLRIAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MpReachNLRIAttribute) ProtoMessage() {} + +func (x *MpReachNLRIAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[42] + 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 MpReachNLRIAttribute.ProtoReflect.Descriptor instead. func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{42} + return file_attribute_proto_rawDescGZIP(), []int{42} } -func (m *MpReachNLRIAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MpReachNLRIAttribute.Unmarshal(m, b) -} -func (m *MpReachNLRIAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MpReachNLRIAttribute.Marshal(b, m, deterministic) -} -func (m *MpReachNLRIAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_MpReachNLRIAttribute.Merge(m, src) -} -func (m *MpReachNLRIAttribute) XXX_Size() int { - return xxx_messageInfo_MpReachNLRIAttribute.Size(m) -} -func (m *MpReachNLRIAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_MpReachNLRIAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_MpReachNLRIAttribute proto.InternalMessageInfo - -func (m *MpReachNLRIAttribute) GetFamily() *Family { - if m != nil { - return m.Family +func (x *MpReachNLRIAttribute) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *MpReachNLRIAttribute) GetNextHops() []string { - if m != nil { - return m.NextHops +func (x *MpReachNLRIAttribute) GetNextHops() []string { + if x != nil { + return x.NextHops } return nil } -func (m *MpReachNLRIAttribute) GetNlris() []*any.Any { - if m != nil { - return m.Nlris +func (x *MpReachNLRIAttribute) GetNlris() []*anypb.Any { + if x != nil { + return x.Nlris } return nil } type MpUnreachNLRIAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` // The same as NLRI field of MpReachNLRIAttribute - Nlris []*any.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Nlris []*anypb.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` } -func (m *MpUnreachNLRIAttribute) Reset() { *m = MpUnreachNLRIAttribute{} } -func (m *MpUnreachNLRIAttribute) String() string { return proto.CompactTextString(m) } -func (*MpUnreachNLRIAttribute) ProtoMessage() {} +func (x *MpUnreachNLRIAttribute) Reset() { + *x = MpUnreachNLRIAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MpUnreachNLRIAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MpUnreachNLRIAttribute) ProtoMessage() {} + +func (x *MpUnreachNLRIAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[43] + 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 MpUnreachNLRIAttribute.ProtoReflect.Descriptor instead. func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{43} + return file_attribute_proto_rawDescGZIP(), []int{43} } -func (m *MpUnreachNLRIAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MpUnreachNLRIAttribute.Unmarshal(m, b) -} -func (m *MpUnreachNLRIAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MpUnreachNLRIAttribute.Marshal(b, m, deterministic) -} -func (m *MpUnreachNLRIAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_MpUnreachNLRIAttribute.Merge(m, src) -} -func (m *MpUnreachNLRIAttribute) XXX_Size() int { - return xxx_messageInfo_MpUnreachNLRIAttribute.Size(m) -} -func (m *MpUnreachNLRIAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_MpUnreachNLRIAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_MpUnreachNLRIAttribute proto.InternalMessageInfo - -func (m *MpUnreachNLRIAttribute) GetFamily() *Family { - if m != nil { - return m.Family +func (x *MpUnreachNLRIAttribute) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *MpUnreachNLRIAttribute) GetNlris() []*any.Any { - if m != nil { - return m.Nlris +func (x *MpUnreachNLRIAttribute) GetNlris() []*anypb.Any { + if x != nil { + return x.Nlris } return nil } type TwoOctetAsSpecificExtended struct { - IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` - SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` - As uint32 `protobuf:"varint,3,opt,name=as,proto3" json:"as,omitempty"` - LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` + SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` + As uint32 `protobuf:"varint,3,opt,name=as,proto3" json:"as,omitempty"` + LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *TwoOctetAsSpecificExtended) Reset() { *m = TwoOctetAsSpecificExtended{} } -func (m *TwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*TwoOctetAsSpecificExtended) ProtoMessage() {} +func (x *TwoOctetAsSpecificExtended) Reset() { + *x = TwoOctetAsSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TwoOctetAsSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TwoOctetAsSpecificExtended) ProtoMessage() {} + +func (x *TwoOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[44] + 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 TwoOctetAsSpecificExtended.ProtoReflect.Descriptor instead. func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{44} + return file_attribute_proto_rawDescGZIP(), []int{44} } -func (m *TwoOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TwoOctetAsSpecificExtended.Unmarshal(m, b) -} -func (m *TwoOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TwoOctetAsSpecificExtended.Marshal(b, m, deterministic) -} -func (m *TwoOctetAsSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_TwoOctetAsSpecificExtended.Merge(m, src) -} -func (m *TwoOctetAsSpecificExtended) XXX_Size() int { - return xxx_messageInfo_TwoOctetAsSpecificExtended.Size(m) -} -func (m *TwoOctetAsSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_TwoOctetAsSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_TwoOctetAsSpecificExtended proto.InternalMessageInfo - -func (m *TwoOctetAsSpecificExtended) GetIsTransitive() bool { - if m != nil { - return m.IsTransitive +func (x *TwoOctetAsSpecificExtended) GetIsTransitive() bool { + if x != nil { + return x.IsTransitive } return false } -func (m *TwoOctetAsSpecificExtended) GetSubType() uint32 { - if m != nil { - return m.SubType +func (x *TwoOctetAsSpecificExtended) GetSubType() uint32 { + if x != nil { + return x.SubType } return 0 } -func (m *TwoOctetAsSpecificExtended) GetAs() uint32 { - if m != nil { - return m.As +func (x *TwoOctetAsSpecificExtended) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type IPv4AddressSpecificExtended struct { - IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` - SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` - LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` + SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` + LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *IPv4AddressSpecificExtended) Reset() { *m = IPv4AddressSpecificExtended{} } -func (m *IPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*IPv4AddressSpecificExtended) ProtoMessage() {} +func (x *IPv4AddressSpecificExtended) Reset() { + *x = IPv4AddressSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IPv4AddressSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IPv4AddressSpecificExtended) ProtoMessage() {} + +func (x *IPv4AddressSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[45] + 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 IPv4AddressSpecificExtended.ProtoReflect.Descriptor instead. func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{45} + return file_attribute_proto_rawDescGZIP(), []int{45} } -func (m *IPv4AddressSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IPv4AddressSpecificExtended.Unmarshal(m, b) -} -func (m *IPv4AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IPv4AddressSpecificExtended.Marshal(b, m, deterministic) -} -func (m *IPv4AddressSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_IPv4AddressSpecificExtended.Merge(m, src) -} -func (m *IPv4AddressSpecificExtended) XXX_Size() int { - return xxx_messageInfo_IPv4AddressSpecificExtended.Size(m) -} -func (m *IPv4AddressSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_IPv4AddressSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_IPv4AddressSpecificExtended proto.InternalMessageInfo - -func (m *IPv4AddressSpecificExtended) GetIsTransitive() bool { - if m != nil { - return m.IsTransitive +func (x *IPv4AddressSpecificExtended) GetIsTransitive() bool { + if x != nil { + return x.IsTransitive } return false } -func (m *IPv4AddressSpecificExtended) GetSubType() uint32 { - if m != nil { - return m.SubType +func (x *IPv4AddressSpecificExtended) GetSubType() uint32 { + if x != nil { + return x.SubType } return 0 } -func (m *IPv4AddressSpecificExtended) GetAddress() string { - if m != nil { - return m.Address +func (x *IPv4AddressSpecificExtended) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type FourOctetAsSpecificExtended struct { - IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` - SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` - As uint32 `protobuf:"varint,3,opt,name=as,proto3" json:"as,omitempty"` - LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` + SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` + As uint32 `protobuf:"varint,3,opt,name=as,proto3" json:"as,omitempty"` + LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *FourOctetAsSpecificExtended) Reset() { *m = FourOctetAsSpecificExtended{} } -func (m *FourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*FourOctetAsSpecificExtended) ProtoMessage() {} +func (x *FourOctetAsSpecificExtended) Reset() { + *x = FourOctetAsSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FourOctetAsSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FourOctetAsSpecificExtended) ProtoMessage() {} + +func (x *FourOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[46] + 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 FourOctetAsSpecificExtended.ProtoReflect.Descriptor instead. func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{46} + return file_attribute_proto_rawDescGZIP(), []int{46} } -func (m *FourOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FourOctetAsSpecificExtended.Unmarshal(m, b) -} -func (m *FourOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FourOctetAsSpecificExtended.Marshal(b, m, deterministic) -} -func (m *FourOctetAsSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_FourOctetAsSpecificExtended.Merge(m, src) -} -func (m *FourOctetAsSpecificExtended) XXX_Size() int { - return xxx_messageInfo_FourOctetAsSpecificExtended.Size(m) -} -func (m *FourOctetAsSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_FourOctetAsSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_FourOctetAsSpecificExtended proto.InternalMessageInfo - -func (m *FourOctetAsSpecificExtended) GetIsTransitive() bool { - if m != nil { - return m.IsTransitive +func (x *FourOctetAsSpecificExtended) GetIsTransitive() bool { + if x != nil { + return x.IsTransitive } return false } -func (m *FourOctetAsSpecificExtended) GetSubType() uint32 { - if m != nil { - return m.SubType +func (x *FourOctetAsSpecificExtended) GetSubType() uint32 { + if x != nil { + return x.SubType } return 0 } -func (m *FourOctetAsSpecificExtended) GetAs() uint32 { - if m != nil { - return m.As +func (x *FourOctetAsSpecificExtended) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type LinkBandiwdthExtended struct { - As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` - Bandwidth float32 `protobuf:"fixed32,2,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` + Bandwidth float32 `protobuf:"fixed32,2,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` } -func (m *LinkBandiwdthExtended) Reset() { *m = LinkBandiwdthExtended{} } -func (m *LinkBandiwdthExtended) String() string { return proto.CompactTextString(m) } -func (*LinkBandiwdthExtended) ProtoMessage() {} +func (x *LinkBandiwdthExtended) Reset() { + *x = LinkBandiwdthExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinkBandiwdthExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinkBandiwdthExtended) ProtoMessage() {} + +func (x *LinkBandiwdthExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[47] + 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 LinkBandiwdthExtended.ProtoReflect.Descriptor instead. func (*LinkBandiwdthExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{47} + return file_attribute_proto_rawDescGZIP(), []int{47} } -func (m *LinkBandiwdthExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LinkBandiwdthExtended.Unmarshal(m, b) -} -func (m *LinkBandiwdthExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LinkBandiwdthExtended.Marshal(b, m, deterministic) -} -func (m *LinkBandiwdthExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_LinkBandiwdthExtended.Merge(m, src) -} -func (m *LinkBandiwdthExtended) XXX_Size() int { - return xxx_messageInfo_LinkBandiwdthExtended.Size(m) -} -func (m *LinkBandiwdthExtended) XXX_DiscardUnknown() { - xxx_messageInfo_LinkBandiwdthExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_LinkBandiwdthExtended proto.InternalMessageInfo - -func (m *LinkBandiwdthExtended) GetAs() uint32 { - if m != nil { - return m.As +func (x *LinkBandiwdthExtended) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *LinkBandiwdthExtended) GetBandwidth() float32 { - if m != nil { - return m.Bandwidth +func (x *LinkBandiwdthExtended) GetBandwidth() float32 { + if x != nil { + return x.Bandwidth } return 0 } type ValidationExtended struct { - State uint32 `protobuf:"varint,1,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State uint32 `protobuf:"varint,1,opt,name=state,proto3" json:"state,omitempty"` } -func (m *ValidationExtended) Reset() { *m = ValidationExtended{} } -func (m *ValidationExtended) String() string { return proto.CompactTextString(m) } -func (*ValidationExtended) ProtoMessage() {} +func (x *ValidationExtended) Reset() { + *x = ValidationExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidationExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidationExtended) ProtoMessage() {} + +func (x *ValidationExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[48] + 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 ValidationExtended.ProtoReflect.Descriptor instead. func (*ValidationExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{48} + return file_attribute_proto_rawDescGZIP(), []int{48} } -func (m *ValidationExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ValidationExtended.Unmarshal(m, b) -} -func (m *ValidationExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ValidationExtended.Marshal(b, m, deterministic) -} -func (m *ValidationExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_ValidationExtended.Merge(m, src) -} -func (m *ValidationExtended) XXX_Size() int { - return xxx_messageInfo_ValidationExtended.Size(m) -} -func (m *ValidationExtended) XXX_DiscardUnknown() { - xxx_messageInfo_ValidationExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_ValidationExtended proto.InternalMessageInfo - -func (m *ValidationExtended) GetState() uint32 { - if m != nil { - return m.State +func (x *ValidationExtended) GetState() uint32 { + if x != nil { + return x.State } return 0 } type ColorExtended struct { - Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` } -func (m *ColorExtended) Reset() { *m = ColorExtended{} } -func (m *ColorExtended) String() string { return proto.CompactTextString(m) } -func (*ColorExtended) ProtoMessage() {} +func (x *ColorExtended) Reset() { + *x = ColorExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ColorExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ColorExtended) ProtoMessage() {} + +func (x *ColorExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[49] + 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 ColorExtended.ProtoReflect.Descriptor instead. func (*ColorExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{49} + return file_attribute_proto_rawDescGZIP(), []int{49} } -func (m *ColorExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ColorExtended.Unmarshal(m, b) -} -func (m *ColorExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ColorExtended.Marshal(b, m, deterministic) -} -func (m *ColorExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_ColorExtended.Merge(m, src) -} -func (m *ColorExtended) XXX_Size() int { - return xxx_messageInfo_ColorExtended.Size(m) -} -func (m *ColorExtended) XXX_DiscardUnknown() { - xxx_messageInfo_ColorExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_ColorExtended proto.InternalMessageInfo - -func (m *ColorExtended) GetColor() uint32 { - if m != nil { - return m.Color +func (x *ColorExtended) GetColor() uint32 { + if x != nil { + return x.Color } return 0 } type EncapExtended struct { - TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType,proto3" json:"tunnel_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType,proto3" json:"tunnel_type,omitempty"` } -func (m *EncapExtended) Reset() { *m = EncapExtended{} } -func (m *EncapExtended) String() string { return proto.CompactTextString(m) } -func (*EncapExtended) ProtoMessage() {} +func (x *EncapExtended) Reset() { + *x = EncapExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncapExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncapExtended) ProtoMessage() {} + +func (x *EncapExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[50] + 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 EncapExtended.ProtoReflect.Descriptor instead. func (*EncapExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{50} + return file_attribute_proto_rawDescGZIP(), []int{50} } -func (m *EncapExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EncapExtended.Unmarshal(m, b) -} -func (m *EncapExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EncapExtended.Marshal(b, m, deterministic) -} -func (m *EncapExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_EncapExtended.Merge(m, src) -} -func (m *EncapExtended) XXX_Size() int { - return xxx_messageInfo_EncapExtended.Size(m) -} -func (m *EncapExtended) XXX_DiscardUnknown() { - xxx_messageInfo_EncapExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_EncapExtended proto.InternalMessageInfo - -func (m *EncapExtended) GetTunnelType() uint32 { - if m != nil { - return m.TunnelType +func (x *EncapExtended) GetTunnelType() uint32 { + if x != nil { + return x.TunnelType } return 0 } type DefaultGatewayExtended struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *DefaultGatewayExtended) Reset() { *m = DefaultGatewayExtended{} } -func (m *DefaultGatewayExtended) String() string { return proto.CompactTextString(m) } -func (*DefaultGatewayExtended) ProtoMessage() {} +func (x *DefaultGatewayExtended) Reset() { + *x = DefaultGatewayExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DefaultGatewayExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DefaultGatewayExtended) ProtoMessage() {} + +func (x *DefaultGatewayExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[51] + 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 DefaultGatewayExtended.ProtoReflect.Descriptor instead. func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{51} + return file_attribute_proto_rawDescGZIP(), []int{51} } -func (m *DefaultGatewayExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DefaultGatewayExtended.Unmarshal(m, b) -} -func (m *DefaultGatewayExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DefaultGatewayExtended.Marshal(b, m, deterministic) -} -func (m *DefaultGatewayExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_DefaultGatewayExtended.Merge(m, src) -} -func (m *DefaultGatewayExtended) XXX_Size() int { - return xxx_messageInfo_DefaultGatewayExtended.Size(m) -} -func (m *DefaultGatewayExtended) XXX_DiscardUnknown() { - xxx_messageInfo_DefaultGatewayExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_DefaultGatewayExtended proto.InternalMessageInfo - type OpaqueExtended struct { - IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` - Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } -func (m *OpaqueExtended) Reset() { *m = OpaqueExtended{} } -func (m *OpaqueExtended) String() string { return proto.CompactTextString(m) } -func (*OpaqueExtended) ProtoMessage() {} +func (x *OpaqueExtended) Reset() { + *x = OpaqueExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpaqueExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpaqueExtended) ProtoMessage() {} + +func (x *OpaqueExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[52] + 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 OpaqueExtended.ProtoReflect.Descriptor instead. func (*OpaqueExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{52} + return file_attribute_proto_rawDescGZIP(), []int{52} } -func (m *OpaqueExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OpaqueExtended.Unmarshal(m, b) -} -func (m *OpaqueExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OpaqueExtended.Marshal(b, m, deterministic) -} -func (m *OpaqueExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_OpaqueExtended.Merge(m, src) -} -func (m *OpaqueExtended) XXX_Size() int { - return xxx_messageInfo_OpaqueExtended.Size(m) -} -func (m *OpaqueExtended) XXX_DiscardUnknown() { - xxx_messageInfo_OpaqueExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_OpaqueExtended proto.InternalMessageInfo - -func (m *OpaqueExtended) GetIsTransitive() bool { - if m != nil { - return m.IsTransitive +func (x *OpaqueExtended) GetIsTransitive() bool { + if x != nil { + return x.IsTransitive } return false } -func (m *OpaqueExtended) GetValue() []byte { - if m != nil { - return m.Value +func (x *OpaqueExtended) GetValue() []byte { + if x != nil { + return x.Value } return nil } type ESILabelExtended struct { - IsSingleActive bool `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive,proto3" json:"is_single_active,omitempty"` - Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsSingleActive bool `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive,proto3" json:"is_single_active,omitempty"` + Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` } -func (m *ESILabelExtended) Reset() { *m = ESILabelExtended{} } -func (m *ESILabelExtended) String() string { return proto.CompactTextString(m) } -func (*ESILabelExtended) ProtoMessage() {} +func (x *ESILabelExtended) Reset() { + *x = ESILabelExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ESILabelExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ESILabelExtended) ProtoMessage() {} + +func (x *ESILabelExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[53] + 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 ESILabelExtended.ProtoReflect.Descriptor instead. func (*ESILabelExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{53} + return file_attribute_proto_rawDescGZIP(), []int{53} } -func (m *ESILabelExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ESILabelExtended.Unmarshal(m, b) -} -func (m *ESILabelExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ESILabelExtended.Marshal(b, m, deterministic) -} -func (m *ESILabelExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_ESILabelExtended.Merge(m, src) -} -func (m *ESILabelExtended) XXX_Size() int { - return xxx_messageInfo_ESILabelExtended.Size(m) -} -func (m *ESILabelExtended) XXX_DiscardUnknown() { - xxx_messageInfo_ESILabelExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_ESILabelExtended proto.InternalMessageInfo - -func (m *ESILabelExtended) GetIsSingleActive() bool { - if m != nil { - return m.IsSingleActive +func (x *ESILabelExtended) GetIsSingleActive() bool { + if x != nil { + return x.IsSingleActive } return false } -func (m *ESILabelExtended) GetLabel() uint32 { - if m != nil { - return m.Label +func (x *ESILabelExtended) GetLabel() uint32 { + if x != nil { + return x.Label } return 0 } type ESImportRouteTarget struct { - EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport,proto3" json:"es_import,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport,proto3" json:"es_import,omitempty"` } -func (m *ESImportRouteTarget) Reset() { *m = ESImportRouteTarget{} } -func (m *ESImportRouteTarget) String() string { return proto.CompactTextString(m) } -func (*ESImportRouteTarget) ProtoMessage() {} +func (x *ESImportRouteTarget) Reset() { + *x = ESImportRouteTarget{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ESImportRouteTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ESImportRouteTarget) ProtoMessage() {} + +func (x *ESImportRouteTarget) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[54] + 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 ESImportRouteTarget.ProtoReflect.Descriptor instead. func (*ESImportRouteTarget) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{54} + return file_attribute_proto_rawDescGZIP(), []int{54} } -func (m *ESImportRouteTarget) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ESImportRouteTarget.Unmarshal(m, b) -} -func (m *ESImportRouteTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ESImportRouteTarget.Marshal(b, m, deterministic) -} -func (m *ESImportRouteTarget) XXX_Merge(src proto.Message) { - xxx_messageInfo_ESImportRouteTarget.Merge(m, src) -} -func (m *ESImportRouteTarget) XXX_Size() int { - return xxx_messageInfo_ESImportRouteTarget.Size(m) -} -func (m *ESImportRouteTarget) XXX_DiscardUnknown() { - xxx_messageInfo_ESImportRouteTarget.DiscardUnknown(m) -} - -var xxx_messageInfo_ESImportRouteTarget proto.InternalMessageInfo - -func (m *ESImportRouteTarget) GetEsImport() string { - if m != nil { - return m.EsImport +func (x *ESImportRouteTarget) GetEsImport() string { + if x != nil { + return x.EsImport } return "" } type MacMobilityExtended struct { - IsSticky bool `protobuf:"varint,1,opt,name=is_sticky,json=isSticky,proto3" json:"is_sticky,omitempty"` - SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum,proto3" json:"sequence_num,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsSticky bool `protobuf:"varint,1,opt,name=is_sticky,json=isSticky,proto3" json:"is_sticky,omitempty"` + SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum,proto3" json:"sequence_num,omitempty"` } -func (m *MacMobilityExtended) Reset() { *m = MacMobilityExtended{} } -func (m *MacMobilityExtended) String() string { return proto.CompactTextString(m) } -func (*MacMobilityExtended) ProtoMessage() {} +func (x *MacMobilityExtended) Reset() { + *x = MacMobilityExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MacMobilityExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MacMobilityExtended) ProtoMessage() {} + +func (x *MacMobilityExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[55] + 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 MacMobilityExtended.ProtoReflect.Descriptor instead. func (*MacMobilityExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{55} + return file_attribute_proto_rawDescGZIP(), []int{55} } -func (m *MacMobilityExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MacMobilityExtended.Unmarshal(m, b) -} -func (m *MacMobilityExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MacMobilityExtended.Marshal(b, m, deterministic) -} -func (m *MacMobilityExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_MacMobilityExtended.Merge(m, src) -} -func (m *MacMobilityExtended) XXX_Size() int { - return xxx_messageInfo_MacMobilityExtended.Size(m) -} -func (m *MacMobilityExtended) XXX_DiscardUnknown() { - xxx_messageInfo_MacMobilityExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_MacMobilityExtended proto.InternalMessageInfo - -func (m *MacMobilityExtended) GetIsSticky() bool { - if m != nil { - return m.IsSticky +func (x *MacMobilityExtended) GetIsSticky() bool { + if x != nil { + return x.IsSticky } return false } -func (m *MacMobilityExtended) GetSequenceNum() uint32 { - if m != nil { - return m.SequenceNum +func (x *MacMobilityExtended) GetSequenceNum() uint32 { + if x != nil { + return x.SequenceNum } return 0 } type RouterMacExtended struct { - Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` } -func (m *RouterMacExtended) Reset() { *m = RouterMacExtended{} } -func (m *RouterMacExtended) String() string { return proto.CompactTextString(m) } -func (*RouterMacExtended) ProtoMessage() {} +func (x *RouterMacExtended) Reset() { + *x = RouterMacExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouterMacExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouterMacExtended) ProtoMessage() {} + +func (x *RouterMacExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[56] + 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 RouterMacExtended.ProtoReflect.Descriptor instead. func (*RouterMacExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{56} + return file_attribute_proto_rawDescGZIP(), []int{56} } -func (m *RouterMacExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouterMacExtended.Unmarshal(m, b) -} -func (m *RouterMacExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouterMacExtended.Marshal(b, m, deterministic) -} -func (m *RouterMacExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouterMacExtended.Merge(m, src) -} -func (m *RouterMacExtended) XXX_Size() int { - return xxx_messageInfo_RouterMacExtended.Size(m) -} -func (m *RouterMacExtended) XXX_DiscardUnknown() { - xxx_messageInfo_RouterMacExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_RouterMacExtended proto.InternalMessageInfo - -func (m *RouterMacExtended) GetMac() string { - if m != nil { - return m.Mac +func (x *RouterMacExtended) GetMac() string { + if x != nil { + return x.Mac } return "" } type TrafficRateExtended struct { - As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` - Rate float32 `protobuf:"fixed32,2,opt,name=rate,proto3" json:"rate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` + Rate float32 `protobuf:"fixed32,2,opt,name=rate,proto3" json:"rate,omitempty"` } -func (m *TrafficRateExtended) Reset() { *m = TrafficRateExtended{} } -func (m *TrafficRateExtended) String() string { return proto.CompactTextString(m) } -func (*TrafficRateExtended) ProtoMessage() {} +func (x *TrafficRateExtended) Reset() { + *x = TrafficRateExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrafficRateExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrafficRateExtended) ProtoMessage() {} + +func (x *TrafficRateExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[57] + 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 TrafficRateExtended.ProtoReflect.Descriptor instead. func (*TrafficRateExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{57} + return file_attribute_proto_rawDescGZIP(), []int{57} } -func (m *TrafficRateExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficRateExtended.Unmarshal(m, b) -} -func (m *TrafficRateExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficRateExtended.Marshal(b, m, deterministic) -} -func (m *TrafficRateExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficRateExtended.Merge(m, src) -} -func (m *TrafficRateExtended) XXX_Size() int { - return xxx_messageInfo_TrafficRateExtended.Size(m) -} -func (m *TrafficRateExtended) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficRateExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_TrafficRateExtended proto.InternalMessageInfo - -func (m *TrafficRateExtended) GetAs() uint32 { - if m != nil { - return m.As +func (x *TrafficRateExtended) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *TrafficRateExtended) GetRate() float32 { - if m != nil { - return m.Rate +func (x *TrafficRateExtended) GetRate() float32 { + if x != nil { + return x.Rate } return 0 } type TrafficActionExtended struct { - Terminal bool `protobuf:"varint,1,opt,name=terminal,proto3" json:"terminal,omitempty"` - Sample bool `protobuf:"varint,2,opt,name=sample,proto3" json:"sample,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Terminal bool `protobuf:"varint,1,opt,name=terminal,proto3" json:"terminal,omitempty"` + Sample bool `protobuf:"varint,2,opt,name=sample,proto3" json:"sample,omitempty"` } -func (m *TrafficActionExtended) Reset() { *m = TrafficActionExtended{} } -func (m *TrafficActionExtended) String() string { return proto.CompactTextString(m) } -func (*TrafficActionExtended) ProtoMessage() {} +func (x *TrafficActionExtended) Reset() { + *x = TrafficActionExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrafficActionExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrafficActionExtended) ProtoMessage() {} + +func (x *TrafficActionExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[58] + 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 TrafficActionExtended.ProtoReflect.Descriptor instead. func (*TrafficActionExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{58} + return file_attribute_proto_rawDescGZIP(), []int{58} } -func (m *TrafficActionExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficActionExtended.Unmarshal(m, b) -} -func (m *TrafficActionExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficActionExtended.Marshal(b, m, deterministic) -} -func (m *TrafficActionExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficActionExtended.Merge(m, src) -} -func (m *TrafficActionExtended) XXX_Size() int { - return xxx_messageInfo_TrafficActionExtended.Size(m) -} -func (m *TrafficActionExtended) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficActionExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_TrafficActionExtended proto.InternalMessageInfo - -func (m *TrafficActionExtended) GetTerminal() bool { - if m != nil { - return m.Terminal +func (x *TrafficActionExtended) GetTerminal() bool { + if x != nil { + return x.Terminal } return false } -func (m *TrafficActionExtended) GetSample() bool { - if m != nil { - return m.Sample +func (x *TrafficActionExtended) GetSample() bool { + if x != nil { + return x.Sample } return false } type RedirectTwoOctetAsSpecificExtended struct { - As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` - LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` + LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *RedirectTwoOctetAsSpecificExtended) Reset() { *m = RedirectTwoOctetAsSpecificExtended{} } -func (m *RedirectTwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {} +func (x *RedirectTwoOctetAsSpecificExtended) Reset() { + *x = RedirectTwoOctetAsSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedirectTwoOctetAsSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {} + +func (x *RedirectTwoOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[59] + 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 RedirectTwoOctetAsSpecificExtended.ProtoReflect.Descriptor instead. func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{59} + return file_attribute_proto_rawDescGZIP(), []int{59} } -func (m *RedirectTwoOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Unmarshal(m, b) -} -func (m *RedirectTwoOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Marshal(b, m, deterministic) -} -func (m *RedirectTwoOctetAsSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Merge(m, src) -} -func (m *RedirectTwoOctetAsSpecificExtended) XXX_Size() int { - return xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Size(m) -} -func (m *RedirectTwoOctetAsSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_RedirectTwoOctetAsSpecificExtended proto.InternalMessageInfo - -func (m *RedirectTwoOctetAsSpecificExtended) GetAs() uint32 { - if m != nil { - return m.As +func (x *RedirectTwoOctetAsSpecificExtended) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type RedirectIPv4AddressSpecificExtended struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *RedirectIPv4AddressSpecificExtended) Reset() { *m = RedirectIPv4AddressSpecificExtended{} } -func (m *RedirectIPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {} +func (x *RedirectIPv4AddressSpecificExtended) Reset() { + *x = RedirectIPv4AddressSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedirectIPv4AddressSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {} + +func (x *RedirectIPv4AddressSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[60] + 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 RedirectIPv4AddressSpecificExtended.ProtoReflect.Descriptor instead. func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{60} + return file_attribute_proto_rawDescGZIP(), []int{60} } -func (m *RedirectIPv4AddressSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Unmarshal(m, b) -} -func (m *RedirectIPv4AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Marshal(b, m, deterministic) -} -func (m *RedirectIPv4AddressSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Merge(m, src) -} -func (m *RedirectIPv4AddressSpecificExtended) XXX_Size() int { - return xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Size(m) -} -func (m *RedirectIPv4AddressSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_RedirectIPv4AddressSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_RedirectIPv4AddressSpecificExtended proto.InternalMessageInfo - -func (m *RedirectIPv4AddressSpecificExtended) GetAddress() string { - if m != nil { - return m.Address +func (x *RedirectIPv4AddressSpecificExtended) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type RedirectFourOctetAsSpecificExtended struct { - As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` - LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` + LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *RedirectFourOctetAsSpecificExtended) Reset() { *m = RedirectFourOctetAsSpecificExtended{} } -func (m *RedirectFourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {} +func (x *RedirectFourOctetAsSpecificExtended) Reset() { + *x = RedirectFourOctetAsSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedirectFourOctetAsSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {} + +func (x *RedirectFourOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[61] + 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 RedirectFourOctetAsSpecificExtended.ProtoReflect.Descriptor instead. func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{61} + return file_attribute_proto_rawDescGZIP(), []int{61} } -func (m *RedirectFourOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Unmarshal(m, b) -} -func (m *RedirectFourOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Marshal(b, m, deterministic) -} -func (m *RedirectFourOctetAsSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Merge(m, src) -} -func (m *RedirectFourOctetAsSpecificExtended) XXX_Size() int { - return xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Size(m) -} -func (m *RedirectFourOctetAsSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_RedirectFourOctetAsSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_RedirectFourOctetAsSpecificExtended proto.InternalMessageInfo - -func (m *RedirectFourOctetAsSpecificExtended) GetAs() uint32 { - if m != nil { - return m.As +func (x *RedirectFourOctetAsSpecificExtended) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type TrafficRemarkExtended struct { - Dscp uint32 `protobuf:"varint,1,opt,name=dscp,proto3" json:"dscp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dscp uint32 `protobuf:"varint,1,opt,name=dscp,proto3" json:"dscp,omitempty"` } -func (m *TrafficRemarkExtended) Reset() { *m = TrafficRemarkExtended{} } -func (m *TrafficRemarkExtended) String() string { return proto.CompactTextString(m) } -func (*TrafficRemarkExtended) ProtoMessage() {} +func (x *TrafficRemarkExtended) Reset() { + *x = TrafficRemarkExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrafficRemarkExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrafficRemarkExtended) ProtoMessage() {} + +func (x *TrafficRemarkExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[62] + 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 TrafficRemarkExtended.ProtoReflect.Descriptor instead. func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{62} + return file_attribute_proto_rawDescGZIP(), []int{62} } -func (m *TrafficRemarkExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficRemarkExtended.Unmarshal(m, b) -} -func (m *TrafficRemarkExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficRemarkExtended.Marshal(b, m, deterministic) -} -func (m *TrafficRemarkExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficRemarkExtended.Merge(m, src) -} -func (m *TrafficRemarkExtended) XXX_Size() int { - return xxx_messageInfo_TrafficRemarkExtended.Size(m) -} -func (m *TrafficRemarkExtended) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficRemarkExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_TrafficRemarkExtended proto.InternalMessageInfo - -func (m *TrafficRemarkExtended) GetDscp() uint32 { - if m != nil { - return m.Dscp +func (x *TrafficRemarkExtended) GetDscp() uint32 { + if x != nil { + return x.Dscp } return 0 } type UnknownExtended struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *UnknownExtended) Reset() { *m = UnknownExtended{} } -func (m *UnknownExtended) String() string { return proto.CompactTextString(m) } -func (*UnknownExtended) ProtoMessage() {} +func (x *UnknownExtended) Reset() { + *x = UnknownExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnknownExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownExtended) ProtoMessage() {} + +func (x *UnknownExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[63] + 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 UnknownExtended.ProtoReflect.Descriptor instead. func (*UnknownExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{63} + return file_attribute_proto_rawDescGZIP(), []int{63} } -func (m *UnknownExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UnknownExtended.Unmarshal(m, b) -} -func (m *UnknownExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UnknownExtended.Marshal(b, m, deterministic) -} -func (m *UnknownExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnknownExtended.Merge(m, src) -} -func (m *UnknownExtended) XXX_Size() int { - return xxx_messageInfo_UnknownExtended.Size(m) -} -func (m *UnknownExtended) XXX_DiscardUnknown() { - xxx_messageInfo_UnknownExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_UnknownExtended proto.InternalMessageInfo - -func (m *UnknownExtended) GetType() uint32 { - if m != nil { - return m.Type +func (x *UnknownExtended) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *UnknownExtended) GetValue() []byte { - if m != nil { - return m.Value +func (x *UnknownExtended) GetValue() []byte { + if x != nil { + return x.Value } return nil } type ExtendedCommunitiesAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Each Community must be one of: // - TwoOctetAsSpecificExtended // - IPv4AddressSpecificExtended @@ -3549,1117 +4166,1301 @@ type ExtendedCommunitiesAttribute struct { // - RedirectFourOctetAsSpecificExtended // - TrafficRemarkExtended // - UnknownExtended - Communities []*any.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Communities []*anypb.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` } -func (m *ExtendedCommunitiesAttribute) Reset() { *m = ExtendedCommunitiesAttribute{} } -func (m *ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) } -func (*ExtendedCommunitiesAttribute) ProtoMessage() {} +func (x *ExtendedCommunitiesAttribute) Reset() { + *x = ExtendedCommunitiesAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtendedCommunitiesAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtendedCommunitiesAttribute) ProtoMessage() {} + +func (x *ExtendedCommunitiesAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[64] + 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 ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead. func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{64} + return file_attribute_proto_rawDescGZIP(), []int{64} } -func (m *ExtendedCommunitiesAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ExtendedCommunitiesAttribute.Unmarshal(m, b) -} -func (m *ExtendedCommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ExtendedCommunitiesAttribute.Marshal(b, m, deterministic) -} -func (m *ExtendedCommunitiesAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtendedCommunitiesAttribute.Merge(m, src) -} -func (m *ExtendedCommunitiesAttribute) XXX_Size() int { - return xxx_messageInfo_ExtendedCommunitiesAttribute.Size(m) -} -func (m *ExtendedCommunitiesAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_ExtendedCommunitiesAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtendedCommunitiesAttribute proto.InternalMessageInfo - -func (m *ExtendedCommunitiesAttribute) GetCommunities() []*any.Any { - if m != nil { - return m.Communities +func (x *ExtendedCommunitiesAttribute) GetCommunities() []*anypb.Any { + if x != nil { + return x.Communities } return nil } type As4PathAttribute struct { - Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` } -func (m *As4PathAttribute) Reset() { *m = As4PathAttribute{} } -func (m *As4PathAttribute) String() string { return proto.CompactTextString(m) } -func (*As4PathAttribute) ProtoMessage() {} +func (x *As4PathAttribute) Reset() { + *x = As4PathAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *As4PathAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*As4PathAttribute) ProtoMessage() {} + +func (x *As4PathAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[65] + 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 As4PathAttribute.ProtoReflect.Descriptor instead. func (*As4PathAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{65} + return file_attribute_proto_rawDescGZIP(), []int{65} } -func (m *As4PathAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_As4PathAttribute.Unmarshal(m, b) -} -func (m *As4PathAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_As4PathAttribute.Marshal(b, m, deterministic) -} -func (m *As4PathAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_As4PathAttribute.Merge(m, src) -} -func (m *As4PathAttribute) XXX_Size() int { - return xxx_messageInfo_As4PathAttribute.Size(m) -} -func (m *As4PathAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_As4PathAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_As4PathAttribute proto.InternalMessageInfo - -func (m *As4PathAttribute) GetSegments() []*AsSegment { - if m != nil { - return m.Segments +func (x *As4PathAttribute) GetSegments() []*AsSegment { + if x != nil { + return x.Segments } return nil } type As4AggregatorAttribute struct { - As uint32 `protobuf:"varint,2,opt,name=as,proto3" json:"as,omitempty"` - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,2,opt,name=as,proto3" json:"as,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` } -func (m *As4AggregatorAttribute) Reset() { *m = As4AggregatorAttribute{} } -func (m *As4AggregatorAttribute) String() string { return proto.CompactTextString(m) } -func (*As4AggregatorAttribute) ProtoMessage() {} +func (x *As4AggregatorAttribute) Reset() { + *x = As4AggregatorAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *As4AggregatorAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*As4AggregatorAttribute) ProtoMessage() {} + +func (x *As4AggregatorAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[66] + 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 As4AggregatorAttribute.ProtoReflect.Descriptor instead. func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{66} + return file_attribute_proto_rawDescGZIP(), []int{66} } -func (m *As4AggregatorAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_As4AggregatorAttribute.Unmarshal(m, b) -} -func (m *As4AggregatorAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_As4AggregatorAttribute.Marshal(b, m, deterministic) -} -func (m *As4AggregatorAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_As4AggregatorAttribute.Merge(m, src) -} -func (m *As4AggregatorAttribute) XXX_Size() int { - return xxx_messageInfo_As4AggregatorAttribute.Size(m) -} -func (m *As4AggregatorAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_As4AggregatorAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_As4AggregatorAttribute proto.InternalMessageInfo - -func (m *As4AggregatorAttribute) GetAs() uint32 { - if m != nil { - return m.As +func (x *As4AggregatorAttribute) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *As4AggregatorAttribute) GetAddress() string { - if m != nil { - return m.Address +func (x *As4AggregatorAttribute) GetAddress() string { + if x != nil { + return x.Address } return "" } type PmsiTunnelAttribute struct { - Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` - Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` - Label uint32 `protobuf:"varint,3,opt,name=label,proto3" json:"label,omitempty"` - Id []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` + Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` + Label uint32 `protobuf:"varint,3,opt,name=label,proto3" json:"label,omitempty"` + Id []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` } -func (m *PmsiTunnelAttribute) Reset() { *m = PmsiTunnelAttribute{} } -func (m *PmsiTunnelAttribute) String() string { return proto.CompactTextString(m) } -func (*PmsiTunnelAttribute) ProtoMessage() {} +func (x *PmsiTunnelAttribute) Reset() { + *x = PmsiTunnelAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PmsiTunnelAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PmsiTunnelAttribute) ProtoMessage() {} + +func (x *PmsiTunnelAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[67] + 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 PmsiTunnelAttribute.ProtoReflect.Descriptor instead. func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{67} + return file_attribute_proto_rawDescGZIP(), []int{67} } -func (m *PmsiTunnelAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PmsiTunnelAttribute.Unmarshal(m, b) -} -func (m *PmsiTunnelAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PmsiTunnelAttribute.Marshal(b, m, deterministic) -} -func (m *PmsiTunnelAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_PmsiTunnelAttribute.Merge(m, src) -} -func (m *PmsiTunnelAttribute) XXX_Size() int { - return xxx_messageInfo_PmsiTunnelAttribute.Size(m) -} -func (m *PmsiTunnelAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_PmsiTunnelAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_PmsiTunnelAttribute proto.InternalMessageInfo - -func (m *PmsiTunnelAttribute) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *PmsiTunnelAttribute) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *PmsiTunnelAttribute) GetType() uint32 { - if m != nil { - return m.Type +func (x *PmsiTunnelAttribute) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *PmsiTunnelAttribute) GetLabel() uint32 { - if m != nil { - return m.Label +func (x *PmsiTunnelAttribute) GetLabel() uint32 { + if x != nil { + return x.Label } return 0 } -func (m *PmsiTunnelAttribute) GetId() []byte { - if m != nil { - return m.Id +func (x *PmsiTunnelAttribute) GetId() []byte { + if x != nil { + return x.Id } return nil } type TunnelEncapSubTLVEncapsulation struct { - Key uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` - Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` + Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"` } -func (m *TunnelEncapSubTLVEncapsulation) Reset() { *m = TunnelEncapSubTLVEncapsulation{} } -func (m *TunnelEncapSubTLVEncapsulation) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVEncapsulation) ProtoMessage() {} +func (x *TunnelEncapSubTLVEncapsulation) Reset() { + *x = TunnelEncapSubTLVEncapsulation{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVEncapsulation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVEncapsulation) ProtoMessage() {} + +func (x *TunnelEncapSubTLVEncapsulation) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[68] + 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 TunnelEncapSubTLVEncapsulation.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{68} + return file_attribute_proto_rawDescGZIP(), []int{68} } -func (m *TunnelEncapSubTLVEncapsulation) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVEncapsulation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVEncapsulation) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Merge(m, src) -} -func (m *TunnelEncapSubTLVEncapsulation) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Size(m) -} -func (m *TunnelEncapSubTLVEncapsulation) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVEncapsulation.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVEncapsulation proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVEncapsulation) GetKey() uint32 { - if m != nil { - return m.Key +func (x *TunnelEncapSubTLVEncapsulation) GetKey() uint32 { + if x != nil { + return x.Key } return 0 } -func (m *TunnelEncapSubTLVEncapsulation) GetCookie() []byte { - if m != nil { - return m.Cookie +func (x *TunnelEncapSubTLVEncapsulation) GetCookie() []byte { + if x != nil { + return x.Cookie } return nil } type TunnelEncapSubTLVProtocol struct { - Protocol uint32 `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Protocol uint32 `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"` } -func (m *TunnelEncapSubTLVProtocol) Reset() { *m = TunnelEncapSubTLVProtocol{} } -func (m *TunnelEncapSubTLVProtocol) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVProtocol) ProtoMessage() {} +func (x *TunnelEncapSubTLVProtocol) Reset() { + *x = TunnelEncapSubTLVProtocol{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVProtocol) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVProtocol) ProtoMessage() {} + +func (x *TunnelEncapSubTLVProtocol) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[69] + 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 TunnelEncapSubTLVProtocol.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{69} + return file_attribute_proto_rawDescGZIP(), []int{69} } -func (m *TunnelEncapSubTLVProtocol) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVProtocol.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVProtocol) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVProtocol.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVProtocol) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVProtocol.Merge(m, src) -} -func (m *TunnelEncapSubTLVProtocol) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVProtocol.Size(m) -} -func (m *TunnelEncapSubTLVProtocol) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVProtocol.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVProtocol proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVProtocol) GetProtocol() uint32 { - if m != nil { - return m.Protocol +func (x *TunnelEncapSubTLVProtocol) GetProtocol() uint32 { + if x != nil { + return x.Protocol } return 0 } type TunnelEncapSubTLVColor struct { - Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` } -func (m *TunnelEncapSubTLVColor) Reset() { *m = TunnelEncapSubTLVColor{} } -func (m *TunnelEncapSubTLVColor) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVColor) ProtoMessage() {} +func (x *TunnelEncapSubTLVColor) Reset() { + *x = TunnelEncapSubTLVColor{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVColor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVColor) ProtoMessage() {} + +func (x *TunnelEncapSubTLVColor) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[70] + 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 TunnelEncapSubTLVColor.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{70} + return file_attribute_proto_rawDescGZIP(), []int{70} } -func (m *TunnelEncapSubTLVColor) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVColor.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVColor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVColor.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVColor) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVColor.Merge(m, src) -} -func (m *TunnelEncapSubTLVColor) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVColor.Size(m) -} -func (m *TunnelEncapSubTLVColor) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVColor.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVColor proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVColor) GetColor() uint32 { - if m != nil { - return m.Color +func (x *TunnelEncapSubTLVColor) GetColor() uint32 { + if x != nil { + return x.Color } return 0 } type TunnelEncapSubTLVSRPreference struct { - Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` - Preference uint32 `protobuf:"varint,2,opt,name=preference,proto3" json:"preference,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` + Preference uint32 `protobuf:"varint,2,opt,name=preference,proto3" json:"preference,omitempty"` } -func (m *TunnelEncapSubTLVSRPreference) Reset() { *m = TunnelEncapSubTLVSRPreference{} } -func (m *TunnelEncapSubTLVSRPreference) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVSRPreference) ProtoMessage() {} +func (x *TunnelEncapSubTLVSRPreference) Reset() { + *x = TunnelEncapSubTLVSRPreference{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVSRPreference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVSRPreference) ProtoMessage() {} + +func (x *TunnelEncapSubTLVSRPreference) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[71] + 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 TunnelEncapSubTLVSRPreference.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRPreference) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{71} + return file_attribute_proto_rawDescGZIP(), []int{71} } -func (m *TunnelEncapSubTLVSRPreference) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVSRPreference.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVSRPreference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVSRPreference.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVSRPreference) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVSRPreference.Merge(m, src) -} -func (m *TunnelEncapSubTLVSRPreference) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVSRPreference.Size(m) -} -func (m *TunnelEncapSubTLVSRPreference) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVSRPreference.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVSRPreference proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVSRPreference) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *TunnelEncapSubTLVSRPreference) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *TunnelEncapSubTLVSRPreference) GetPreference() uint32 { - if m != nil { - return m.Preference +func (x *TunnelEncapSubTLVSRPreference) GetPreference() uint32 { + if x != nil { + return x.Preference } return 0 } type TunnelEncapSubTLVSRCandidatePathName struct { - CandidatePathName string `protobuf:"bytes,1,opt,name=candidate_path_name,json=candidatePathName,proto3" json:"candidate_path_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CandidatePathName string `protobuf:"bytes,1,opt,name=candidate_path_name,json=candidatePathName,proto3" json:"candidate_path_name,omitempty"` } -func (m *TunnelEncapSubTLVSRCandidatePathName) Reset() { *m = TunnelEncapSubTLVSRCandidatePathName{} } -func (m *TunnelEncapSubTLVSRCandidatePathName) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVSRCandidatePathName) ProtoMessage() {} +func (x *TunnelEncapSubTLVSRCandidatePathName) Reset() { + *x = TunnelEncapSubTLVSRCandidatePathName{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVSRCandidatePathName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVSRCandidatePathName) ProtoMessage() {} + +func (x *TunnelEncapSubTLVSRCandidatePathName) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[72] + 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 TunnelEncapSubTLVSRCandidatePathName.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRCandidatePathName) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{72} + return file_attribute_proto_rawDescGZIP(), []int{72} } -func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Merge(m, src) -} -func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Size(m) -} -func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVSRCandidatePathName) GetCandidatePathName() string { - if m != nil { - return m.CandidatePathName +func (x *TunnelEncapSubTLVSRCandidatePathName) GetCandidatePathName() string { + if x != nil { + return x.CandidatePathName } return "" } type TunnelEncapSubTLVSRPriority struct { - Priority uint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Priority uint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` } -func (m *TunnelEncapSubTLVSRPriority) Reset() { *m = TunnelEncapSubTLVSRPriority{} } -func (m *TunnelEncapSubTLVSRPriority) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVSRPriority) ProtoMessage() {} +func (x *TunnelEncapSubTLVSRPriority) Reset() { + *x = TunnelEncapSubTLVSRPriority{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVSRPriority) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVSRPriority) ProtoMessage() {} + +func (x *TunnelEncapSubTLVSRPriority) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[73] + 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 TunnelEncapSubTLVSRPriority.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRPriority) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{73} + return file_attribute_proto_rawDescGZIP(), []int{73} } -func (m *TunnelEncapSubTLVSRPriority) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVSRPriority.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVSRPriority) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVSRPriority.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVSRPriority) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVSRPriority.Merge(m, src) -} -func (m *TunnelEncapSubTLVSRPriority) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVSRPriority.Size(m) -} -func (m *TunnelEncapSubTLVSRPriority) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVSRPriority.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVSRPriority proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVSRPriority) GetPriority() uint32 { - if m != nil { - return m.Priority +func (x *TunnelEncapSubTLVSRPriority) GetPriority() uint32 { + if x != nil { + return x.Priority } return 0 } type TunnelEncapSubTLVSRBindingSID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // bsid must be one of: // - SRBindingSID // - SRv6BindingSID - Bsid *any.Any `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Bsid *anypb.Any `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"` } -func (m *TunnelEncapSubTLVSRBindingSID) Reset() { *m = TunnelEncapSubTLVSRBindingSID{} } -func (m *TunnelEncapSubTLVSRBindingSID) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVSRBindingSID) ProtoMessage() {} +func (x *TunnelEncapSubTLVSRBindingSID) Reset() { + *x = TunnelEncapSubTLVSRBindingSID{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVSRBindingSID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVSRBindingSID) ProtoMessage() {} + +func (x *TunnelEncapSubTLVSRBindingSID) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[74] + 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 TunnelEncapSubTLVSRBindingSID.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRBindingSID) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{74} + return file_attribute_proto_rawDescGZIP(), []int{74} } -func (m *TunnelEncapSubTLVSRBindingSID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVSRBindingSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVSRBindingSID) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Merge(m, src) -} -func (m *TunnelEncapSubTLVSRBindingSID) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Size(m) -} -func (m *TunnelEncapSubTLVSRBindingSID) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVSRBindingSID proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVSRBindingSID) GetBsid() *any.Any { - if m != nil { - return m.Bsid +func (x *TunnelEncapSubTLVSRBindingSID) GetBsid() *anypb.Any { + if x != nil { + return x.Bsid } return nil } type SRBindingSID struct { - SFlag bool `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` - IFlag bool `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"` - Sid []byte `protobuf:"bytes,3,opt,name=sid,proto3" json:"sid,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SFlag bool `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` + IFlag bool `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"` + Sid []byte `protobuf:"bytes,3,opt,name=sid,proto3" json:"sid,omitempty"` } -func (m *SRBindingSID) Reset() { *m = SRBindingSID{} } -func (m *SRBindingSID) String() string { return proto.CompactTextString(m) } -func (*SRBindingSID) ProtoMessage() {} +func (x *SRBindingSID) Reset() { + *x = SRBindingSID{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRBindingSID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRBindingSID) ProtoMessage() {} + +func (x *SRBindingSID) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[75] + 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 SRBindingSID.ProtoReflect.Descriptor instead. func (*SRBindingSID) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{75} + return file_attribute_proto_rawDescGZIP(), []int{75} } -func (m *SRBindingSID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRBindingSID.Unmarshal(m, b) -} -func (m *SRBindingSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRBindingSID.Marshal(b, m, deterministic) -} -func (m *SRBindingSID) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRBindingSID.Merge(m, src) -} -func (m *SRBindingSID) XXX_Size() int { - return xxx_messageInfo_SRBindingSID.Size(m) -} -func (m *SRBindingSID) XXX_DiscardUnknown() { - xxx_messageInfo_SRBindingSID.DiscardUnknown(m) -} - -var xxx_messageInfo_SRBindingSID proto.InternalMessageInfo - -func (m *SRBindingSID) GetSFlag() bool { - if m != nil { - return m.SFlag +func (x *SRBindingSID) GetSFlag() bool { + if x != nil { + return x.SFlag } return false } -func (m *SRBindingSID) GetIFlag() bool { - if m != nil { - return m.IFlag +func (x *SRBindingSID) GetIFlag() bool { + if x != nil { + return x.IFlag } return false } -func (m *SRBindingSID) GetSid() []byte { - if m != nil { - return m.Sid +func (x *SRBindingSID) GetSid() []byte { + if x != nil { + return x.Sid } return nil } type SRv6EndPointBehavior struct { - Behavior SRv6Behavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=gobgpapi.SRv6Behavior" json:"behavior,omitempty"` - BlockLen uint32 `protobuf:"varint,2,opt,name=block_len,json=blockLen,proto3" json:"block_len,omitempty"` - NodeLen uint32 `protobuf:"varint,3,opt,name=node_len,json=nodeLen,proto3" json:"node_len,omitempty"` - FuncLen uint32 `protobuf:"varint,4,opt,name=func_len,json=funcLen,proto3" json:"func_len,omitempty"` - ArgLen uint32 `protobuf:"varint,5,opt,name=arg_len,json=argLen,proto3" json:"arg_len,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Behavior SRv6Behavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=apipb.SRv6Behavior" json:"behavior,omitempty"` + BlockLen uint32 `protobuf:"varint,2,opt,name=block_len,json=blockLen,proto3" json:"block_len,omitempty"` + NodeLen uint32 `protobuf:"varint,3,opt,name=node_len,json=nodeLen,proto3" json:"node_len,omitempty"` + FuncLen uint32 `protobuf:"varint,4,opt,name=func_len,json=funcLen,proto3" json:"func_len,omitempty"` + ArgLen uint32 `protobuf:"varint,5,opt,name=arg_len,json=argLen,proto3" json:"arg_len,omitempty"` } -func (m *SRv6EndPointBehavior) Reset() { *m = SRv6EndPointBehavior{} } -func (m *SRv6EndPointBehavior) String() string { return proto.CompactTextString(m) } -func (*SRv6EndPointBehavior) ProtoMessage() {} +func (x *SRv6EndPointBehavior) Reset() { + *x = SRv6EndPointBehavior{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6EndPointBehavior) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6EndPointBehavior) ProtoMessage() {} + +func (x *SRv6EndPointBehavior) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[76] + 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 SRv6EndPointBehavior.ProtoReflect.Descriptor instead. func (*SRv6EndPointBehavior) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{76} + return file_attribute_proto_rawDescGZIP(), []int{76} } -func (m *SRv6EndPointBehavior) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6EndPointBehavior.Unmarshal(m, b) -} -func (m *SRv6EndPointBehavior) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6EndPointBehavior.Marshal(b, m, deterministic) -} -func (m *SRv6EndPointBehavior) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6EndPointBehavior.Merge(m, src) -} -func (m *SRv6EndPointBehavior) XXX_Size() int { - return xxx_messageInfo_SRv6EndPointBehavior.Size(m) -} -func (m *SRv6EndPointBehavior) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6EndPointBehavior.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6EndPointBehavior proto.InternalMessageInfo - -func (m *SRv6EndPointBehavior) GetBehavior() SRv6Behavior { - if m != nil { - return m.Behavior +func (x *SRv6EndPointBehavior) GetBehavior() SRv6Behavior { + if x != nil { + return x.Behavior } return SRv6Behavior_RESERVED } -func (m *SRv6EndPointBehavior) GetBlockLen() uint32 { - if m != nil { - return m.BlockLen +func (x *SRv6EndPointBehavior) GetBlockLen() uint32 { + if x != nil { + return x.BlockLen } return 0 } -func (m *SRv6EndPointBehavior) GetNodeLen() uint32 { - if m != nil { - return m.NodeLen +func (x *SRv6EndPointBehavior) GetNodeLen() uint32 { + if x != nil { + return x.NodeLen } return 0 } -func (m *SRv6EndPointBehavior) GetFuncLen() uint32 { - if m != nil { - return m.FuncLen +func (x *SRv6EndPointBehavior) GetFuncLen() uint32 { + if x != nil { + return x.FuncLen } return 0 } -func (m *SRv6EndPointBehavior) GetArgLen() uint32 { - if m != nil { - return m.ArgLen +func (x *SRv6EndPointBehavior) GetArgLen() uint32 { + if x != nil { + return x.ArgLen } return 0 } type SRv6BindingSID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + SFlag bool `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` IFlag bool `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"` BFlag bool `protobuf:"varint,3,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"` Sid []byte `protobuf:"bytes,4,opt,name=sid,proto3" json:"sid,omitempty"` EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,5,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *SRv6BindingSID) Reset() { *m = SRv6BindingSID{} } -func (m *SRv6BindingSID) String() string { return proto.CompactTextString(m) } -func (*SRv6BindingSID) ProtoMessage() {} +func (x *SRv6BindingSID) Reset() { + *x = SRv6BindingSID{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6BindingSID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6BindingSID) ProtoMessage() {} + +func (x *SRv6BindingSID) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[77] + 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 SRv6BindingSID.ProtoReflect.Descriptor instead. func (*SRv6BindingSID) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{77} + return file_attribute_proto_rawDescGZIP(), []int{77} } -func (m *SRv6BindingSID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6BindingSID.Unmarshal(m, b) -} -func (m *SRv6BindingSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6BindingSID.Marshal(b, m, deterministic) -} -func (m *SRv6BindingSID) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6BindingSID.Merge(m, src) -} -func (m *SRv6BindingSID) XXX_Size() int { - return xxx_messageInfo_SRv6BindingSID.Size(m) -} -func (m *SRv6BindingSID) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6BindingSID.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6BindingSID proto.InternalMessageInfo - -func (m *SRv6BindingSID) GetSFlag() bool { - if m != nil { - return m.SFlag +func (x *SRv6BindingSID) GetSFlag() bool { + if x != nil { + return x.SFlag } return false } -func (m *SRv6BindingSID) GetIFlag() bool { - if m != nil { - return m.IFlag +func (x *SRv6BindingSID) GetIFlag() bool { + if x != nil { + return x.IFlag } return false } -func (m *SRv6BindingSID) GetBFlag() bool { - if m != nil { - return m.BFlag +func (x *SRv6BindingSID) GetBFlag() bool { + if x != nil { + return x.BFlag } return false } -func (m *SRv6BindingSID) GetSid() []byte { - if m != nil { - return m.Sid +func (x *SRv6BindingSID) GetSid() []byte { + if x != nil { + return x.Sid } return nil } -func (m *SRv6BindingSID) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { - if m != nil { - return m.EndpointBehaviorStructure +func (x *SRv6BindingSID) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { + if x != nil { + return x.EndpointBehaviorStructure } return nil } type TunnelEncapSubTLVSRENLP struct { - Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` - Enlp ENLPType `protobuf:"varint,2,opt,name=enlp,proto3,enum=gobgpapi.ENLPType" json:"enlp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` + Enlp ENLPType `protobuf:"varint,2,opt,name=enlp,proto3,enum=apipb.ENLPType" json:"enlp,omitempty"` } -func (m *TunnelEncapSubTLVSRENLP) Reset() { *m = TunnelEncapSubTLVSRENLP{} } -func (m *TunnelEncapSubTLVSRENLP) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVSRENLP) ProtoMessage() {} +func (x *TunnelEncapSubTLVSRENLP) Reset() { + *x = TunnelEncapSubTLVSRENLP{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVSRENLP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVSRENLP) ProtoMessage() {} + +func (x *TunnelEncapSubTLVSRENLP) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[78] + 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 TunnelEncapSubTLVSRENLP.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRENLP) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{78} + return file_attribute_proto_rawDescGZIP(), []int{78} } -func (m *TunnelEncapSubTLVSRENLP) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVSRENLP.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVSRENLP) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVSRENLP.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVSRENLP) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVSRENLP.Merge(m, src) -} -func (m *TunnelEncapSubTLVSRENLP) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVSRENLP.Size(m) -} -func (m *TunnelEncapSubTLVSRENLP) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVSRENLP.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVSRENLP proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVSRENLP) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *TunnelEncapSubTLVSRENLP) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *TunnelEncapSubTLVSRENLP) GetEnlp() ENLPType { - if m != nil { - return m.Enlp +func (x *TunnelEncapSubTLVSRENLP) GetEnlp() ENLPType { + if x != nil { + return x.Enlp } return ENLPType_Reserved } type SRWeight struct { - Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` - Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` + Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` } -func (m *SRWeight) Reset() { *m = SRWeight{} } -func (m *SRWeight) String() string { return proto.CompactTextString(m) } -func (*SRWeight) ProtoMessage() {} +func (x *SRWeight) Reset() { + *x = SRWeight{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRWeight) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRWeight) ProtoMessage() {} + +func (x *SRWeight) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[79] + 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 SRWeight.ProtoReflect.Descriptor instead. func (*SRWeight) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{79} + return file_attribute_proto_rawDescGZIP(), []int{79} } -func (m *SRWeight) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRWeight.Unmarshal(m, b) -} -func (m *SRWeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRWeight.Marshal(b, m, deterministic) -} -func (m *SRWeight) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRWeight.Merge(m, src) -} -func (m *SRWeight) XXX_Size() int { - return xxx_messageInfo_SRWeight.Size(m) -} -func (m *SRWeight) XXX_DiscardUnknown() { - xxx_messageInfo_SRWeight.DiscardUnknown(m) -} - -var xxx_messageInfo_SRWeight proto.InternalMessageInfo - -func (m *SRWeight) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *SRWeight) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *SRWeight) GetWeight() uint32 { - if m != nil { - return m.Weight +func (x *SRWeight) GetWeight() uint32 { + if x != nil { + return x.Weight } return 0 } type SegmentFlags struct { - VFlag bool `protobuf:"varint,1,opt,name=v_flag,json=vFlag,proto3" json:"v_flag,omitempty"` - AFlag bool `protobuf:"varint,2,opt,name=a_flag,json=aFlag,proto3" json:"a_flag,omitempty"` - SFlag bool `protobuf:"varint,3,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` - BFlag bool `protobuf:"varint,4,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + VFlag bool `protobuf:"varint,1,opt,name=v_flag,json=vFlag,proto3" json:"v_flag,omitempty"` + AFlag bool `protobuf:"varint,2,opt,name=a_flag,json=aFlag,proto3" json:"a_flag,omitempty"` + SFlag bool `protobuf:"varint,3,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` + BFlag bool `protobuf:"varint,4,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"` } -func (m *SegmentFlags) Reset() { *m = SegmentFlags{} } -func (m *SegmentFlags) String() string { return proto.CompactTextString(m) } -func (*SegmentFlags) ProtoMessage() {} +func (x *SegmentFlags) Reset() { + *x = SegmentFlags{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SegmentFlags) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SegmentFlags) ProtoMessage() {} + +func (x *SegmentFlags) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[80] + 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 SegmentFlags.ProtoReflect.Descriptor instead. func (*SegmentFlags) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{80} + return file_attribute_proto_rawDescGZIP(), []int{80} } -func (m *SegmentFlags) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SegmentFlags.Unmarshal(m, b) -} -func (m *SegmentFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SegmentFlags.Marshal(b, m, deterministic) -} -func (m *SegmentFlags) XXX_Merge(src proto.Message) { - xxx_messageInfo_SegmentFlags.Merge(m, src) -} -func (m *SegmentFlags) XXX_Size() int { - return xxx_messageInfo_SegmentFlags.Size(m) -} -func (m *SegmentFlags) XXX_DiscardUnknown() { - xxx_messageInfo_SegmentFlags.DiscardUnknown(m) -} - -var xxx_messageInfo_SegmentFlags proto.InternalMessageInfo - -func (m *SegmentFlags) GetVFlag() bool { - if m != nil { - return m.VFlag +func (x *SegmentFlags) GetVFlag() bool { + if x != nil { + return x.VFlag } return false } -func (m *SegmentFlags) GetAFlag() bool { - if m != nil { - return m.AFlag +func (x *SegmentFlags) GetAFlag() bool { + if x != nil { + return x.AFlag } return false } -func (m *SegmentFlags) GetSFlag() bool { - if m != nil { - return m.SFlag +func (x *SegmentFlags) GetSFlag() bool { + if x != nil { + return x.SFlag } return false } -func (m *SegmentFlags) GetBFlag() bool { - if m != nil { - return m.BFlag +func (x *SegmentFlags) GetBFlag() bool { + if x != nil { + return x.BFlag } return false } type SegmentTypeA struct { - Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` - Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` + Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` } -func (m *SegmentTypeA) Reset() { *m = SegmentTypeA{} } -func (m *SegmentTypeA) String() string { return proto.CompactTextString(m) } -func (*SegmentTypeA) ProtoMessage() {} +func (x *SegmentTypeA) Reset() { + *x = SegmentTypeA{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SegmentTypeA) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SegmentTypeA) ProtoMessage() {} + +func (x *SegmentTypeA) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[81] + 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 SegmentTypeA.ProtoReflect.Descriptor instead. func (*SegmentTypeA) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{81} + return file_attribute_proto_rawDescGZIP(), []int{81} } -func (m *SegmentTypeA) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SegmentTypeA.Unmarshal(m, b) -} -func (m *SegmentTypeA) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SegmentTypeA.Marshal(b, m, deterministic) -} -func (m *SegmentTypeA) XXX_Merge(src proto.Message) { - xxx_messageInfo_SegmentTypeA.Merge(m, src) -} -func (m *SegmentTypeA) XXX_Size() int { - return xxx_messageInfo_SegmentTypeA.Size(m) -} -func (m *SegmentTypeA) XXX_DiscardUnknown() { - xxx_messageInfo_SegmentTypeA.DiscardUnknown(m) -} - -var xxx_messageInfo_SegmentTypeA proto.InternalMessageInfo - -func (m *SegmentTypeA) GetFlags() *SegmentFlags { - if m != nil { - return m.Flags +func (x *SegmentTypeA) GetFlags() *SegmentFlags { + if x != nil { + return x.Flags } return nil } -func (m *SegmentTypeA) GetLabel() uint32 { - if m != nil { - return m.Label +func (x *SegmentTypeA) GetLabel() uint32 { + if x != nil { + return x.Label } return 0 } type SegmentTypeB struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` Sid []byte `protobuf:"bytes,2,opt,name=sid,proto3" json:"sid,omitempty"` EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,3,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *SegmentTypeB) Reset() { *m = SegmentTypeB{} } -func (m *SegmentTypeB) String() string { return proto.CompactTextString(m) } -func (*SegmentTypeB) ProtoMessage() {} +func (x *SegmentTypeB) Reset() { + *x = SegmentTypeB{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SegmentTypeB) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SegmentTypeB) ProtoMessage() {} + +func (x *SegmentTypeB) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[82] + 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 SegmentTypeB.ProtoReflect.Descriptor instead. func (*SegmentTypeB) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{82} + return file_attribute_proto_rawDescGZIP(), []int{82} } -func (m *SegmentTypeB) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SegmentTypeB.Unmarshal(m, b) -} -func (m *SegmentTypeB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SegmentTypeB.Marshal(b, m, deterministic) -} -func (m *SegmentTypeB) XXX_Merge(src proto.Message) { - xxx_messageInfo_SegmentTypeB.Merge(m, src) -} -func (m *SegmentTypeB) XXX_Size() int { - return xxx_messageInfo_SegmentTypeB.Size(m) -} -func (m *SegmentTypeB) XXX_DiscardUnknown() { - xxx_messageInfo_SegmentTypeB.DiscardUnknown(m) -} - -var xxx_messageInfo_SegmentTypeB proto.InternalMessageInfo - -func (m *SegmentTypeB) GetFlags() *SegmentFlags { - if m != nil { - return m.Flags +func (x *SegmentTypeB) GetFlags() *SegmentFlags { + if x != nil { + return x.Flags } return nil } -func (m *SegmentTypeB) GetSid() []byte { - if m != nil { - return m.Sid +func (x *SegmentTypeB) GetSid() []byte { + if x != nil { + return x.Sid } return nil } -func (m *SegmentTypeB) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { - if m != nil { - return m.EndpointBehaviorStructure +func (x *SegmentTypeB) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { + if x != nil { + return x.EndpointBehaviorStructure } return nil } type TunnelEncapSubTLVSRSegmentList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Weight *SRWeight `protobuf:"bytes,1,opt,name=weight,proto3" json:"weight,omitempty"` // segments must be one of: // - SegmentTypeA // - SegmentTypeB - Segments []*any.Any `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Segments []*anypb.Any `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` } -func (m *TunnelEncapSubTLVSRSegmentList) Reset() { *m = TunnelEncapSubTLVSRSegmentList{} } -func (m *TunnelEncapSubTLVSRSegmentList) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVSRSegmentList) ProtoMessage() {} +func (x *TunnelEncapSubTLVSRSegmentList) Reset() { + *x = TunnelEncapSubTLVSRSegmentList{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVSRSegmentList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVSRSegmentList) ProtoMessage() {} + +func (x *TunnelEncapSubTLVSRSegmentList) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[83] + 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 TunnelEncapSubTLVSRSegmentList.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRSegmentList) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{83} + return file_attribute_proto_rawDescGZIP(), []int{83} } -func (m *TunnelEncapSubTLVSRSegmentList) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVSRSegmentList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVSRSegmentList) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Merge(m, src) -} -func (m *TunnelEncapSubTLVSRSegmentList) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Size(m) -} -func (m *TunnelEncapSubTLVSRSegmentList) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVSRSegmentList proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVSRSegmentList) GetWeight() *SRWeight { - if m != nil { - return m.Weight +func (x *TunnelEncapSubTLVSRSegmentList) GetWeight() *SRWeight { + if x != nil { + return x.Weight } return nil } -func (m *TunnelEncapSubTLVSRSegmentList) GetSegments() []*any.Any { - if m != nil { - return m.Segments +func (x *TunnelEncapSubTLVSRSegmentList) GetSegments() []*anypb.Any { + if x != nil { + return x.Segments } return nil } type TunnelEncapSubTLVEgressEndpoint struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -func (m *TunnelEncapSubTLVEgressEndpoint) Reset() { *m = TunnelEncapSubTLVEgressEndpoint{} } -func (m *TunnelEncapSubTLVEgressEndpoint) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVEgressEndpoint) ProtoMessage() {} +func (x *TunnelEncapSubTLVEgressEndpoint) Reset() { + *x = TunnelEncapSubTLVEgressEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVEgressEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVEgressEndpoint) ProtoMessage() {} + +func (x *TunnelEncapSubTLVEgressEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[84] + 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 TunnelEncapSubTLVEgressEndpoint.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVEgressEndpoint) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{84} + return file_attribute_proto_rawDescGZIP(), []int{84} } -func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Merge(m, src) -} -func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Size(m) -} -func (m *TunnelEncapSubTLVEgressEndpoint) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVEgressEndpoint) GetAddress() string { - if m != nil { - return m.Address +func (x *TunnelEncapSubTLVEgressEndpoint) GetAddress() string { + if x != nil { + return x.Address } return "" } type TunnelEncapSubTLVUDPDestPort struct { - Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` } -func (m *TunnelEncapSubTLVUDPDestPort) Reset() { *m = TunnelEncapSubTLVUDPDestPort{} } -func (m *TunnelEncapSubTLVUDPDestPort) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVUDPDestPort) ProtoMessage() {} +func (x *TunnelEncapSubTLVUDPDestPort) Reset() { + *x = TunnelEncapSubTLVUDPDestPort{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVUDPDestPort) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVUDPDestPort) ProtoMessage() {} + +func (x *TunnelEncapSubTLVUDPDestPort) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[85] + 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 TunnelEncapSubTLVUDPDestPort.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVUDPDestPort) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{85} + return file_attribute_proto_rawDescGZIP(), []int{85} } -func (m *TunnelEncapSubTLVUDPDestPort) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVUDPDestPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVUDPDestPort) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Merge(m, src) -} -func (m *TunnelEncapSubTLVUDPDestPort) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Size(m) -} -func (m *TunnelEncapSubTLVUDPDestPort) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVUDPDestPort proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVUDPDestPort) GetPort() uint32 { - if m != nil { - return m.Port +func (x *TunnelEncapSubTLVUDPDestPort) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } type TunnelEncapSubTLVUnknown struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *TunnelEncapSubTLVUnknown) Reset() { *m = TunnelEncapSubTLVUnknown{} } -func (m *TunnelEncapSubTLVUnknown) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapSubTLVUnknown) ProtoMessage() {} +func (x *TunnelEncapSubTLVUnknown) Reset() { + *x = TunnelEncapSubTLVUnknown{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapSubTLVUnknown) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapSubTLVUnknown) ProtoMessage() {} + +func (x *TunnelEncapSubTLVUnknown) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[86] + 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 TunnelEncapSubTLVUnknown.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{86} + return file_attribute_proto_rawDescGZIP(), []int{86} } -func (m *TunnelEncapSubTLVUnknown) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapSubTLVUnknown.Unmarshal(m, b) -} -func (m *TunnelEncapSubTLVUnknown) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapSubTLVUnknown.Marshal(b, m, deterministic) -} -func (m *TunnelEncapSubTLVUnknown) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapSubTLVUnknown.Merge(m, src) -} -func (m *TunnelEncapSubTLVUnknown) XXX_Size() int { - return xxx_messageInfo_TunnelEncapSubTLVUnknown.Size(m) -} -func (m *TunnelEncapSubTLVUnknown) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapSubTLVUnknown.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapSubTLVUnknown proto.InternalMessageInfo - -func (m *TunnelEncapSubTLVUnknown) GetType() uint32 { - if m != nil { - return m.Type +func (x *TunnelEncapSubTLVUnknown) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *TunnelEncapSubTLVUnknown) GetValue() []byte { - if m != nil { - return m.Value +func (x *TunnelEncapSubTLVUnknown) GetValue() []byte { + if x != nil { + return x.Value } return nil } type TunnelEncapTLV struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // Each TLV must be one of: // - TunnelEncapSubTLVEncapsulation @@ -4667,1862 +5468,4088 @@ type TunnelEncapTLV struct { // - TunnelEncapSubTLVColor // - TunnelEncapSubTLVSRPolicy // - TunnelEncapSubTLVUnknown - Tlvs []*any.Any `protobuf:"bytes,2,rep,name=tlvs,proto3" json:"tlvs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Tlvs []*anypb.Any `protobuf:"bytes,2,rep,name=tlvs,proto3" json:"tlvs,omitempty"` } -func (m *TunnelEncapTLV) Reset() { *m = TunnelEncapTLV{} } -func (m *TunnelEncapTLV) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapTLV) ProtoMessage() {} +func (x *TunnelEncapTLV) Reset() { + *x = TunnelEncapTLV{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapTLV) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapTLV) ProtoMessage() {} + +func (x *TunnelEncapTLV) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[87] + 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 TunnelEncapTLV.ProtoReflect.Descriptor instead. func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{87} + return file_attribute_proto_rawDescGZIP(), []int{87} } -func (m *TunnelEncapTLV) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapTLV.Unmarshal(m, b) -} -func (m *TunnelEncapTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapTLV.Marshal(b, m, deterministic) -} -func (m *TunnelEncapTLV) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapTLV.Merge(m, src) -} -func (m *TunnelEncapTLV) XXX_Size() int { - return xxx_messageInfo_TunnelEncapTLV.Size(m) -} -func (m *TunnelEncapTLV) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapTLV.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapTLV proto.InternalMessageInfo - -func (m *TunnelEncapTLV) GetType() uint32 { - if m != nil { - return m.Type +func (x *TunnelEncapTLV) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *TunnelEncapTLV) GetTlvs() []*any.Any { - if m != nil { - return m.Tlvs +func (x *TunnelEncapTLV) GetTlvs() []*anypb.Any { + if x != nil { + return x.Tlvs } return nil } type TunnelEncapAttribute struct { - Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` } -func (m *TunnelEncapAttribute) Reset() { *m = TunnelEncapAttribute{} } -func (m *TunnelEncapAttribute) String() string { return proto.CompactTextString(m) } -func (*TunnelEncapAttribute) ProtoMessage() {} +func (x *TunnelEncapAttribute) Reset() { + *x = TunnelEncapAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TunnelEncapAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TunnelEncapAttribute) ProtoMessage() {} + +func (x *TunnelEncapAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[88] + 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 TunnelEncapAttribute.ProtoReflect.Descriptor instead. func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{88} + return file_attribute_proto_rawDescGZIP(), []int{88} } -func (m *TunnelEncapAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TunnelEncapAttribute.Unmarshal(m, b) -} -func (m *TunnelEncapAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TunnelEncapAttribute.Marshal(b, m, deterministic) -} -func (m *TunnelEncapAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_TunnelEncapAttribute.Merge(m, src) -} -func (m *TunnelEncapAttribute) XXX_Size() int { - return xxx_messageInfo_TunnelEncapAttribute.Size(m) -} -func (m *TunnelEncapAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_TunnelEncapAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_TunnelEncapAttribute proto.InternalMessageInfo - -func (m *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV { - if m != nil { - return m.Tlvs +func (x *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV { + if x != nil { + return x.Tlvs } return nil } type IPv6AddressSpecificExtended struct { - IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` - SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` - LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` + SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` + LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *IPv6AddressSpecificExtended) Reset() { *m = IPv6AddressSpecificExtended{} } -func (m *IPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*IPv6AddressSpecificExtended) ProtoMessage() {} +func (x *IPv6AddressSpecificExtended) Reset() { + *x = IPv6AddressSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IPv6AddressSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IPv6AddressSpecificExtended) ProtoMessage() {} + +func (x *IPv6AddressSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[89] + 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 IPv6AddressSpecificExtended.ProtoReflect.Descriptor instead. func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{89} + return file_attribute_proto_rawDescGZIP(), []int{89} } -func (m *IPv6AddressSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IPv6AddressSpecificExtended.Unmarshal(m, b) -} -func (m *IPv6AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IPv6AddressSpecificExtended.Marshal(b, m, deterministic) -} -func (m *IPv6AddressSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_IPv6AddressSpecificExtended.Merge(m, src) -} -func (m *IPv6AddressSpecificExtended) XXX_Size() int { - return xxx_messageInfo_IPv6AddressSpecificExtended.Size(m) -} -func (m *IPv6AddressSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_IPv6AddressSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_IPv6AddressSpecificExtended proto.InternalMessageInfo - -func (m *IPv6AddressSpecificExtended) GetIsTransitive() bool { - if m != nil { - return m.IsTransitive +func (x *IPv6AddressSpecificExtended) GetIsTransitive() bool { + if x != nil { + return x.IsTransitive } return false } -func (m *IPv6AddressSpecificExtended) GetSubType() uint32 { - if m != nil { - return m.SubType +func (x *IPv6AddressSpecificExtended) GetSubType() uint32 { + if x != nil { + return x.SubType } return 0 } -func (m *IPv6AddressSpecificExtended) GetAddress() string { - if m != nil { - return m.Address +func (x *IPv6AddressSpecificExtended) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type RedirectIPv6AddressSpecificExtended struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` } -func (m *RedirectIPv6AddressSpecificExtended) Reset() { *m = RedirectIPv6AddressSpecificExtended{} } -func (m *RedirectIPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) } -func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {} +func (x *RedirectIPv6AddressSpecificExtended) Reset() { + *x = RedirectIPv6AddressSpecificExtended{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedirectIPv6AddressSpecificExtended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {} + +func (x *RedirectIPv6AddressSpecificExtended) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[90] + 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 RedirectIPv6AddressSpecificExtended.ProtoReflect.Descriptor instead. func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{90} + return file_attribute_proto_rawDescGZIP(), []int{90} } -func (m *RedirectIPv6AddressSpecificExtended) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Unmarshal(m, b) -} -func (m *RedirectIPv6AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Marshal(b, m, deterministic) -} -func (m *RedirectIPv6AddressSpecificExtended) XXX_Merge(src proto.Message) { - xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Merge(m, src) -} -func (m *RedirectIPv6AddressSpecificExtended) XXX_Size() int { - return xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Size(m) -} -func (m *RedirectIPv6AddressSpecificExtended) XXX_DiscardUnknown() { - xxx_messageInfo_RedirectIPv6AddressSpecificExtended.DiscardUnknown(m) -} - -var xxx_messageInfo_RedirectIPv6AddressSpecificExtended proto.InternalMessageInfo - -func (m *RedirectIPv6AddressSpecificExtended) GetAddress() string { - if m != nil { - return m.Address +func (x *RedirectIPv6AddressSpecificExtended) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 { - if m != nil { - return m.LocalAdmin +func (x *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 { + if x != nil { + return x.LocalAdmin } return 0 } type IP6ExtendedCommunitiesAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Each Community must be one of: // - IPv6AddressSpecificExtended // - RedirectIPv6AddressSpecificExtended - Communities []*any.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Communities []*anypb.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` } -func (m *IP6ExtendedCommunitiesAttribute) Reset() { *m = IP6ExtendedCommunitiesAttribute{} } -func (m *IP6ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) } -func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {} +func (x *IP6ExtendedCommunitiesAttribute) Reset() { + *x = IP6ExtendedCommunitiesAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IP6ExtendedCommunitiesAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {} + +func (x *IP6ExtendedCommunitiesAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[91] + 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 IP6ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead. func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{91} + return file_attribute_proto_rawDescGZIP(), []int{91} } -func (m *IP6ExtendedCommunitiesAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Unmarshal(m, b) -} -func (m *IP6ExtendedCommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Marshal(b, m, deterministic) -} -func (m *IP6ExtendedCommunitiesAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Merge(m, src) -} -func (m *IP6ExtendedCommunitiesAttribute) XXX_Size() int { - return xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Size(m) -} -func (m *IP6ExtendedCommunitiesAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_IP6ExtendedCommunitiesAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_IP6ExtendedCommunitiesAttribute proto.InternalMessageInfo - -func (m *IP6ExtendedCommunitiesAttribute) GetCommunities() []*any.Any { - if m != nil { - return m.Communities +func (x *IP6ExtendedCommunitiesAttribute) GetCommunities() []*anypb.Any { + if x != nil { + return x.Communities } return nil } type AigpTLVIGPMetric struct { - Metric uint64 `protobuf:"varint,1,opt,name=metric,proto3" json:"metric,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metric uint64 `protobuf:"varint,1,opt,name=metric,proto3" json:"metric,omitempty"` } -func (m *AigpTLVIGPMetric) Reset() { *m = AigpTLVIGPMetric{} } -func (m *AigpTLVIGPMetric) String() string { return proto.CompactTextString(m) } -func (*AigpTLVIGPMetric) ProtoMessage() {} +func (x *AigpTLVIGPMetric) Reset() { + *x = AigpTLVIGPMetric{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AigpTLVIGPMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AigpTLVIGPMetric) ProtoMessage() {} + +func (x *AigpTLVIGPMetric) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[92] + 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 AigpTLVIGPMetric.ProtoReflect.Descriptor instead. func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{92} + return file_attribute_proto_rawDescGZIP(), []int{92} } -func (m *AigpTLVIGPMetric) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AigpTLVIGPMetric.Unmarshal(m, b) -} -func (m *AigpTLVIGPMetric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AigpTLVIGPMetric.Marshal(b, m, deterministic) -} -func (m *AigpTLVIGPMetric) XXX_Merge(src proto.Message) { - xxx_messageInfo_AigpTLVIGPMetric.Merge(m, src) -} -func (m *AigpTLVIGPMetric) XXX_Size() int { - return xxx_messageInfo_AigpTLVIGPMetric.Size(m) -} -func (m *AigpTLVIGPMetric) XXX_DiscardUnknown() { - xxx_messageInfo_AigpTLVIGPMetric.DiscardUnknown(m) -} - -var xxx_messageInfo_AigpTLVIGPMetric proto.InternalMessageInfo - -func (m *AigpTLVIGPMetric) GetMetric() uint64 { - if m != nil { - return m.Metric +func (x *AigpTLVIGPMetric) GetMetric() uint64 { + if x != nil { + return x.Metric } return 0 } type AigpTLVUnknown struct { - Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *AigpTLVUnknown) Reset() { *m = AigpTLVUnknown{} } -func (m *AigpTLVUnknown) String() string { return proto.CompactTextString(m) } -func (*AigpTLVUnknown) ProtoMessage() {} +func (x *AigpTLVUnknown) Reset() { + *x = AigpTLVUnknown{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AigpTLVUnknown) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AigpTLVUnknown) ProtoMessage() {} + +func (x *AigpTLVUnknown) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[93] + 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 AigpTLVUnknown.ProtoReflect.Descriptor instead. func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{93} + return file_attribute_proto_rawDescGZIP(), []int{93} } -func (m *AigpTLVUnknown) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AigpTLVUnknown.Unmarshal(m, b) -} -func (m *AigpTLVUnknown) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AigpTLVUnknown.Marshal(b, m, deterministic) -} -func (m *AigpTLVUnknown) XXX_Merge(src proto.Message) { - xxx_messageInfo_AigpTLVUnknown.Merge(m, src) -} -func (m *AigpTLVUnknown) XXX_Size() int { - return xxx_messageInfo_AigpTLVUnknown.Size(m) -} -func (m *AigpTLVUnknown) XXX_DiscardUnknown() { - xxx_messageInfo_AigpTLVUnknown.DiscardUnknown(m) -} - -var xxx_messageInfo_AigpTLVUnknown proto.InternalMessageInfo - -func (m *AigpTLVUnknown) GetType() uint32 { - if m != nil { - return m.Type +func (x *AigpTLVUnknown) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *AigpTLVUnknown) GetValue() []byte { - if m != nil { - return m.Value +func (x *AigpTLVUnknown) GetValue() []byte { + if x != nil { + return x.Value } return nil } type AigpAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Each TLV must be one of: // - AigpTLVIGPMetric // - AigpTLVUnknown - Tlvs []*any.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Tlvs []*anypb.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` } -func (m *AigpAttribute) Reset() { *m = AigpAttribute{} } -func (m *AigpAttribute) String() string { return proto.CompactTextString(m) } -func (*AigpAttribute) ProtoMessage() {} +func (x *AigpAttribute) Reset() { + *x = AigpAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AigpAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AigpAttribute) ProtoMessage() {} + +func (x *AigpAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[94] + 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 AigpAttribute.ProtoReflect.Descriptor instead. func (*AigpAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{94} + return file_attribute_proto_rawDescGZIP(), []int{94} } -func (m *AigpAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AigpAttribute.Unmarshal(m, b) -} -func (m *AigpAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AigpAttribute.Marshal(b, m, deterministic) -} -func (m *AigpAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_AigpAttribute.Merge(m, src) -} -func (m *AigpAttribute) XXX_Size() int { - return xxx_messageInfo_AigpAttribute.Size(m) -} -func (m *AigpAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_AigpAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_AigpAttribute proto.InternalMessageInfo - -func (m *AigpAttribute) GetTlvs() []*any.Any { - if m != nil { - return m.Tlvs +func (x *AigpAttribute) GetTlvs() []*anypb.Any { + if x != nil { + return x.Tlvs } return nil } type LargeCommunity struct { - GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin,proto3" json:"global_admin,omitempty"` - LocalData1 uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1,proto3" json:"local_data1,omitempty"` - LocalData2 uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2,proto3" json:"local_data2,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin,proto3" json:"global_admin,omitempty"` + LocalData1 uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1,proto3" json:"local_data1,omitempty"` + LocalData2 uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2,proto3" json:"local_data2,omitempty"` } -func (m *LargeCommunity) Reset() { *m = LargeCommunity{} } -func (m *LargeCommunity) String() string { return proto.CompactTextString(m) } -func (*LargeCommunity) ProtoMessage() {} +func (x *LargeCommunity) Reset() { + *x = LargeCommunity{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LargeCommunity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LargeCommunity) ProtoMessage() {} + +func (x *LargeCommunity) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[95] + 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 LargeCommunity.ProtoReflect.Descriptor instead. func (*LargeCommunity) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{95} + return file_attribute_proto_rawDescGZIP(), []int{95} } -func (m *LargeCommunity) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LargeCommunity.Unmarshal(m, b) -} -func (m *LargeCommunity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LargeCommunity.Marshal(b, m, deterministic) -} -func (m *LargeCommunity) XXX_Merge(src proto.Message) { - xxx_messageInfo_LargeCommunity.Merge(m, src) -} -func (m *LargeCommunity) XXX_Size() int { - return xxx_messageInfo_LargeCommunity.Size(m) -} -func (m *LargeCommunity) XXX_DiscardUnknown() { - xxx_messageInfo_LargeCommunity.DiscardUnknown(m) -} - -var xxx_messageInfo_LargeCommunity proto.InternalMessageInfo - -func (m *LargeCommunity) GetGlobalAdmin() uint32 { - if m != nil { - return m.GlobalAdmin +func (x *LargeCommunity) GetGlobalAdmin() uint32 { + if x != nil { + return x.GlobalAdmin } return 0 } -func (m *LargeCommunity) GetLocalData1() uint32 { - if m != nil { - return m.LocalData1 +func (x *LargeCommunity) GetLocalData1() uint32 { + if x != nil { + return x.LocalData1 } return 0 } -func (m *LargeCommunity) GetLocalData2() uint32 { - if m != nil { - return m.LocalData2 +func (x *LargeCommunity) GetLocalData2() uint32 { + if x != nil { + return x.LocalData2 } return 0 } type LargeCommunitiesAttribute struct { - Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` } -func (m *LargeCommunitiesAttribute) Reset() { *m = LargeCommunitiesAttribute{} } -func (m *LargeCommunitiesAttribute) String() string { return proto.CompactTextString(m) } -func (*LargeCommunitiesAttribute) ProtoMessage() {} +func (x *LargeCommunitiesAttribute) Reset() { + *x = LargeCommunitiesAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LargeCommunitiesAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LargeCommunitiesAttribute) ProtoMessage() {} + +func (x *LargeCommunitiesAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[96] + 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 LargeCommunitiesAttribute.ProtoReflect.Descriptor instead. func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{96} + return file_attribute_proto_rawDescGZIP(), []int{96} } -func (m *LargeCommunitiesAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LargeCommunitiesAttribute.Unmarshal(m, b) -} -func (m *LargeCommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LargeCommunitiesAttribute.Marshal(b, m, deterministic) -} -func (m *LargeCommunitiesAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_LargeCommunitiesAttribute.Merge(m, src) -} -func (m *LargeCommunitiesAttribute) XXX_Size() int { - return xxx_messageInfo_LargeCommunitiesAttribute.Size(m) -} -func (m *LargeCommunitiesAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_LargeCommunitiesAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_LargeCommunitiesAttribute proto.InternalMessageInfo - -func (m *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity { - if m != nil { - return m.Communities +func (x *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity { + if x != nil { + return x.Communities } return nil } type LsNodeFlags struct { - Overload bool `protobuf:"varint,1,opt,name=overload,proto3" json:"overload,omitempty"` - Attached bool `protobuf:"varint,2,opt,name=attached,proto3" json:"attached,omitempty"` - External bool `protobuf:"varint,3,opt,name=external,proto3" json:"external,omitempty"` - Abr bool `protobuf:"varint,4,opt,name=abr,proto3" json:"abr,omitempty"` - Router bool `protobuf:"varint,5,opt,name=router,proto3" json:"router,omitempty"` - V6 bool `protobuf:"varint,6,opt,name=v6,proto3" json:"v6,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Overload bool `protobuf:"varint,1,opt,name=overload,proto3" json:"overload,omitempty"` + Attached bool `protobuf:"varint,2,opt,name=attached,proto3" json:"attached,omitempty"` + External bool `protobuf:"varint,3,opt,name=external,proto3" json:"external,omitempty"` + Abr bool `protobuf:"varint,4,opt,name=abr,proto3" json:"abr,omitempty"` + Router bool `protobuf:"varint,5,opt,name=router,proto3" json:"router,omitempty"` + V6 bool `protobuf:"varint,6,opt,name=v6,proto3" json:"v6,omitempty"` } -func (m *LsNodeFlags) Reset() { *m = LsNodeFlags{} } -func (m *LsNodeFlags) String() string { return proto.CompactTextString(m) } -func (*LsNodeFlags) ProtoMessage() {} +func (x *LsNodeFlags) Reset() { + *x = LsNodeFlags{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsNodeFlags) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsNodeFlags) ProtoMessage() {} + +func (x *LsNodeFlags) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[97] + 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 LsNodeFlags.ProtoReflect.Descriptor instead. func (*LsNodeFlags) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{97} + return file_attribute_proto_rawDescGZIP(), []int{97} } -func (m *LsNodeFlags) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsNodeFlags.Unmarshal(m, b) -} -func (m *LsNodeFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsNodeFlags.Marshal(b, m, deterministic) -} -func (m *LsNodeFlags) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsNodeFlags.Merge(m, src) -} -func (m *LsNodeFlags) XXX_Size() int { - return xxx_messageInfo_LsNodeFlags.Size(m) -} -func (m *LsNodeFlags) XXX_DiscardUnknown() { - xxx_messageInfo_LsNodeFlags.DiscardUnknown(m) -} - -var xxx_messageInfo_LsNodeFlags proto.InternalMessageInfo - -func (m *LsNodeFlags) GetOverload() bool { - if m != nil { - return m.Overload +func (x *LsNodeFlags) GetOverload() bool { + if x != nil { + return x.Overload } return false } -func (m *LsNodeFlags) GetAttached() bool { - if m != nil { - return m.Attached +func (x *LsNodeFlags) GetAttached() bool { + if x != nil { + return x.Attached } return false } -func (m *LsNodeFlags) GetExternal() bool { - if m != nil { - return m.External +func (x *LsNodeFlags) GetExternal() bool { + if x != nil { + return x.External } return false } -func (m *LsNodeFlags) GetAbr() bool { - if m != nil { - return m.Abr +func (x *LsNodeFlags) GetAbr() bool { + if x != nil { + return x.Abr } return false } -func (m *LsNodeFlags) GetRouter() bool { - if m != nil { - return m.Router +func (x *LsNodeFlags) GetRouter() bool { + if x != nil { + return x.Router } return false } -func (m *LsNodeFlags) GetV6() bool { - if m != nil { - return m.V6 +func (x *LsNodeFlags) GetV6() bool { + if x != nil { + return x.V6 } return false } type LsIGPFlags struct { - Down bool `protobuf:"varint,1,opt,name=down,proto3" json:"down,omitempty"` - NoUnicast bool `protobuf:"varint,2,opt,name=no_unicast,json=noUnicast,proto3" json:"no_unicast,omitempty"` - LocalAddress bool `protobuf:"varint,3,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` - PropagateNssa bool `protobuf:"varint,4,opt,name=propagate_nssa,json=propagateNssa,proto3" json:"propagate_nssa,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Down bool `protobuf:"varint,1,opt,name=down,proto3" json:"down,omitempty"` + NoUnicast bool `protobuf:"varint,2,opt,name=no_unicast,json=noUnicast,proto3" json:"no_unicast,omitempty"` + LocalAddress bool `protobuf:"varint,3,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` + PropagateNssa bool `protobuf:"varint,4,opt,name=propagate_nssa,json=propagateNssa,proto3" json:"propagate_nssa,omitempty"` } -func (m *LsIGPFlags) Reset() { *m = LsIGPFlags{} } -func (m *LsIGPFlags) String() string { return proto.CompactTextString(m) } -func (*LsIGPFlags) ProtoMessage() {} +func (x *LsIGPFlags) Reset() { + *x = LsIGPFlags{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsIGPFlags) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsIGPFlags) ProtoMessage() {} + +func (x *LsIGPFlags) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[98] + 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 LsIGPFlags.ProtoReflect.Descriptor instead. func (*LsIGPFlags) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{98} + return file_attribute_proto_rawDescGZIP(), []int{98} } -func (m *LsIGPFlags) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsIGPFlags.Unmarshal(m, b) -} -func (m *LsIGPFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsIGPFlags.Marshal(b, m, deterministic) -} -func (m *LsIGPFlags) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsIGPFlags.Merge(m, src) -} -func (m *LsIGPFlags) XXX_Size() int { - return xxx_messageInfo_LsIGPFlags.Size(m) -} -func (m *LsIGPFlags) XXX_DiscardUnknown() { - xxx_messageInfo_LsIGPFlags.DiscardUnknown(m) -} - -var xxx_messageInfo_LsIGPFlags proto.InternalMessageInfo - -func (m *LsIGPFlags) GetDown() bool { - if m != nil { - return m.Down +func (x *LsIGPFlags) GetDown() bool { + if x != nil { + return x.Down } return false } -func (m *LsIGPFlags) GetNoUnicast() bool { - if m != nil { - return m.NoUnicast +func (x *LsIGPFlags) GetNoUnicast() bool { + if x != nil { + return x.NoUnicast } return false } -func (m *LsIGPFlags) GetLocalAddress() bool { - if m != nil { - return m.LocalAddress +func (x *LsIGPFlags) GetLocalAddress() bool { + if x != nil { + return x.LocalAddress } return false } -func (m *LsIGPFlags) GetPropagateNssa() bool { - if m != nil { - return m.PropagateNssa +func (x *LsIGPFlags) GetPropagateNssa() bool { + if x != nil { + return x.PropagateNssa } return false } type LsSrRange struct { - Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` - End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` + End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` } -func (m *LsSrRange) Reset() { *m = LsSrRange{} } -func (m *LsSrRange) String() string { return proto.CompactTextString(m) } -func (*LsSrRange) ProtoMessage() {} +func (x *LsSrRange) Reset() { + *x = LsSrRange{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsSrRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsSrRange) ProtoMessage() {} + +func (x *LsSrRange) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[99] + 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 LsSrRange.ProtoReflect.Descriptor instead. func (*LsSrRange) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{99} + return file_attribute_proto_rawDescGZIP(), []int{99} } -func (m *LsSrRange) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsSrRange.Unmarshal(m, b) -} -func (m *LsSrRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsSrRange.Marshal(b, m, deterministic) -} -func (m *LsSrRange) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsSrRange.Merge(m, src) -} -func (m *LsSrRange) XXX_Size() int { - return xxx_messageInfo_LsSrRange.Size(m) -} -func (m *LsSrRange) XXX_DiscardUnknown() { - xxx_messageInfo_LsSrRange.DiscardUnknown(m) -} - -var xxx_messageInfo_LsSrRange proto.InternalMessageInfo - -func (m *LsSrRange) GetBegin() uint32 { - if m != nil { - return m.Begin +func (x *LsSrRange) GetBegin() uint32 { + if x != nil { + return x.Begin } return 0 } -func (m *LsSrRange) GetEnd() uint32 { - if m != nil { - return m.End +func (x *LsSrRange) GetEnd() uint32 { + if x != nil { + return x.End } return 0 } type LsSrCapabilities struct { - Ipv4Supported bool `protobuf:"varint,1,opt,name=ipv4_supported,json=ipv4Supported,proto3" json:"ipv4_supported,omitempty"` - Ipv6Supported bool `protobuf:"varint,2,opt,name=ipv6_supported,json=ipv6Supported,proto3" json:"ipv6_supported,omitempty"` - Ranges []*LsSrRange `protobuf:"bytes,3,rep,name=ranges,proto3" json:"ranges,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ipv4Supported bool `protobuf:"varint,1,opt,name=ipv4_supported,json=ipv4Supported,proto3" json:"ipv4_supported,omitempty"` + Ipv6Supported bool `protobuf:"varint,2,opt,name=ipv6_supported,json=ipv6Supported,proto3" json:"ipv6_supported,omitempty"` + Ranges []*LsSrRange `protobuf:"bytes,3,rep,name=ranges,proto3" json:"ranges,omitempty"` } -func (m *LsSrCapabilities) Reset() { *m = LsSrCapabilities{} } -func (m *LsSrCapabilities) String() string { return proto.CompactTextString(m) } -func (*LsSrCapabilities) ProtoMessage() {} +func (x *LsSrCapabilities) Reset() { + *x = LsSrCapabilities{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsSrCapabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsSrCapabilities) ProtoMessage() {} + +func (x *LsSrCapabilities) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[100] + 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 LsSrCapabilities.ProtoReflect.Descriptor instead. func (*LsSrCapabilities) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{100} + return file_attribute_proto_rawDescGZIP(), []int{100} } -func (m *LsSrCapabilities) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsSrCapabilities.Unmarshal(m, b) -} -func (m *LsSrCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsSrCapabilities.Marshal(b, m, deterministic) -} -func (m *LsSrCapabilities) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsSrCapabilities.Merge(m, src) -} -func (m *LsSrCapabilities) XXX_Size() int { - return xxx_messageInfo_LsSrCapabilities.Size(m) -} -func (m *LsSrCapabilities) XXX_DiscardUnknown() { - xxx_messageInfo_LsSrCapabilities.DiscardUnknown(m) -} - -var xxx_messageInfo_LsSrCapabilities proto.InternalMessageInfo - -func (m *LsSrCapabilities) GetIpv4Supported() bool { - if m != nil { - return m.Ipv4Supported +func (x *LsSrCapabilities) GetIpv4Supported() bool { + if x != nil { + return x.Ipv4Supported } return false } -func (m *LsSrCapabilities) GetIpv6Supported() bool { - if m != nil { - return m.Ipv6Supported +func (x *LsSrCapabilities) GetIpv6Supported() bool { + if x != nil { + return x.Ipv6Supported } return false } -func (m *LsSrCapabilities) GetRanges() []*LsSrRange { - if m != nil { - return m.Ranges +func (x *LsSrCapabilities) GetRanges() []*LsSrRange { + if x != nil { + return x.Ranges } return nil } type LsSrLocalBlock struct { - Ranges []*LsSrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ranges []*LsSrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"` } -func (m *LsSrLocalBlock) Reset() { *m = LsSrLocalBlock{} } -func (m *LsSrLocalBlock) String() string { return proto.CompactTextString(m) } -func (*LsSrLocalBlock) ProtoMessage() {} +func (x *LsSrLocalBlock) Reset() { + *x = LsSrLocalBlock{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsSrLocalBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsSrLocalBlock) ProtoMessage() {} + +func (x *LsSrLocalBlock) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[101] + 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 LsSrLocalBlock.ProtoReflect.Descriptor instead. func (*LsSrLocalBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{101} + return file_attribute_proto_rawDescGZIP(), []int{101} } -func (m *LsSrLocalBlock) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsSrLocalBlock.Unmarshal(m, b) -} -func (m *LsSrLocalBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsSrLocalBlock.Marshal(b, m, deterministic) -} -func (m *LsSrLocalBlock) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsSrLocalBlock.Merge(m, src) -} -func (m *LsSrLocalBlock) XXX_Size() int { - return xxx_messageInfo_LsSrLocalBlock.Size(m) -} -func (m *LsSrLocalBlock) XXX_DiscardUnknown() { - xxx_messageInfo_LsSrLocalBlock.DiscardUnknown(m) -} - -var xxx_messageInfo_LsSrLocalBlock proto.InternalMessageInfo - -func (m *LsSrLocalBlock) GetRanges() []*LsSrRange { - if m != nil { - return m.Ranges +func (x *LsSrLocalBlock) GetRanges() []*LsSrRange { + if x != nil { + return x.Ranges } return nil } type LsAttributeNode struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Flags *LsNodeFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` - LocalRouterId string `protobuf:"bytes,3,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"` - LocalRouterIdV6 string `protobuf:"bytes,4,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"` - IsisArea []byte `protobuf:"bytes,5,opt,name=isis_area,json=isisArea,proto3" json:"isis_area,omitempty"` - Opaque []byte `protobuf:"bytes,6,opt,name=opaque,proto3" json:"opaque,omitempty"` - SrCapabilities *LsSrCapabilities `protobuf:"bytes,7,opt,name=sr_capabilities,json=srCapabilities,proto3" json:"sr_capabilities,omitempty"` - SrAlgorithms []byte `protobuf:"bytes,8,opt,name=sr_algorithms,json=srAlgorithms,proto3" json:"sr_algorithms,omitempty"` - SrLocalBlock *LsSrLocalBlock `protobuf:"bytes,9,opt,name=sr_local_block,json=srLocalBlock,proto3" json:"sr_local_block,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Flags *LsNodeFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` + LocalRouterId string `protobuf:"bytes,3,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"` + LocalRouterIdV6 string `protobuf:"bytes,4,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"` + IsisArea []byte `protobuf:"bytes,5,opt,name=isis_area,json=isisArea,proto3" json:"isis_area,omitempty"` + Opaque []byte `protobuf:"bytes,6,opt,name=opaque,proto3" json:"opaque,omitempty"` + SrCapabilities *LsSrCapabilities `protobuf:"bytes,7,opt,name=sr_capabilities,json=srCapabilities,proto3" json:"sr_capabilities,omitempty"` + SrAlgorithms []byte `protobuf:"bytes,8,opt,name=sr_algorithms,json=srAlgorithms,proto3" json:"sr_algorithms,omitempty"` + SrLocalBlock *LsSrLocalBlock `protobuf:"bytes,9,opt,name=sr_local_block,json=srLocalBlock,proto3" json:"sr_local_block,omitempty"` } -func (m *LsAttributeNode) Reset() { *m = LsAttributeNode{} } -func (m *LsAttributeNode) String() string { return proto.CompactTextString(m) } -func (*LsAttributeNode) ProtoMessage() {} +func (x *LsAttributeNode) Reset() { + *x = LsAttributeNode{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsAttributeNode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsAttributeNode) ProtoMessage() {} + +func (x *LsAttributeNode) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[102] + 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 LsAttributeNode.ProtoReflect.Descriptor instead. func (*LsAttributeNode) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{102} + return file_attribute_proto_rawDescGZIP(), []int{102} } -func (m *LsAttributeNode) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsAttributeNode.Unmarshal(m, b) -} -func (m *LsAttributeNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsAttributeNode.Marshal(b, m, deterministic) -} -func (m *LsAttributeNode) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsAttributeNode.Merge(m, src) -} -func (m *LsAttributeNode) XXX_Size() int { - return xxx_messageInfo_LsAttributeNode.Size(m) -} -func (m *LsAttributeNode) XXX_DiscardUnknown() { - xxx_messageInfo_LsAttributeNode.DiscardUnknown(m) -} - -var xxx_messageInfo_LsAttributeNode proto.InternalMessageInfo - -func (m *LsAttributeNode) GetName() string { - if m != nil { - return m.Name +func (x *LsAttributeNode) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *LsAttributeNode) GetFlags() *LsNodeFlags { - if m != nil { - return m.Flags +func (x *LsAttributeNode) GetFlags() *LsNodeFlags { + if x != nil { + return x.Flags } return nil } -func (m *LsAttributeNode) GetLocalRouterId() string { - if m != nil { - return m.LocalRouterId +func (x *LsAttributeNode) GetLocalRouterId() string { + if x != nil { + return x.LocalRouterId } return "" } -func (m *LsAttributeNode) GetLocalRouterIdV6() string { - if m != nil { - return m.LocalRouterIdV6 +func (x *LsAttributeNode) GetLocalRouterIdV6() string { + if x != nil { + return x.LocalRouterIdV6 } return "" } -func (m *LsAttributeNode) GetIsisArea() []byte { - if m != nil { - return m.IsisArea +func (x *LsAttributeNode) GetIsisArea() []byte { + if x != nil { + return x.IsisArea } return nil } -func (m *LsAttributeNode) GetOpaque() []byte { - if m != nil { - return m.Opaque +func (x *LsAttributeNode) GetOpaque() []byte { + if x != nil { + return x.Opaque } return nil } -func (m *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities { - if m != nil { - return m.SrCapabilities +func (x *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities { + if x != nil { + return x.SrCapabilities } return nil } -func (m *LsAttributeNode) GetSrAlgorithms() []byte { - if m != nil { - return m.SrAlgorithms +func (x *LsAttributeNode) GetSrAlgorithms() []byte { + if x != nil { + return x.SrAlgorithms } return nil } -func (m *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock { - if m != nil { - return m.SrLocalBlock +func (x *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock { + if x != nil { + return x.SrLocalBlock } return nil } type LsAttributeLink struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - LocalRouterId string `protobuf:"bytes,2,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"` - LocalRouterIdV6 string `protobuf:"bytes,3,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"` - RemoteRouterId string `protobuf:"bytes,4,opt,name=remote_router_id,json=remoteRouterId,proto3" json:"remote_router_id,omitempty"` - RemoteRouterIdV6 string `protobuf:"bytes,5,opt,name=remote_router_id_v6,json=remoteRouterIdV6,proto3" json:"remote_router_id_v6,omitempty"` - AdminGroup uint32 `protobuf:"varint,6,opt,name=admin_group,json=adminGroup,proto3" json:"admin_group,omitempty"` - DefaultTeMetric uint32 `protobuf:"varint,7,opt,name=default_te_metric,json=defaultTeMetric,proto3" json:"default_te_metric,omitempty"` - IgpMetric uint32 `protobuf:"varint,8,opt,name=igp_metric,json=igpMetric,proto3" json:"igp_metric,omitempty"` - Opaque []byte `protobuf:"bytes,9,opt,name=opaque,proto3" json:"opaque,omitempty"` - Bandwidth float32 `protobuf:"fixed32,10,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` - ReservableBandwidth float32 `protobuf:"fixed32,11,opt,name=reservable_bandwidth,json=reservableBandwidth,proto3" json:"reservable_bandwidth,omitempty"` - UnreservedBandwidth []float32 `protobuf:"fixed32,12,rep,packed,name=unreserved_bandwidth,json=unreservedBandwidth,proto3" json:"unreserved_bandwidth,omitempty"` - SrAdjacencySid uint32 `protobuf:"varint,13,opt,name=sr_adjacency_sid,json=srAdjacencySid,proto3" json:"sr_adjacency_sid,omitempty"` - Srlgs []uint32 `protobuf:"varint,14,rep,packed,name=srlgs,proto3" json:"srlgs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + LocalRouterId string `protobuf:"bytes,2,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"` + LocalRouterIdV6 string `protobuf:"bytes,3,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"` + RemoteRouterId string `protobuf:"bytes,4,opt,name=remote_router_id,json=remoteRouterId,proto3" json:"remote_router_id,omitempty"` + RemoteRouterIdV6 string `protobuf:"bytes,5,opt,name=remote_router_id_v6,json=remoteRouterIdV6,proto3" json:"remote_router_id_v6,omitempty"` + AdminGroup uint32 `protobuf:"varint,6,opt,name=admin_group,json=adminGroup,proto3" json:"admin_group,omitempty"` + DefaultTeMetric uint32 `protobuf:"varint,7,opt,name=default_te_metric,json=defaultTeMetric,proto3" json:"default_te_metric,omitempty"` + IgpMetric uint32 `protobuf:"varint,8,opt,name=igp_metric,json=igpMetric,proto3" json:"igp_metric,omitempty"` + Opaque []byte `protobuf:"bytes,9,opt,name=opaque,proto3" json:"opaque,omitempty"` + Bandwidth float32 `protobuf:"fixed32,10,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` + ReservableBandwidth float32 `protobuf:"fixed32,11,opt,name=reservable_bandwidth,json=reservableBandwidth,proto3" json:"reservable_bandwidth,omitempty"` + UnreservedBandwidth []float32 `protobuf:"fixed32,12,rep,packed,name=unreserved_bandwidth,json=unreservedBandwidth,proto3" json:"unreserved_bandwidth,omitempty"` + SrAdjacencySid uint32 `protobuf:"varint,13,opt,name=sr_adjacency_sid,json=srAdjacencySid,proto3" json:"sr_adjacency_sid,omitempty"` + Srlgs []uint32 `protobuf:"varint,14,rep,packed,name=srlgs,proto3" json:"srlgs,omitempty"` } -func (m *LsAttributeLink) Reset() { *m = LsAttributeLink{} } -func (m *LsAttributeLink) String() string { return proto.CompactTextString(m) } -func (*LsAttributeLink) ProtoMessage() {} +func (x *LsAttributeLink) Reset() { + *x = LsAttributeLink{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsAttributeLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsAttributeLink) ProtoMessage() {} + +func (x *LsAttributeLink) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[103] + 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 LsAttributeLink.ProtoReflect.Descriptor instead. func (*LsAttributeLink) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{103} + return file_attribute_proto_rawDescGZIP(), []int{103} } -func (m *LsAttributeLink) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsAttributeLink.Unmarshal(m, b) -} -func (m *LsAttributeLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsAttributeLink.Marshal(b, m, deterministic) -} -func (m *LsAttributeLink) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsAttributeLink.Merge(m, src) -} -func (m *LsAttributeLink) XXX_Size() int { - return xxx_messageInfo_LsAttributeLink.Size(m) -} -func (m *LsAttributeLink) XXX_DiscardUnknown() { - xxx_messageInfo_LsAttributeLink.DiscardUnknown(m) -} - -var xxx_messageInfo_LsAttributeLink proto.InternalMessageInfo - -func (m *LsAttributeLink) GetName() string { - if m != nil { - return m.Name +func (x *LsAttributeLink) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *LsAttributeLink) GetLocalRouterId() string { - if m != nil { - return m.LocalRouterId +func (x *LsAttributeLink) GetLocalRouterId() string { + if x != nil { + return x.LocalRouterId } return "" } -func (m *LsAttributeLink) GetLocalRouterIdV6() string { - if m != nil { - return m.LocalRouterIdV6 +func (x *LsAttributeLink) GetLocalRouterIdV6() string { + if x != nil { + return x.LocalRouterIdV6 } return "" } -func (m *LsAttributeLink) GetRemoteRouterId() string { - if m != nil { - return m.RemoteRouterId +func (x *LsAttributeLink) GetRemoteRouterId() string { + if x != nil { + return x.RemoteRouterId } return "" } -func (m *LsAttributeLink) GetRemoteRouterIdV6() string { - if m != nil { - return m.RemoteRouterIdV6 +func (x *LsAttributeLink) GetRemoteRouterIdV6() string { + if x != nil { + return x.RemoteRouterIdV6 } return "" } -func (m *LsAttributeLink) GetAdminGroup() uint32 { - if m != nil { - return m.AdminGroup +func (x *LsAttributeLink) GetAdminGroup() uint32 { + if x != nil { + return x.AdminGroup } return 0 } -func (m *LsAttributeLink) GetDefaultTeMetric() uint32 { - if m != nil { - return m.DefaultTeMetric +func (x *LsAttributeLink) GetDefaultTeMetric() uint32 { + if x != nil { + return x.DefaultTeMetric } return 0 } -func (m *LsAttributeLink) GetIgpMetric() uint32 { - if m != nil { - return m.IgpMetric +func (x *LsAttributeLink) GetIgpMetric() uint32 { + if x != nil { + return x.IgpMetric } return 0 } -func (m *LsAttributeLink) GetOpaque() []byte { - if m != nil { - return m.Opaque +func (x *LsAttributeLink) GetOpaque() []byte { + if x != nil { + return x.Opaque } return nil } -func (m *LsAttributeLink) GetBandwidth() float32 { - if m != nil { - return m.Bandwidth +func (x *LsAttributeLink) GetBandwidth() float32 { + if x != nil { + return x.Bandwidth } return 0 } -func (m *LsAttributeLink) GetReservableBandwidth() float32 { - if m != nil { - return m.ReservableBandwidth +func (x *LsAttributeLink) GetReservableBandwidth() float32 { + if x != nil { + return x.ReservableBandwidth } return 0 } -func (m *LsAttributeLink) GetUnreservedBandwidth() []float32 { - if m != nil { - return m.UnreservedBandwidth +func (x *LsAttributeLink) GetUnreservedBandwidth() []float32 { + if x != nil { + return x.UnreservedBandwidth } return nil } -func (m *LsAttributeLink) GetSrAdjacencySid() uint32 { - if m != nil { - return m.SrAdjacencySid +func (x *LsAttributeLink) GetSrAdjacencySid() uint32 { + if x != nil { + return x.SrAdjacencySid } return 0 } -func (m *LsAttributeLink) GetSrlgs() []uint32 { - if m != nil { - return m.Srlgs +func (x *LsAttributeLink) GetSrlgs() []uint32 { + if x != nil { + return x.Srlgs } return nil } type LsAttributePrefix struct { - IgpFlags *LsIGPFlags `protobuf:"bytes,1,opt,name=igp_flags,json=igpFlags,proto3" json:"igp_flags,omitempty"` - Opaque []byte `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` - SrPrefixSid uint32 `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid,proto3" json:"sr_prefix_sid,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IgpFlags *LsIGPFlags `protobuf:"bytes,1,opt,name=igp_flags,json=igpFlags,proto3" json:"igp_flags,omitempty"` + Opaque []byte `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` + SrPrefixSid uint32 `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid,proto3" json:"sr_prefix_sid,omitempty"` } -func (m *LsAttributePrefix) Reset() { *m = LsAttributePrefix{} } -func (m *LsAttributePrefix) String() string { return proto.CompactTextString(m) } -func (*LsAttributePrefix) ProtoMessage() {} +func (x *LsAttributePrefix) Reset() { + *x = LsAttributePrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsAttributePrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsAttributePrefix) ProtoMessage() {} + +func (x *LsAttributePrefix) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[104] + 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 LsAttributePrefix.ProtoReflect.Descriptor instead. func (*LsAttributePrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{104} + return file_attribute_proto_rawDescGZIP(), []int{104} } -func (m *LsAttributePrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsAttributePrefix.Unmarshal(m, b) -} -func (m *LsAttributePrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsAttributePrefix.Marshal(b, m, deterministic) -} -func (m *LsAttributePrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsAttributePrefix.Merge(m, src) -} -func (m *LsAttributePrefix) XXX_Size() int { - return xxx_messageInfo_LsAttributePrefix.Size(m) -} -func (m *LsAttributePrefix) XXX_DiscardUnknown() { - xxx_messageInfo_LsAttributePrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_LsAttributePrefix proto.InternalMessageInfo - -func (m *LsAttributePrefix) GetIgpFlags() *LsIGPFlags { - if m != nil { - return m.IgpFlags +func (x *LsAttributePrefix) GetIgpFlags() *LsIGPFlags { + if x != nil { + return x.IgpFlags } return nil } -func (m *LsAttributePrefix) GetOpaque() []byte { - if m != nil { - return m.Opaque +func (x *LsAttributePrefix) GetOpaque() []byte { + if x != nil { + return x.Opaque } return nil } -func (m *LsAttributePrefix) GetSrPrefixSid() uint32 { - if m != nil { - return m.SrPrefixSid +func (x *LsAttributePrefix) GetSrPrefixSid() uint32 { + if x != nil { + return x.SrPrefixSid } return 0 } type LsAttribute struct { - Node *LsAttributeNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` - Link *LsAttributeLink `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` - Prefix *LsAttributePrefix `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Node *LsAttributeNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + Link *LsAttributeLink `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` + Prefix *LsAttributePrefix `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` } -func (m *LsAttribute) Reset() { *m = LsAttribute{} } -func (m *LsAttribute) String() string { return proto.CompactTextString(m) } -func (*LsAttribute) ProtoMessage() {} +func (x *LsAttribute) Reset() { + *x = LsAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LsAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LsAttribute) ProtoMessage() {} + +func (x *LsAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[105] + 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 LsAttribute.ProtoReflect.Descriptor instead. func (*LsAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{105} + return file_attribute_proto_rawDescGZIP(), []int{105} } -func (m *LsAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LsAttribute.Unmarshal(m, b) -} -func (m *LsAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LsAttribute.Marshal(b, m, deterministic) -} -func (m *LsAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_LsAttribute.Merge(m, src) -} -func (m *LsAttribute) XXX_Size() int { - return xxx_messageInfo_LsAttribute.Size(m) -} -func (m *LsAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_LsAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_LsAttribute proto.InternalMessageInfo - -func (m *LsAttribute) GetNode() *LsAttributeNode { - if m != nil { - return m.Node +func (x *LsAttribute) GetNode() *LsAttributeNode { + if x != nil { + return x.Node } return nil } -func (m *LsAttribute) GetLink() *LsAttributeLink { - if m != nil { - return m.Link +func (x *LsAttribute) GetLink() *LsAttributeLink { + if x != nil { + return x.Link } return nil } -func (m *LsAttribute) GetPrefix() *LsAttributePrefix { - if m != nil { - return m.Prefix +func (x *LsAttribute) GetPrefix() *LsAttributePrefix { + if x != nil { + return x.Prefix } return nil } type UnknownAttribute struct { - Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` - Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` - Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` + Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } -func (m *UnknownAttribute) Reset() { *m = UnknownAttribute{} } -func (m *UnknownAttribute) String() string { return proto.CompactTextString(m) } -func (*UnknownAttribute) ProtoMessage() {} +func (x *UnknownAttribute) Reset() { + *x = UnknownAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnknownAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownAttribute) ProtoMessage() {} + +func (x *UnknownAttribute) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[106] + 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 UnknownAttribute.ProtoReflect.Descriptor instead. func (*UnknownAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{106} + return file_attribute_proto_rawDescGZIP(), []int{106} } -func (m *UnknownAttribute) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UnknownAttribute.Unmarshal(m, b) -} -func (m *UnknownAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UnknownAttribute.Marshal(b, m, deterministic) -} -func (m *UnknownAttribute) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnknownAttribute.Merge(m, src) -} -func (m *UnknownAttribute) XXX_Size() int { - return xxx_messageInfo_UnknownAttribute.Size(m) -} -func (m *UnknownAttribute) XXX_DiscardUnknown() { - xxx_messageInfo_UnknownAttribute.DiscardUnknown(m) -} - -var xxx_messageInfo_UnknownAttribute proto.InternalMessageInfo - -func (m *UnknownAttribute) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *UnknownAttribute) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *UnknownAttribute) GetType() uint32 { - if m != nil { - return m.Type +func (x *UnknownAttribute) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -func (m *UnknownAttribute) GetValue() []byte { - if m != nil { - return m.Value +func (x *UnknownAttribute) GetValue() []byte { + if x != nil { + return x.Value } return nil } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1 type SRv6StructureSubSubTLV struct { - LocalBlockLength uint32 `protobuf:"varint,1,opt,name=local_block_length,json=localBlockLength,proto3" json:"local_block_length,omitempty"` - LocalNodeLength uint32 `protobuf:"varint,2,opt,name=local_node_length,json=localNodeLength,proto3" json:"local_node_length,omitempty"` - FunctionLength uint32 `protobuf:"varint,3,opt,name=function_length,json=functionLength,proto3" json:"function_length,omitempty"` - ArgumentLength uint32 `protobuf:"varint,4,opt,name=argument_length,json=argumentLength,proto3" json:"argument_length,omitempty"` - TranspositionLength uint32 `protobuf:"varint,5,opt,name=transposition_length,json=transpositionLength,proto3" json:"transposition_length,omitempty"` - TranspositionOffset uint32 `protobuf:"varint,6,opt,name=transposition_offset,json=transpositionOffset,proto3" json:"transposition_offset,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalBlockLength uint32 `protobuf:"varint,1,opt,name=local_block_length,json=localBlockLength,proto3" json:"local_block_length,omitempty"` + LocalNodeLength uint32 `protobuf:"varint,2,opt,name=local_node_length,json=localNodeLength,proto3" json:"local_node_length,omitempty"` + FunctionLength uint32 `protobuf:"varint,3,opt,name=function_length,json=functionLength,proto3" json:"function_length,omitempty"` + ArgumentLength uint32 `protobuf:"varint,4,opt,name=argument_length,json=argumentLength,proto3" json:"argument_length,omitempty"` + TranspositionLength uint32 `protobuf:"varint,5,opt,name=transposition_length,json=transpositionLength,proto3" json:"transposition_length,omitempty"` + TranspositionOffset uint32 `protobuf:"varint,6,opt,name=transposition_offset,json=transpositionOffset,proto3" json:"transposition_offset,omitempty"` } -func (m *SRv6StructureSubSubTLV) Reset() { *m = SRv6StructureSubSubTLV{} } -func (m *SRv6StructureSubSubTLV) String() string { return proto.CompactTextString(m) } -func (*SRv6StructureSubSubTLV) ProtoMessage() {} +func (x *SRv6StructureSubSubTLV) Reset() { + *x = SRv6StructureSubSubTLV{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6StructureSubSubTLV) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6StructureSubSubTLV) ProtoMessage() {} + +func (x *SRv6StructureSubSubTLV) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[107] + 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 SRv6StructureSubSubTLV.ProtoReflect.Descriptor instead. func (*SRv6StructureSubSubTLV) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{107} + return file_attribute_proto_rawDescGZIP(), []int{107} } -func (m *SRv6StructureSubSubTLV) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6StructureSubSubTLV.Unmarshal(m, b) -} -func (m *SRv6StructureSubSubTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6StructureSubSubTLV.Marshal(b, m, deterministic) -} -func (m *SRv6StructureSubSubTLV) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6StructureSubSubTLV.Merge(m, src) -} -func (m *SRv6StructureSubSubTLV) XXX_Size() int { - return xxx_messageInfo_SRv6StructureSubSubTLV.Size(m) -} -func (m *SRv6StructureSubSubTLV) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6StructureSubSubTLV.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6StructureSubSubTLV proto.InternalMessageInfo - -func (m *SRv6StructureSubSubTLV) GetLocalBlockLength() uint32 { - if m != nil { - return m.LocalBlockLength +func (x *SRv6StructureSubSubTLV) GetLocalBlockLength() uint32 { + if x != nil { + return x.LocalBlockLength } return 0 } -func (m *SRv6StructureSubSubTLV) GetLocalNodeLength() uint32 { - if m != nil { - return m.LocalNodeLength +func (x *SRv6StructureSubSubTLV) GetLocalNodeLength() uint32 { + if x != nil { + return x.LocalNodeLength } return 0 } -func (m *SRv6StructureSubSubTLV) GetFunctionLength() uint32 { - if m != nil { - return m.FunctionLength +func (x *SRv6StructureSubSubTLV) GetFunctionLength() uint32 { + if x != nil { + return x.FunctionLength } return 0 } -func (m *SRv6StructureSubSubTLV) GetArgumentLength() uint32 { - if m != nil { - return m.ArgumentLength +func (x *SRv6StructureSubSubTLV) GetArgumentLength() uint32 { + if x != nil { + return x.ArgumentLength } return 0 } -func (m *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 { - if m != nil { - return m.TranspositionLength +func (x *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 { + if x != nil { + return x.TranspositionLength } return 0 } -func (m *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 { - if m != nil { - return m.TranspositionOffset +func (x *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 { + if x != nil { + return x.TranspositionOffset } return 0 } type SRv6SIDFlags struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Placeholder for future sid flags - Flag_1 bool `protobuf:"varint,1,opt,name=flag_1,json=flag1,proto3" json:"flag_1,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Flag_1 bool `protobuf:"varint,1,opt,name=flag_1,json=flag1,proto3" json:"flag_1,omitempty"` } -func (m *SRv6SIDFlags) Reset() { *m = SRv6SIDFlags{} } -func (m *SRv6SIDFlags) String() string { return proto.CompactTextString(m) } -func (*SRv6SIDFlags) ProtoMessage() {} +func (x *SRv6SIDFlags) Reset() { + *x = SRv6SIDFlags{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6SIDFlags) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6SIDFlags) ProtoMessage() {} + +func (x *SRv6SIDFlags) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[108] + 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 SRv6SIDFlags.ProtoReflect.Descriptor instead. func (*SRv6SIDFlags) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{108} + return file_attribute_proto_rawDescGZIP(), []int{108} } -func (m *SRv6SIDFlags) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6SIDFlags.Unmarshal(m, b) -} -func (m *SRv6SIDFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6SIDFlags.Marshal(b, m, deterministic) -} -func (m *SRv6SIDFlags) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6SIDFlags.Merge(m, src) -} -func (m *SRv6SIDFlags) XXX_Size() int { - return xxx_messageInfo_SRv6SIDFlags.Size(m) -} -func (m *SRv6SIDFlags) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6SIDFlags.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6SIDFlags proto.InternalMessageInfo - -func (m *SRv6SIDFlags) GetFlag_1() bool { - if m != nil { - return m.Flag_1 +func (x *SRv6SIDFlags) GetFlag_1() bool { + if x != nil { + return x.Flag_1 } return false } type SRv6TLV struct { - Tlv []*any.Any `protobuf:"bytes,1,rep,name=tlv,proto3" json:"tlv,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tlv []*anypb.Any `protobuf:"bytes,1,rep,name=tlv,proto3" json:"tlv,omitempty"` } -func (m *SRv6TLV) Reset() { *m = SRv6TLV{} } -func (m *SRv6TLV) String() string { return proto.CompactTextString(m) } -func (*SRv6TLV) ProtoMessage() {} +func (x *SRv6TLV) Reset() { + *x = SRv6TLV{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6TLV) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6TLV) ProtoMessage() {} + +func (x *SRv6TLV) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[109] + 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 SRv6TLV.ProtoReflect.Descriptor instead. func (*SRv6TLV) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{109} + return file_attribute_proto_rawDescGZIP(), []int{109} } -func (m *SRv6TLV) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6TLV.Unmarshal(m, b) -} -func (m *SRv6TLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6TLV.Marshal(b, m, deterministic) -} -func (m *SRv6TLV) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6TLV.Merge(m, src) -} -func (m *SRv6TLV) XXX_Size() int { - return xxx_messageInfo_SRv6TLV.Size(m) -} -func (m *SRv6TLV) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6TLV.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6TLV proto.InternalMessageInfo - -func (m *SRv6TLV) GetTlv() []*any.Any { - if m != nil { - return m.Tlv +func (x *SRv6TLV) GetTlv() []*anypb.Any { + if x != nil { + return x.Tlv } return nil } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1 type SRv6InformationSubTLV struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Sid []byte `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` Flags *SRv6SIDFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` EndpointBehavior uint32 `protobuf:"varint,3,opt,name=endpoint_behavior,json=endpointBehavior,proto3" json:"endpoint_behavior,omitempty"` // SRv6TLV is one of: // - SRv6StructureSubSubTLV - SubSubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs,proto3" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + SubSubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs,proto3" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *SRv6InformationSubTLV) Reset() { *m = SRv6InformationSubTLV{} } -func (m *SRv6InformationSubTLV) String() string { return proto.CompactTextString(m) } -func (*SRv6InformationSubTLV) ProtoMessage() {} +func (x *SRv6InformationSubTLV) Reset() { + *x = SRv6InformationSubTLV{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6InformationSubTLV) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6InformationSubTLV) ProtoMessage() {} + +func (x *SRv6InformationSubTLV) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[110] + 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 SRv6InformationSubTLV.ProtoReflect.Descriptor instead. func (*SRv6InformationSubTLV) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{110} + return file_attribute_proto_rawDescGZIP(), []int{110} } -func (m *SRv6InformationSubTLV) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6InformationSubTLV.Unmarshal(m, b) -} -func (m *SRv6InformationSubTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6InformationSubTLV.Marshal(b, m, deterministic) -} -func (m *SRv6InformationSubTLV) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6InformationSubTLV.Merge(m, src) -} -func (m *SRv6InformationSubTLV) XXX_Size() int { - return xxx_messageInfo_SRv6InformationSubTLV.Size(m) -} -func (m *SRv6InformationSubTLV) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6InformationSubTLV.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6InformationSubTLV proto.InternalMessageInfo - -func (m *SRv6InformationSubTLV) GetSid() []byte { - if m != nil { - return m.Sid +func (x *SRv6InformationSubTLV) GetSid() []byte { + if x != nil { + return x.Sid } return nil } -func (m *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags { - if m != nil { - return m.Flags +func (x *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags { + if x != nil { + return x.Flags } return nil } -func (m *SRv6InformationSubTLV) GetEndpointBehavior() uint32 { - if m != nil { - return m.EndpointBehavior +func (x *SRv6InformationSubTLV) GetEndpointBehavior() uint32 { + if x != nil { + return x.EndpointBehavior } return 0 } -func (m *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6TLV { - if m != nil { - return m.SubSubTlvs +func (x *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6TLV { + if x != nil { + return x.SubSubTlvs } return nil } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2 type SRv6L3ServiceTLV struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // SRv6TLV is one of: // - SRv6InformationSubTLV - SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (m *SRv6L3ServiceTLV) Reset() { *m = SRv6L3ServiceTLV{} } -func (m *SRv6L3ServiceTLV) String() string { return proto.CompactTextString(m) } -func (*SRv6L3ServiceTLV) ProtoMessage() {} +func (x *SRv6L3ServiceTLV) Reset() { + *x = SRv6L3ServiceTLV{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SRv6L3ServiceTLV) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SRv6L3ServiceTLV) ProtoMessage() {} + +func (x *SRv6L3ServiceTLV) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[111] + 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 SRv6L3ServiceTLV.ProtoReflect.Descriptor instead. func (*SRv6L3ServiceTLV) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{111} + return file_attribute_proto_rawDescGZIP(), []int{111} } -func (m *SRv6L3ServiceTLV) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SRv6L3ServiceTLV.Unmarshal(m, b) -} -func (m *SRv6L3ServiceTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SRv6L3ServiceTLV.Marshal(b, m, deterministic) -} -func (m *SRv6L3ServiceTLV) XXX_Merge(src proto.Message) { - xxx_messageInfo_SRv6L3ServiceTLV.Merge(m, src) -} -func (m *SRv6L3ServiceTLV) XXX_Size() int { - return xxx_messageInfo_SRv6L3ServiceTLV.Size(m) -} -func (m *SRv6L3ServiceTLV) XXX_DiscardUnknown() { - xxx_messageInfo_SRv6L3ServiceTLV.DiscardUnknown(m) -} - -var xxx_messageInfo_SRv6L3ServiceTLV proto.InternalMessageInfo - -func (m *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV { - if m != nil { - return m.SubTlvs +func (x *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV { + if x != nil { + return x.SubTlvs } return nil } // https://tools.ietf.org/html/rfc8669 type PrefixSID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // tlv is one of: // - IndexLabelTLV Type 1 (not yet implemented) // - OriginatorSRGBTLV Type 3 (not yet implemented) // - SRv6L3ServiceTLV Type 5 // - SRv6L2ServiceTLV Type 6 (not yet implemented) - Tlvs []*any.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Tlvs []*anypb.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` } -func (m *PrefixSID) Reset() { *m = PrefixSID{} } -func (m *PrefixSID) String() string { return proto.CompactTextString(m) } -func (*PrefixSID) ProtoMessage() {} +func (x *PrefixSID) Reset() { + *x = PrefixSID{} + if protoimpl.UnsafeEnabled { + mi := &file_attribute_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixSID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixSID) ProtoMessage() {} + +func (x *PrefixSID) ProtoReflect() protoreflect.Message { + mi := &file_attribute_proto_msgTypes[112] + 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 PrefixSID.ProtoReflect.Descriptor instead. func (*PrefixSID) Descriptor() ([]byte, []int) { - return fileDescriptor_64cfbe2f04478930, []int{112} + return file_attribute_proto_rawDescGZIP(), []int{112} } -func (m *PrefixSID) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PrefixSID.Unmarshal(m, b) -} -func (m *PrefixSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PrefixSID.Marshal(b, m, deterministic) -} -func (m *PrefixSID) XXX_Merge(src proto.Message) { - xxx_messageInfo_PrefixSID.Merge(m, src) -} -func (m *PrefixSID) XXX_Size() int { - return xxx_messageInfo_PrefixSID.Size(m) -} -func (m *PrefixSID) XXX_DiscardUnknown() { - xxx_messageInfo_PrefixSID.DiscardUnknown(m) -} - -var xxx_messageInfo_PrefixSID proto.InternalMessageInfo - -func (m *PrefixSID) GetTlvs() []*any.Any { - if m != nil { - return m.Tlvs +func (x *PrefixSID) GetTlvs() []*anypb.Any { + if x != nil { + return x.Tlvs } return nil } -func init() { - proto.RegisterEnum("gobgpapi.LsNLRIType", LsNLRIType_name, LsNLRIType_value) - proto.RegisterEnum("gobgpapi.LsProtocolID", LsProtocolID_name, LsProtocolID_value) - proto.RegisterEnum("gobgpapi.SRv6Behavior", SRv6Behavior_name, SRv6Behavior_value) - proto.RegisterEnum("gobgpapi.ENLPType", ENLPType_name, ENLPType_value) - proto.RegisterType((*OriginAttribute)(nil), "gobgpapi.OriginAttribute") - proto.RegisterType((*AsSegment)(nil), "gobgpapi.AsSegment") - proto.RegisterType((*AsPathAttribute)(nil), "gobgpapi.AsPathAttribute") - proto.RegisterType((*NextHopAttribute)(nil), "gobgpapi.NextHopAttribute") - proto.RegisterType((*MultiExitDiscAttribute)(nil), "gobgpapi.MultiExitDiscAttribute") - proto.RegisterType((*LocalPrefAttribute)(nil), "gobgpapi.LocalPrefAttribute") - proto.RegisterType((*AtomicAggregateAttribute)(nil), "gobgpapi.AtomicAggregateAttribute") - proto.RegisterType((*AggregatorAttribute)(nil), "gobgpapi.AggregatorAttribute") - proto.RegisterType((*CommunitiesAttribute)(nil), "gobgpapi.CommunitiesAttribute") - proto.RegisterType((*OriginatorIdAttribute)(nil), "gobgpapi.OriginatorIdAttribute") - proto.RegisterType((*ClusterListAttribute)(nil), "gobgpapi.ClusterListAttribute") - proto.RegisterType((*IPAddressPrefix)(nil), "gobgpapi.IPAddressPrefix") - proto.RegisterType((*LabeledIPAddressPrefix)(nil), "gobgpapi.LabeledIPAddressPrefix") - proto.RegisterType((*EncapsulationNLRI)(nil), "gobgpapi.EncapsulationNLRI") - proto.RegisterType((*RouteDistinguisherTwoOctetAS)(nil), "gobgpapi.RouteDistinguisherTwoOctetAS") - proto.RegisterType((*RouteDistinguisherIPAddress)(nil), "gobgpapi.RouteDistinguisherIPAddress") - proto.RegisterType((*RouteDistinguisherFourOctetAS)(nil), "gobgpapi.RouteDistinguisherFourOctetAS") - proto.RegisterType((*EthernetSegmentIdentifier)(nil), "gobgpapi.EthernetSegmentIdentifier") - proto.RegisterType((*EVPNEthernetAutoDiscoveryRoute)(nil), "gobgpapi.EVPNEthernetAutoDiscoveryRoute") - proto.RegisterType((*EVPNMACIPAdvertisementRoute)(nil), "gobgpapi.EVPNMACIPAdvertisementRoute") - proto.RegisterType((*EVPNInclusiveMulticastEthernetTagRoute)(nil), "gobgpapi.EVPNInclusiveMulticastEthernetTagRoute") - proto.RegisterType((*EVPNEthernetSegmentRoute)(nil), "gobgpapi.EVPNEthernetSegmentRoute") - proto.RegisterType((*EVPNIPPrefixRoute)(nil), "gobgpapi.EVPNIPPrefixRoute") - proto.RegisterType((*EVPNIPMSIRoute)(nil), "gobgpapi.EVPNIPMSIRoute") - proto.RegisterType((*SRPolicyNLRI)(nil), "gobgpapi.SRPolicyNLRI") - proto.RegisterType((*LabeledVPNIPAddressPrefix)(nil), "gobgpapi.LabeledVPNIPAddressPrefix") - proto.RegisterType((*RouteTargetMembershipNLRI)(nil), "gobgpapi.RouteTargetMembershipNLRI") - proto.RegisterType((*FlowSpecIPPrefix)(nil), "gobgpapi.FlowSpecIPPrefix") - proto.RegisterType((*FlowSpecMAC)(nil), "gobgpapi.FlowSpecMAC") - proto.RegisterType((*FlowSpecComponentItem)(nil), "gobgpapi.FlowSpecComponentItem") - proto.RegisterType((*FlowSpecComponent)(nil), "gobgpapi.FlowSpecComponent") - proto.RegisterType((*FlowSpecNLRI)(nil), "gobgpapi.FlowSpecNLRI") - proto.RegisterType((*VPNFlowSpecNLRI)(nil), "gobgpapi.VPNFlowSpecNLRI") - proto.RegisterType((*OpaqueNLRI)(nil), "gobgpapi.OpaqueNLRI") - proto.RegisterType((*LsNodeDescriptor)(nil), "gobgpapi.LsNodeDescriptor") - proto.RegisterType((*LsLinkDescriptor)(nil), "gobgpapi.LsLinkDescriptor") - proto.RegisterType((*LsPrefixDescriptor)(nil), "gobgpapi.LsPrefixDescriptor") - proto.RegisterType((*LsNodeNLRI)(nil), "gobgpapi.LsNodeNLRI") - proto.RegisterType((*LsLinkNLRI)(nil), "gobgpapi.LsLinkNLRI") - proto.RegisterType((*LsPrefixV4NLRI)(nil), "gobgpapi.LsPrefixV4NLRI") - proto.RegisterType((*LsPrefixV6NLRI)(nil), "gobgpapi.LsPrefixV6NLRI") - proto.RegisterType((*LsAddrPrefix)(nil), "gobgpapi.LsAddrPrefix") - proto.RegisterType((*MpReachNLRIAttribute)(nil), "gobgpapi.MpReachNLRIAttribute") - proto.RegisterType((*MpUnreachNLRIAttribute)(nil), "gobgpapi.MpUnreachNLRIAttribute") - proto.RegisterType((*TwoOctetAsSpecificExtended)(nil), "gobgpapi.TwoOctetAsSpecificExtended") - proto.RegisterType((*IPv4AddressSpecificExtended)(nil), "gobgpapi.IPv4AddressSpecificExtended") - proto.RegisterType((*FourOctetAsSpecificExtended)(nil), "gobgpapi.FourOctetAsSpecificExtended") - proto.RegisterType((*LinkBandiwdthExtended)(nil), "gobgpapi.LinkBandiwdthExtended") - proto.RegisterType((*ValidationExtended)(nil), "gobgpapi.ValidationExtended") - proto.RegisterType((*ColorExtended)(nil), "gobgpapi.ColorExtended") - proto.RegisterType((*EncapExtended)(nil), "gobgpapi.EncapExtended") - proto.RegisterType((*DefaultGatewayExtended)(nil), "gobgpapi.DefaultGatewayExtended") - proto.RegisterType((*OpaqueExtended)(nil), "gobgpapi.OpaqueExtended") - proto.RegisterType((*ESILabelExtended)(nil), "gobgpapi.ESILabelExtended") - proto.RegisterType((*ESImportRouteTarget)(nil), "gobgpapi.ESImportRouteTarget") - proto.RegisterType((*MacMobilityExtended)(nil), "gobgpapi.MacMobilityExtended") - proto.RegisterType((*RouterMacExtended)(nil), "gobgpapi.RouterMacExtended") - proto.RegisterType((*TrafficRateExtended)(nil), "gobgpapi.TrafficRateExtended") - proto.RegisterType((*TrafficActionExtended)(nil), "gobgpapi.TrafficActionExtended") - proto.RegisterType((*RedirectTwoOctetAsSpecificExtended)(nil), "gobgpapi.RedirectTwoOctetAsSpecificExtended") - proto.RegisterType((*RedirectIPv4AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv4AddressSpecificExtended") - proto.RegisterType((*RedirectFourOctetAsSpecificExtended)(nil), "gobgpapi.RedirectFourOctetAsSpecificExtended") - proto.RegisterType((*TrafficRemarkExtended)(nil), "gobgpapi.TrafficRemarkExtended") - proto.RegisterType((*UnknownExtended)(nil), "gobgpapi.UnknownExtended") - proto.RegisterType((*ExtendedCommunitiesAttribute)(nil), "gobgpapi.ExtendedCommunitiesAttribute") - proto.RegisterType((*As4PathAttribute)(nil), "gobgpapi.As4PathAttribute") - proto.RegisterType((*As4AggregatorAttribute)(nil), "gobgpapi.As4AggregatorAttribute") - proto.RegisterType((*PmsiTunnelAttribute)(nil), "gobgpapi.PmsiTunnelAttribute") - proto.RegisterType((*TunnelEncapSubTLVEncapsulation)(nil), "gobgpapi.TunnelEncapSubTLVEncapsulation") - proto.RegisterType((*TunnelEncapSubTLVProtocol)(nil), "gobgpapi.TunnelEncapSubTLVProtocol") - proto.RegisterType((*TunnelEncapSubTLVColor)(nil), "gobgpapi.TunnelEncapSubTLVColor") - proto.RegisterType((*TunnelEncapSubTLVSRPreference)(nil), "gobgpapi.TunnelEncapSubTLVSRPreference") - proto.RegisterType((*TunnelEncapSubTLVSRCandidatePathName)(nil), "gobgpapi.TunnelEncapSubTLVSRCandidatePathName") - proto.RegisterType((*TunnelEncapSubTLVSRPriority)(nil), "gobgpapi.TunnelEncapSubTLVSRPriority") - proto.RegisterType((*TunnelEncapSubTLVSRBindingSID)(nil), "gobgpapi.TunnelEncapSubTLVSRBindingSID") - proto.RegisterType((*SRBindingSID)(nil), "gobgpapi.SRBindingSID") - proto.RegisterType((*SRv6EndPointBehavior)(nil), "gobgpapi.SRv6EndPointBehavior") - proto.RegisterType((*SRv6BindingSID)(nil), "gobgpapi.SRv6BindingSID") - proto.RegisterType((*TunnelEncapSubTLVSRENLP)(nil), "gobgpapi.TunnelEncapSubTLVSRENLP") - proto.RegisterType((*SRWeight)(nil), "gobgpapi.SRWeight") - proto.RegisterType((*SegmentFlags)(nil), "gobgpapi.SegmentFlags") - proto.RegisterType((*SegmentTypeA)(nil), "gobgpapi.SegmentTypeA") - proto.RegisterType((*SegmentTypeB)(nil), "gobgpapi.SegmentTypeB") - proto.RegisterType((*TunnelEncapSubTLVSRSegmentList)(nil), "gobgpapi.TunnelEncapSubTLVSRSegmentList") - proto.RegisterType((*TunnelEncapSubTLVEgressEndpoint)(nil), "gobgpapi.TunnelEncapSubTLVEgressEndpoint") - proto.RegisterType((*TunnelEncapSubTLVUDPDestPort)(nil), "gobgpapi.TunnelEncapSubTLVUDPDestPort") - proto.RegisterType((*TunnelEncapSubTLVUnknown)(nil), "gobgpapi.TunnelEncapSubTLVUnknown") - proto.RegisterType((*TunnelEncapTLV)(nil), "gobgpapi.TunnelEncapTLV") - proto.RegisterType((*TunnelEncapAttribute)(nil), "gobgpapi.TunnelEncapAttribute") - proto.RegisterType((*IPv6AddressSpecificExtended)(nil), "gobgpapi.IPv6AddressSpecificExtended") - proto.RegisterType((*RedirectIPv6AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv6AddressSpecificExtended") - proto.RegisterType((*IP6ExtendedCommunitiesAttribute)(nil), "gobgpapi.IP6ExtendedCommunitiesAttribute") - proto.RegisterType((*AigpTLVIGPMetric)(nil), "gobgpapi.AigpTLVIGPMetric") - proto.RegisterType((*AigpTLVUnknown)(nil), "gobgpapi.AigpTLVUnknown") - proto.RegisterType((*AigpAttribute)(nil), "gobgpapi.AigpAttribute") - proto.RegisterType((*LargeCommunity)(nil), "gobgpapi.LargeCommunity") - proto.RegisterType((*LargeCommunitiesAttribute)(nil), "gobgpapi.LargeCommunitiesAttribute") - proto.RegisterType((*LsNodeFlags)(nil), "gobgpapi.LsNodeFlags") - proto.RegisterType((*LsIGPFlags)(nil), "gobgpapi.LsIGPFlags") - proto.RegisterType((*LsSrRange)(nil), "gobgpapi.LsSrRange") - proto.RegisterType((*LsSrCapabilities)(nil), "gobgpapi.LsSrCapabilities") - proto.RegisterType((*LsSrLocalBlock)(nil), "gobgpapi.LsSrLocalBlock") - proto.RegisterType((*LsAttributeNode)(nil), "gobgpapi.LsAttributeNode") - proto.RegisterType((*LsAttributeLink)(nil), "gobgpapi.LsAttributeLink") - proto.RegisterType((*LsAttributePrefix)(nil), "gobgpapi.LsAttributePrefix") - proto.RegisterType((*LsAttribute)(nil), "gobgpapi.LsAttribute") - proto.RegisterType((*UnknownAttribute)(nil), "gobgpapi.UnknownAttribute") - proto.RegisterType((*SRv6StructureSubSubTLV)(nil), "gobgpapi.SRv6StructureSubSubTLV") - proto.RegisterType((*SRv6SIDFlags)(nil), "gobgpapi.SRv6SIDFlags") - proto.RegisterType((*SRv6TLV)(nil), "gobgpapi.SRv6TLV") - proto.RegisterType((*SRv6InformationSubTLV)(nil), "gobgpapi.SRv6InformationSubTLV") - proto.RegisterMapType((map[uint32]*SRv6TLV)(nil), "gobgpapi.SRv6InformationSubTLV.SubSubTlvsEntry") - proto.RegisterType((*SRv6L3ServiceTLV)(nil), "gobgpapi.SRv6L3ServiceTLV") - proto.RegisterMapType((map[uint32]*SRv6TLV)(nil), "gobgpapi.SRv6L3ServiceTLV.SubTlvsEntry") - proto.RegisterType((*PrefixSID)(nil), "gobgpapi.PrefixSID") +var File_attribute_proto protoreflect.FileDescriptor + +var file_attribute_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x05, 0x61, 0x70, 0x69, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x29, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0x39, 0x0a, 0x09, 0x41, + 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x3f, 0x0a, 0x0f, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x2d, 0x0a, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x22, 0x2a, 0x0a, 0x16, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x45, + 0x78, 0x69, 0x74, 0x44, 0x69, 0x73, 0x63, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, + 0x65, 0x64, 0x22, 0x33, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x22, 0x1a, 0x0a, 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, + 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x38, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x27, + 0x0a, 0x15, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, + 0x73, 0x22, 0x48, 0x0a, 0x0f, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, + 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x67, 0x0a, 0x16, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x22, 0x2d, 0x0a, 0x11, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x50, 0x0a, 0x1c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, + 0x74, 0x41, 0x53, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x49, 0x50, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x51, 0x0a, 0x1d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x72, + 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x53, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x45, 0x0a, 0x19, 0x45, 0x74, 0x68, + 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0xb3, 0x01, 0x0a, 0x1e, 0x45, 0x56, 0x50, 0x4e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, + 0x74, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, + 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, + 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xf2, 0x01, 0x0a, 0x1b, 0x45, 0x56, 0x50, 0x4e, 0x4d, + 0x41, 0x43, 0x49, 0x50, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, + 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, + 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x54, 0x61, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x26, + 0x45, 0x56, 0x50, 0x4e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, + 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x93, + 0x01, 0x0a, 0x18, 0x45, 0x56, 0x50, 0x4e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, + 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x11, 0x45, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, + 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, + 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, + 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x70, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x77, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x77, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x7f, 0x0a, + 0x0e, 0x45, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x4d, 0x53, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, + 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, + 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, + 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x74, 0x22, 0x7e, + 0x0a, 0x0c, 0x53, 0x52, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x16, + 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x90, + 0x01, 0x0a, 0x19, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x22, 0x51, 0x0a, 0x19, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x0e, + 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x24, + 0x0a, 0x02, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, + 0x52, 0x02, 0x72, 0x74, 0x22, 0x75, 0x0a, 0x10, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, + 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x46, + 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x4d, 0x41, 0x43, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x6c, 0x6f, 0x77, + 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x6f, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x53, + 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x0c, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, + 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x22, 0x63, 0x0a, 0x0f, 0x56, 0x50, 0x4e, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x4e, + 0x4c, 0x52, 0x49, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x4e, + 0x4c, 0x52, 0x49, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x10, + 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, + 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x09, 0x62, 0x67, 0x70, 0x5f, 0x6c, 0x73, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x67, 0x70, 0x4c, 0x73, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0c, 0x6f, 0x73, 0x70, 0x66, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x73, 0x70, 0x66, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x73, 0x65, 0x75, 0x64, 0x6f, 0x6e, 0x6f, 0x64, 0x65, + 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x67, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x98, 0x02, 0x0a, 0x10, 0x4c, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, + 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x49, + 0x70, 0x76, 0x34, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, + 0x34, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, + 0x36, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x36, 0x22, + 0x65, 0x0a, 0x12, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x69, 0x70, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, + 0x0a, 0x0f, 0x6f, 0x73, 0x70, 0x66, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x44, 0x0a, 0x0a, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, + 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0xc0, 0x01, 0x0a, + 0x0a, 0x4c, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, + 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, + 0x0f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, + 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, + 0x90, 0x01, 0x0a, 0x0e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x56, 0x34, 0x4e, 0x4c, + 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x52, 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x56, + 0x36, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, + 0x11, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x52, 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0xcd, 0x01, 0x0a, 0x0c, 0x4c, 0x73, 0x41, 0x64, 0x64, 0x72, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, + 0x4c, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, + 0x04, 0x6e, 0x6c, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x04, 0x6e, 0x6c, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, + 0x34, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x44, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x4d, 0x70, 0x52, 0x65, 0x61, 0x63, + 0x68, 0x4e, 0x4c, 0x52, 0x49, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, + 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, + 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x22, 0x6b, + 0x0a, 0x16, 0x4d, 0x70, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x4e, 0x4c, 0x52, 0x49, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, + 0x2a, 0x0a, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x1a, + 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x1b, + 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, + 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x1b, 0x46, 0x6f, 0x75, 0x72, 0x4f, + 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, + 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x45, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x6b, 0x42, + 0x61, 0x6e, 0x64, 0x69, 0x77, 0x64, 0x74, 0x68, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x2a, + 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x22, 0x30, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x4b, 0x0a, + 0x0e, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x45, 0x53, + 0x49, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x32, + 0x0a, 0x13, 0x45, 0x53, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x4d, 0x61, 0x63, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, + 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, + 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x11, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, + 0x22, 0x39, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x61, 0x74, 0x65, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x54, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x22, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, + 0x60, 0x0a, 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x50, 0x76, 0x34, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x22, 0x56, 0x0a, 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x75, + 0x72, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2b, 0x0a, 0x15, 0x54, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x73, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x64, 0x73, 0x63, 0x70, 0x22, 0x3b, 0x0a, 0x0f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x56, 0x0a, 0x1c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43, + 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x40, 0x0a, 0x10, 0x41, + 0x73, 0x34, 0x50, 0x61, 0x74, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x2c, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x42, 0x0a, + 0x16, 0x41, 0x73, 0x34, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x65, 0x0a, 0x13, 0x50, 0x6d, 0x73, 0x69, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x1e, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x45, 0x6e, 0x63, + 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, + 0x6f, 0x6b, 0x69, 0x65, 0x22, 0x37, 0x0a, 0x19, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, + 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x2e, 0x0a, + 0x16, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, + 0x4c, 0x56, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x55, 0x0a, + 0x1d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, + 0x4c, 0x56, 0x53, 0x52, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x24, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, + 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x43, 0x61, 0x6e, 0x64, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x1b, + 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, + 0x56, 0x53, 0x52, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x49, 0x0a, 0x1d, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x73, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x62, 0x73, + 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x0c, 0x53, 0x52, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, + 0x49, 0x44, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x5f, 0x66, + 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x46, 0x6c, 0x61, 0x67, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, + 0x69, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x53, 0x52, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x6f, 0x64, + 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6c, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x75, 0x6e, 0x63, 0x4c, 0x65, 0x6e, 0x12, + 0x17, 0x0a, 0x07, 0x61, 0x72, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x61, 0x72, 0x67, 0x4c, 0x65, 0x6e, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x53, 0x52, 0x76, + 0x36, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x06, 0x73, + 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x46, 0x6c, + 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x69, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x5f, 0x66, + 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x46, 0x6c, 0x61, 0x67, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, + 0x69, 0x64, 0x12, 0x5b, 0x0a, 0x1b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x53, 0x52, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x52, 0x19, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, + 0x54, 0x0a, 0x17, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, + 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x45, 0x4e, 0x4c, 0x50, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x12, 0x23, 0x0a, 0x04, 0x65, 0x6e, 0x6c, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x4e, 0x4c, 0x50, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x65, 0x6e, 0x6c, 0x70, 0x22, 0x38, 0x0a, 0x08, 0x53, 0x52, 0x57, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, + 0x6a, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, + 0x15, 0x0a, 0x06, 0x76, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x5f, 0x66, 0x6c, 0x61, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, + 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, + 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x4f, 0x0a, 0x0c, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x12, 0x29, 0x0a, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xa8, 0x01, 0x0a, + 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x12, 0x29, 0x0a, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x5b, 0x0a, 0x1b, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x19, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7b, 0x0a, 0x1e, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x53, 0x52, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3b, 0x0a, 0x1f, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, + 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x32, 0x0a, 0x1c, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, + 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x55, 0x44, 0x50, 0x44, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, + 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x4c, 0x56, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x22, 0x41, 0x0a, 0x14, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x4c, 0x56, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x22, 0x98, + 0x01, 0x0a, 0x1b, 0x49, 0x50, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, + 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x60, 0x0a, 0x23, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x50, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x59, 0x0a, 0x1f, 0x49, + 0x50, 0x36, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, + 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x41, 0x69, 0x67, 0x70, 0x54, 0x4c, + 0x56, 0x49, 0x47, 0x50, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x22, 0x3a, 0x0a, 0x0e, 0x41, 0x69, 0x67, 0x70, 0x54, 0x4c, 0x56, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, + 0x0a, 0x0d, 0x41, 0x69, 0x67, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x22, 0x75, 0x0a, 0x0e, 0x4c, 0x61, 0x72, + 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x31, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x31, 0x12, + 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x32, + 0x22, 0x54, 0x0a, 0x19, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x37, 0x0a, + 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x61, 0x72, 0x67, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0b, 0x4c, 0x73, 0x4e, 0x6f, 0x64, + 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x62, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x62, 0x72, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x02, 0x76, 0x36, 0x22, 0x8b, 0x01, 0x0a, 0x0a, 0x4c, 0x73, 0x49, 0x47, 0x50, 0x46, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x75, 0x6e, + 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x55, + 0x6e, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x73, 0x73, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x4e, 0x73, + 0x73, 0x61, 0x22, 0x33, 0x0a, 0x09, 0x4c, 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x4c, 0x73, 0x53, 0x72, + 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x70, 0x76, 0x34, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x70, 0x76, 0x34, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x70, 0x76, + 0x36, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x4c, 0x73, 0x53, 0x72, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x22, 0xfd, 0x02, 0x0a, 0x0f, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x36, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x69, 0x73, 0x5f, + 0x61, 0x72, 0x65, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x69, 0x73, 0x69, 0x73, + 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x0f, + 0x73, 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, + 0x53, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0e, + 0x73, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x72, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x73, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x52, 0x0c, 0x73, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x22, 0x9b, 0x04, 0x0a, 0x0f, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x28, 0x0a, + 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x36, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x67, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, + 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, + 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, + 0x6c, 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x75, + 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13, 0x75, 0x6e, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x28, + 0x0a, 0x10, 0x73, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, + 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x72, 0x41, 0x64, 0x6a, 0x61, + 0x63, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x72, 0x6c, 0x67, + 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x72, 0x6c, 0x67, 0x73, 0x22, 0x7f, + 0x0a, 0x11, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x2e, 0x0a, 0x09, 0x69, 0x67, 0x70, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x73, 0x49, 0x47, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x08, 0x69, 0x67, 0x70, 0x46, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, + 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x69, 0x64, 0x22, + 0x97, 0x01, 0x0a, 0x0b, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x2a, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x52, 0x0a, 0x10, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaa, 0x02, + 0x0a, 0x16, 0x53, 0x52, 0x76, 0x36, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x25, 0x0a, 0x0c, 0x53, 0x52, + 0x76, 0x36, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x6c, + 0x61, 0x67, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, + 0x31, 0x22, 0x31, 0x0a, 0x07, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x12, 0x26, 0x0a, 0x03, + 0x74, 0x6c, 0x76, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, + 0x03, 0x74, 0x6c, 0x76, 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x53, 0x52, 0x76, 0x36, 0x49, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x12, 0x10, + 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, + 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x53, 0x49, 0x44, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, + 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, + 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x75, + 0x62, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4d, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x53, + 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x53, 0x52, 0x76, 0x36, + 0x4c, 0x33, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x4c, 0x56, 0x12, 0x3f, 0x0a, 0x08, + 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x33, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4a, 0x0a, + 0x0c, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x09, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x53, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, + 0x2a, 0x73, 0x0a, 0x0a, 0x4c, 0x73, 0x4e, 0x4c, 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, + 0x0a, 0x0f, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x4e, + 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, + 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, + 0x52, 0x49, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x56, 0x34, 0x10, 0x03, 0x12, 0x15, + 0x0a, 0x11, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, + 0x5f, 0x56, 0x36, 0x10, 0x04, 0x2a, 0xbb, 0x01, 0x0a, 0x0c, 0x4c, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, + 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, + 0x53, 0x49, 0x53, 0x5f, 0x4c, 0x31, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, + 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, 0x49, 0x53, 0x5f, 0x4c, 0x32, 0x10, + 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x56, 0x32, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x53, + 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, + 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, + 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x56, + 0x33, 0x10, 0x06, 0x2a, 0xac, 0x05, 0x0a, 0x0c, 0x53, 0x52, 0x76, 0x36, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x45, + 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x03, 0x12, + 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, + 0x55, 0x53, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x4e, 0x44, 0x58, 0x10, 0x05, 0x12, + 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, + 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, + 0x55, 0x53, 0x50, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, + 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, + 0x45, 0x4e, 0x44, 0x54, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, + 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, + 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, + 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, + 0x50, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x36, 0x5f, 0x45, 0x4e, + 0x43, 0x41, 0x50, 0x53, 0x10, 0x0e, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x4d, + 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x58, 0x36, 0x10, 0x10, 0x12, + 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x58, 0x34, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, + 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x36, 0x10, 0x12, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, + 0x5f, 0x44, 0x54, 0x34, 0x10, 0x13, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, + 0x34, 0x36, 0x10, 0x14, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x58, 0x32, 0x10, + 0x15, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x58, 0x32, 0x56, 0x10, 0x16, 0x12, + 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x32, 0x55, 0x10, 0x17, 0x12, 0x0c, 0x0a, + 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x32, 0x4d, 0x10, 0x18, 0x12, 0x15, 0x0a, 0x11, 0x45, + 0x4e, 0x44, 0x5f, 0x42, 0x36, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x53, 0x5f, 0x52, 0x65, 0x64, + 0x10, 0x1b, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, + 0x53, 0x44, 0x10, 0x1c, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, + 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, + 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1e, + 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, + 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, + 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x20, 0x12, 0x15, 0x0a, + 0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, + 0x53, 0x44, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, + 0x48, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, 0x45, + 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, + 0x5f, 0x55, 0x53, 0x44, 0x10, 0x23, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, + 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x24, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, + 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x25, + 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, + 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x26, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x44, 0x54, 0x5f, + 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, + 0x10, 0x27, 0x2a, 0x44, 0x0a, 0x08, 0x45, 0x4e, 0x4c, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, + 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, + 0x54, 0x79, 0x70, 0x65, 0x31, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x32, + 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x33, 0x10, 0x03, 0x12, 0x09, 0x0a, + 0x05, 0x54, 0x79, 0x70, 0x65, 0x34, 0x10, 0x04, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x73, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x62, 0x67, + 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -func init() { proto.RegisterFile("attribute.proto", fileDescriptor_64cfbe2f04478930) } +var ( + file_attribute_proto_rawDescOnce sync.Once + file_attribute_proto_rawDescData = file_attribute_proto_rawDesc +) -var fileDescriptor_64cfbe2f04478930 = []byte{ - // 4284 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x3a, 0x4d, 0x6f, 0x1b, 0x49, - 0x76, 0xc3, 0x0f, 0x49, 0xd4, 0xe3, 0x87, 0x5a, 0xad, 0x8f, 0x91, 0xe4, 0xcf, 0xed, 0x19, 0xdb, - 0x8a, 0xec, 0xd1, 0xac, 0x65, 0x0d, 0x77, 0x3c, 0x83, 0x4d, 0x40, 0x89, 0xb4, 0x87, 0x19, 0x8a, - 0xe2, 0x34, 0x25, 0x79, 0x72, 0xd9, 0x4e, 0xb3, 0xbb, 0xd4, 0xaa, 0x55, 0xb3, 0xbb, 0xb7, 0xab, - 0x49, 0x59, 0x97, 0x0d, 0x90, 0x43, 0x80, 0x45, 0xb0, 0x41, 0x4e, 0xc1, 0x02, 0x7b, 0xc9, 0x25, - 0x01, 0x12, 0x04, 0x39, 0xee, 0x25, 0x3f, 0x20, 0xc8, 0x39, 0xbf, 0x25, 0xf7, 0xa0, 0xbe, 0xfa, - 0x83, 0xa2, 0x64, 0x7b, 0x3c, 0x03, 0xf8, 0xd6, 0xef, 0xd5, 0xab, 0x57, 0xaf, 0x5e, 0xbd, 0x7a, - 0x5f, 0xd5, 0xb0, 0x60, 0x46, 0x51, 0x88, 0x07, 0xa3, 0x08, 0x6d, 0x07, 0xa1, 0x1f, 0xf9, 0x6a, - 0xc9, 0xf1, 0x07, 0x4e, 0x60, 0x06, 0x78, 0x63, 0xdd, 0xf1, 0x7d, 0xc7, 0x45, 0x9f, 0x33, 0xfc, - 0x60, 0x74, 0xfa, 0xb9, 0xe9, 0x5d, 0x72, 0xa2, 0x8d, 0x32, 0x23, 0xe2, 0x80, 0xf6, 0x67, 0xb0, - 0x70, 0x18, 0x62, 0x07, 0x7b, 0x0d, 0xc9, 0x4a, 0x5d, 0x85, 0x59, 0x9f, 0xa1, 0xd6, 0x72, 0xf7, - 0x73, 0x9b, 0x55, 0x5d, 0x40, 0xda, 0x73, 0x98, 0x6f, 0x90, 0x3e, 0x72, 0x86, 0xc8, 0x8b, 0x54, - 0x15, 0x8a, 0xd1, 0x65, 0x80, 0x04, 0x09, 0xfb, 0x56, 0xd7, 0x60, 0xce, 0x1b, 0x0d, 0x07, 0x28, - 0x24, 0x6b, 0xf9, 0xfb, 0x85, 0xcd, 0xaa, 0x2e, 0x41, 0x6d, 0x0f, 0x16, 0x1a, 0xa4, 0x67, 0x46, - 0x67, 0xc9, 0x2a, 0x9f, 0x43, 0x89, 0x70, 0x5e, 0x64, 0x2d, 0x77, 0xbf, 0xb0, 0x59, 0xde, 0x59, - 0xda, 0x96, 0xd2, 0x6f, 0xc7, 0xeb, 0xe8, 0x31, 0x91, 0xf6, 0x19, 0x28, 0x5d, 0xf4, 0x3a, 0xfa, - 0xc6, 0x0f, 0x12, 0x26, 0xeb, 0x50, 0xf2, 0xd0, 0xeb, 0xc8, 0x38, 0xf3, 0x03, 0x26, 0xc9, 0xbc, - 0x3e, 0xe7, 0x71, 0x1a, 0x6d, 0x0b, 0x56, 0x0f, 0x46, 0x6e, 0x84, 0x5b, 0xaf, 0x71, 0xd4, 0xc4, - 0xc4, 0x4a, 0x26, 0x29, 0x50, 0x18, 0x22, 0x5b, 0x48, 0x4e, 0x3f, 0xb5, 0x67, 0xa0, 0x76, 0x7c, - 0xcb, 0x74, 0x7b, 0x21, 0x3a, 0x4d, 0xe8, 0xee, 0x00, 0xb8, 0x14, 0x6b, 0x04, 0x21, 0x3a, 0x15, - 0xe4, 0xf3, 0xae, 0xa4, 0xd3, 0x36, 0x60, 0xad, 0x11, 0xf9, 0x43, 0x6c, 0x35, 0x1c, 0x27, 0x44, - 0x8e, 0x19, 0xa1, 0x78, 0xaa, 0xf6, 0x17, 0xb0, 0x24, 0xb1, 0x7e, 0x98, 0x70, 0xac, 0x41, 0xde, - 0xa4, 0xba, 0xa1, 0x9c, 0xf2, 0x26, 0xa1, 0x0a, 0x33, 0x6d, 0x3b, 0x44, 0x84, 0xac, 0x15, 0xb8, - 0xf4, 0x02, 0xd4, 0xbe, 0x84, 0xe5, 0x7d, 0x7f, 0x38, 0x1c, 0x79, 0x38, 0xc2, 0x88, 0x24, 0x1c, - 0xee, 0x43, 0xd9, 0x4a, 0xf0, 0x4c, 0x71, 0x55, 0x3d, 0x8d, 0xd2, 0x1e, 0xc1, 0x0a, 0x3f, 0x50, - 0xba, 0x74, 0xdb, 0xce, 0x2c, 0x8e, 0x6d, 0xa1, 0xa5, 0x3c, 0xb6, 0xb5, 0x4d, 0x58, 0xde, 0x77, - 0x47, 0x24, 0x42, 0x61, 0x07, 0x93, 0x28, 0xa3, 0x1e, 0x6c, 0x73, 0xd6, 0xf3, 0x3a, 0xfd, 0xd4, - 0xbe, 0x81, 0x85, 0x76, 0xaf, 0xc1, 0x25, 0xa3, 0x5b, 0xc7, 0xaf, 0xa9, 0x6e, 0x02, 0xf6, 0x65, - 0xb8, 0x48, 0xda, 0xc9, 0x3c, 0xc7, 0x74, 0x90, 0x47, 0x4d, 0x88, 0x03, 0x6c, 0xb3, 0xf3, 0xba, - 0x80, 0x34, 0x07, 0x56, 0x3b, 0xe6, 0x00, 0xb9, 0xc8, 0x9e, 0x64, 0xb8, 0x0a, 0xb3, 0x2e, 0x1d, - 0x91, 0x7b, 0x12, 0xd0, 0xc4, 0x42, 0xf9, 0xeb, 0x17, 0x2a, 0x64, 0x16, 0xfa, 0x0c, 0x16, 0x5b, - 0x9e, 0x65, 0x06, 0x64, 0xe4, 0x9a, 0x11, 0xf6, 0xbd, 0x6e, 0x47, 0x6f, 0xa7, 0xd5, 0x9d, 0xcb, - 0xaa, 0xbb, 0x07, 0xb7, 0x75, 0x7f, 0x14, 0xa1, 0x26, 0x26, 0x11, 0xf6, 0x9c, 0x11, 0x26, 0x67, - 0x28, 0x3c, 0xba, 0xf0, 0x0f, 0xad, 0x08, 0x45, 0x8d, 0xbe, 0xba, 0x0c, 0x33, 0xa6, 0x3d, 0x8c, - 0x6f, 0x04, 0x07, 0xd4, 0x0d, 0x28, 0x99, 0x84, 0x60, 0xc7, 0x43, 0xb6, 0x90, 0x2c, 0x86, 0xb5, - 0x43, 0xb8, 0x75, 0x95, 0x63, 0xbc, 0xe9, 0x2c, 0xc3, 0xf9, 0xb7, 0x61, 0xf8, 0x1d, 0xdc, 0xb9, - 0xca, 0xf0, 0x85, 0x3f, 0x0a, 0x7f, 0xb8, 0x8c, 0x2d, 0x58, 0x6f, 0x45, 0x67, 0x28, 0xf4, 0x50, - 0x24, 0xae, 0x5b, 0xdb, 0x46, 0x5e, 0x84, 0x4f, 0x31, 0x0a, 0xa7, 0x5e, 0xf0, 0x65, 0x98, 0x19, - 0x9b, 0xee, 0x08, 0x31, 0x4e, 0x15, 0x9d, 0x03, 0xda, 0x9f, 0x72, 0x70, 0xb7, 0x75, 0xd2, 0xeb, - 0x4a, 0x5e, 0x8d, 0x51, 0xe4, 0xd3, 0x1b, 0xe7, 0x8f, 0x51, 0x78, 0xc9, 0x64, 0x56, 0x3f, 0x85, - 0x7c, 0xc8, 0x6d, 0xaf, 0xbc, 0xb3, 0xbc, 0xcd, 0x5d, 0xd3, 0xb6, 0x74, 0x4d, 0xdb, 0x0d, 0xef, - 0x52, 0xcf, 0x87, 0xb6, 0xfa, 0x05, 0x14, 0x10, 0xc1, 0x8c, 0x79, 0x79, 0xe7, 0x93, 0xc4, 0x1b, - 0x5c, 0x2b, 0xa4, 0x4e, 0xe9, 0xd5, 0x9f, 0x41, 0x05, 0x09, 0x0a, 0x23, 0x32, 0x1d, 0x66, 0x09, - 0x55, 0xbd, 0x2c, 0x71, 0x47, 0xa6, 0x43, 0x05, 0x67, 0xf6, 0xb4, 0x56, 0xe4, 0xba, 0x61, 0x80, - 0xf6, 0x7f, 0x39, 0xb8, 0x45, 0x05, 0x3f, 0x68, 0xec, 0xd3, 0x93, 0x19, 0xa3, 0x30, 0xc2, 0x04, - 0x31, 0xb7, 0xf3, 0x41, 0x48, 0x7d, 0x0f, 0xca, 0x43, 0xd3, 0x32, 0xa4, 0xcd, 0x16, 0x99, 0xa9, - 0xc0, 0xd0, 0xb4, 0xa4, 0x15, 0xdd, 0x01, 0xc0, 0x41, 0x3c, 0x3e, 0xc3, 0xc6, 0xe7, 0x71, 0x20, - 0x87, 0x93, 0x3b, 0x35, 0x9b, 0xbe, 0x53, 0xda, 0x3f, 0xe6, 0xe0, 0x21, 0xdd, 0x77, 0xdb, 0xb3, - 0xdc, 0x11, 0xc1, 0x63, 0xc4, 0x1c, 0xa5, 0x65, 0x92, 0xa8, 0x95, 0xac, 0xfe, 0x2e, 0x2a, 0x98, - 0xdc, 0x4b, 0xfe, 0xea, 0x5e, 0xb2, 0xa2, 0x16, 0x26, 0x44, 0xd5, 0xfe, 0x29, 0x07, 0x6b, 0x69, - 0x1b, 0x92, 0xee, 0xff, 0xa7, 0x3f, 0x87, 0x37, 0x08, 0xf6, 0xbb, 0x3c, 0x2c, 0x32, 0x5d, 0xf5, - 0xb8, 0xa3, 0xfa, 0x30, 0x2c, 0xe3, 0x16, 0xcc, 0xe3, 0xc0, 0x10, 0x9e, 0x8f, 0xdb, 0x45, 0x09, - 0x07, 0xc2, 0x95, 0x6a, 0x50, 0x8d, 0x07, 0x99, 0xd7, 0x9c, 0xe1, 0x0c, 0x24, 0x01, 0xf5, 0x9b, - 0x77, 0x00, 0x9c, 0x8b, 0x78, 0xd7, 0xb3, 0x7c, 0xd7, 0xce, 0x45, 0xca, 0x3d, 0xf1, 0xfb, 0x32, - 0x97, 0xbe, 0x2f, 0x7f, 0x03, 0x35, 0xae, 0x8a, 0x83, 0x7e, 0xfb, 0x47, 0x36, 0x0f, 0xca, 0x28, - 0x62, 0x3b, 0xbd, 0x9e, 0x51, 0xa4, 0xfd, 0x16, 0x2a, 0x7d, 0xbd, 0xe7, 0xbb, 0xd8, 0xba, 0x64, - 0x0e, 0x9d, 0x1a, 0x38, 0xf2, 0x9c, 0xe8, 0x4c, 0x66, 0x2a, 0x1c, 0x52, 0x3f, 0x85, 0xaa, 0x9d, - 0x76, 0x93, 0x62, 0xc5, 0x2c, 0x92, 0x6e, 0xd2, 0xf2, 0x5d, 0x3f, 0x14, 0x0a, 0xe6, 0x00, 0x75, - 0x98, 0xc8, 0xb3, 0x03, 0x1f, 0x7b, 0x11, 0xd3, 0x6c, 0x45, 0x8f, 0x61, 0x7a, 0x71, 0xd6, 0x45, - 0xfc, 0x62, 0x7a, 0x78, 0xbb, 0x10, 0xc6, 0x95, 0x94, 0x7f, 0x83, 0x92, 0xb2, 0x81, 0xae, 0x70, - 0x7d, 0xa0, 0x2b, 0x66, 0x02, 0xdd, 0x77, 0xb0, 0xce, 0x8e, 0xe2, 0xc8, 0x0c, 0x1d, 0x14, 0x1d, - 0x20, 0x96, 0x6f, 0x9d, 0xe1, 0x80, 0xe9, 0x87, 0xe7, 0x1b, 0xb9, 0x38, 0xdf, 0xe0, 0x5a, 0xce, - 0xbf, 0x41, 0xcb, 0x23, 0x50, 0x5e, 0xb8, 0xfe, 0x45, 0x3f, 0x40, 0x96, 0xb4, 0xfa, 0xa9, 0xd1, - 0xe0, 0x87, 0x85, 0x66, 0x96, 0x5e, 0x9e, 0x9e, 0x12, 0x14, 0x09, 0x67, 0x2c, 0x20, 0xed, 0x6b, - 0x28, 0xcb, 0x65, 0x0f, 0x1a, 0xfb, 0xd7, 0x25, 0x98, 0xd2, 0x64, 0xf3, 0xd9, 0x00, 0xfe, 0x4b, - 0x58, 0x91, 0x93, 0xf7, 0xfd, 0x61, 0xe0, 0x7b, 0xf4, 0x5e, 0x45, 0x68, 0x48, 0x55, 0x20, 0x72, - 0xc3, 0xaa, 0x9e, 0xf7, 0x83, 0x6c, 0x08, 0x2b, 0xca, 0x10, 0xf6, 0x2b, 0x58, 0xbc, 0x32, 0x7d, - 0xaa, 0x04, 0x5f, 0xc0, 0x0c, 0x8e, 0xd0, 0x90, 0x27, 0xb8, 0xe5, 0x9d, 0x7b, 0xc9, 0xa5, 0x9e, - 0xba, 0xbc, 0xce, 0xa9, 0xb5, 0xaf, 0xa0, 0x22, 0xc7, 0xd9, 0xc1, 0x6c, 0xc1, 0x4c, 0x38, 0x72, - 0x91, 0xcc, 0x7c, 0xa7, 0x9f, 0x05, 0x27, 0xd1, 0x2c, 0x58, 0x38, 0xe9, 0x75, 0x33, 0xd3, 0xdf, - 0xee, 0xda, 0xc5, 0x8b, 0xe4, 0xdf, 0xbc, 0xc8, 0x2e, 0xc0, 0x61, 0x60, 0xfe, 0x66, 0x84, 0x18, - 0x7f, 0x05, 0x0a, 0xe7, 0xe8, 0x92, 0x2d, 0x50, 0xd1, 0xe9, 0xe7, 0x35, 0x91, 0xff, 0x5f, 0x73, - 0xa0, 0x74, 0x48, 0xd7, 0xb7, 0x51, 0x13, 0x11, 0x2b, 0xc4, 0x41, 0xe4, 0x87, 0x74, 0xb2, 0x49, - 0x64, 0x16, 0x42, 0x3f, 0xd5, 0x0d, 0x98, 0x1f, 0x38, 0x81, 0xe1, 0x12, 0x03, 0xcb, 0x24, 0x64, - 0x6e, 0xe0, 0x04, 0x1d, 0xd2, 0xb6, 0xd5, 0xfb, 0x50, 0xf1, 0x49, 0x70, 0x6a, 0x98, 0x21, 0x32, - 0xe9, 0x30, 0x37, 0x7c, 0xa0, 0xb8, 0x46, 0x88, 0xcc, 0xb6, 0xad, 0xde, 0x05, 0x08, 0x08, 0x1a, - 0xd9, 0xbe, 0xe7, 0xdb, 0x88, 0xd9, 0x4c, 0x49, 0x4f, 0x61, 0x98, 0xbb, 0x73, 0x02, 0x23, 0xa4, - 0xb7, 0x20, 0xa4, 0x2c, 0x78, 0x1c, 0x2c, 0x63, 0x27, 0x60, 0x37, 0x23, 0x6c, 0xdb, 0xda, 0x1f, - 0xf2, 0x54, 0xd0, 0x0e, 0xf6, 0xce, 0x53, 0x82, 0x6a, 0x50, 0x75, 0xb1, 0x77, 0x6e, 0xf0, 0x24, - 0x1f, 0xcb, 0x8a, 0xa0, 0x4c, 0x91, 0xac, 0x1c, 0x68, 0xdb, 0xea, 0xa7, 0x50, 0x63, 0x34, 0x21, - 0x1a, 0xfa, 0x11, 0x4a, 0xe4, 0xaf, 0x50, 0xac, 0xce, 0x90, 0x6d, 0x5b, 0xdd, 0x86, 0x25, 0xec, - 0x45, 0x28, 0x3c, 0x35, 0x2d, 0xc4, 0x9c, 0xaa, 0x81, 0x83, 0xf1, 0xae, 0xb0, 0xfb, 0xc5, 0x78, - 0x88, 0xba, 0x8b, 0x76, 0x30, 0xde, 0x55, 0x9f, 0x80, 0xea, 0x21, 0xec, 0x9c, 0x0d, 0xfc, 0x30, - 0x45, 0xce, 0x2f, 0xb6, 0x22, 0x47, 0x62, 0xea, 0xa9, 0xdc, 0xeb, 0x62, 0x9b, 0x57, 0xb8, 0xd7, - 0xa7, 0x72, 0xaf, 0x0b, 0x1f, 0x3f, 0xc9, 0xbd, 0xae, 0x21, 0x50, 0x3b, 0xc2, 0x83, 0xa5, 0x74, - 0xf3, 0x08, 0x16, 0x70, 0x60, 0x84, 0xc8, 0xb4, 0xce, 0xcc, 0x01, 0x76, 0x71, 0x74, 0x29, 0x0a, - 0x82, 0x1a, 0x0e, 0xf4, 0x14, 0x56, 0x7d, 0x08, 0x0b, 0xec, 0xfc, 0x98, 0xfa, 0x0d, 0x76, 0x5f, - 0xf8, 0xd5, 0xac, 0x52, 0x34, 0x77, 0x4d, 0x97, 0x01, 0xd2, 0x5e, 0x02, 0x70, 0x4b, 0x61, 0x06, - 0xf6, 0x5c, 0x96, 0x56, 0xec, 0x4c, 0xb9, 0x21, 0x6f, 0x24, 0x77, 0x69, 0xd2, 0xa6, 0x44, 0xd9, - 0x45, 0x91, 0xda, 0xff, 0xe4, 0x28, 0x27, 0x7a, 0x94, 0xef, 0xc9, 0x49, 0xfd, 0x1a, 0xca, 0xe2, - 0x58, 0xd9, 0xdc, 0xfc, 0x1b, 0xe7, 0x02, 0x27, 0x67, 0x93, 0xf7, 0x61, 0x81, 0x19, 0x86, 0x1d, - 0x0f, 0x8b, 0xe8, 0x95, 0x61, 0x90, 0xb5, 0x38, 0x9d, 0xd9, 0x52, 0x02, 0xd3, 0xac, 0xa7, 0x26, - 0x95, 0x7f, 0xb2, 0xfb, 0xbe, 0xfb, 0x69, 0xc3, 0xa2, 0xf0, 0xc7, 0x29, 0xa1, 0xf8, 0xae, 0x6e, - 0xa7, 0x39, 0x4c, 0x1e, 0xb6, 0xae, 0x04, 0x13, 0x98, 0xac, 0x60, 0xf5, 0x0f, 0x48, 0xb0, 0xff, - 0xcd, 0x41, 0xa5, 0x43, 0xa8, 0xf1, 0x8a, 0xc0, 0xb4, 0x99, 0x72, 0xd2, 0x35, 0xe6, 0xe3, 0x12, - 0x81, 0x3a, 0x7a, 0x9b, 0xda, 0x9e, 0x70, 0xdd, 0x9b, 0x50, 0xf4, 0xdc, 0x10, 0xdf, 0x18, 0xfe, - 0x18, 0x45, 0x2a, 0xad, 0x28, 0x64, 0xd2, 0x8a, 0x5f, 0x40, 0x99, 0x51, 0x5b, 0x3e, 0x73, 0x17, - 0x45, 0xb6, 0xe4, 0x6a, 0x76, 0x07, 0x7c, 0xb8, 0xdd, 0xd4, 0x41, 0x92, 0x72, 0x17, 0x86, 0xe3, - 0x24, 0x8f, 0x5d, 0xdc, 0xa2, 0x9e, 0xc2, 0x68, 0xbf, 0xcb, 0xc1, 0xf2, 0x01, 0xbf, 0x57, 0x54, - 0xe8, 0xa4, 0x16, 0xdf, 0x84, 0xd9, 0x53, 0x73, 0x88, 0xdd, 0x4b, 0xa1, 0x70, 0x25, 0x15, 0x6f, - 0x18, 0x5e, 0x17, 0xe3, 0x34, 0x23, 0x94, 0x9d, 0x10, 0xee, 0xf0, 0xe7, 0xf5, 0x92, 0x68, 0x85, - 0x10, 0x1a, 0x09, 0xe8, 0xc6, 0x68, 0x7a, 0x7b, 0x43, 0x24, 0x60, 0x24, 0x9a, 0x07, 0xab, 0x07, - 0xc1, 0xb1, 0x17, 0xbe, 0x8f, 0x30, 0xef, 0xb2, 0xde, 0xef, 0x73, 0xb0, 0x11, 0x57, 0xda, 0x84, - 0x86, 0x38, 0x7c, 0x8a, 0xad, 0xd6, 0xeb, 0x08, 0x79, 0x36, 0xb2, 0xd5, 0x4f, 0xa0, 0x8a, 0x89, - 0x11, 0x85, 0xa6, 0x47, 0x70, 0x84, 0xc7, 0xfc, 0xa0, 0x4b, 0x7a, 0x05, 0x93, 0xa3, 0x18, 0xa7, - 0xae, 0x43, 0x89, 0x8c, 0x06, 0x89, 0xf7, 0xa9, 0xea, 0x73, 0x64, 0x34, 0xa0, 0x67, 0x2f, 0x52, - 0xa0, 0x42, 0x9c, 0x02, 0xdd, 0x83, 0x32, 0x37, 0x63, 0x5e, 0x2b, 0xf3, 0x14, 0x84, 0x5b, 0x76, - 0x83, 0x62, 0xb4, 0x3f, 0xe4, 0xe0, 0x56, 0xbb, 0x37, 0xde, 0x15, 0xb9, 0xdd, 0x8f, 0x2e, 0xd0, - 0xb5, 0x3d, 0x9f, 0x37, 0x8b, 0xf6, 0x0f, 0x39, 0xb8, 0x95, 0x54, 0xfc, 0x1f, 0x80, 0xae, 0x5a, - 0xb0, 0x42, 0x3d, 0xdc, 0x9e, 0xe9, 0xd9, 0xf8, 0xc2, 0x8e, 0xce, 0x62, 0x49, 0x26, 0x13, 0xcf, - 0xdb, 0x30, 0x3f, 0x30, 0x3d, 0xfb, 0x02, 0xdb, 0xd1, 0x19, 0x5b, 0x35, 0xaf, 0x27, 0x08, 0x6d, - 0x0b, 0xd4, 0x13, 0xd3, 0xc5, 0x36, 0xeb, 0xd4, 0xc4, 0x3c, 0x96, 0x61, 0x86, 0x44, 0x66, 0x24, - 0xf3, 0x2f, 0x0e, 0x68, 0x0f, 0xa0, 0xba, 0x4f, 0xf3, 0xf4, 0x34, 0x19, 0xcf, 0xe2, 0x73, 0xa9, - 0x2c, 0x5e, 0xfb, 0x39, 0x54, 0x59, 0xff, 0x27, 0x26, 0xbb, 0x07, 0xe5, 0x68, 0xe4, 0x79, 0xc8, - 0x35, 0x52, 0x39, 0x1d, 0x70, 0x14, 0x0b, 0x50, 0x6b, 0xb0, 0xda, 0x44, 0xa7, 0xe6, 0xc8, 0x8d, - 0x5e, 0x9a, 0x11, 0xba, 0x30, 0x2f, 0xe5, 0x54, 0xed, 0x5b, 0xa8, 0xf1, 0xdc, 0xe8, 0xdd, 0x14, - 0x1d, 0xa7, 0x4c, 0x85, 0x74, 0xca, 0xa4, 0x83, 0xd2, 0xea, 0xb7, 0x59, 0x11, 0x11, 0xb3, 0xdb, - 0x04, 0x05, 0x13, 0x83, 0x60, 0xcf, 0x71, 0x91, 0x61, 0x5a, 0x29, 0x8e, 0x35, 0x4c, 0xfa, 0x0c, - 0xdd, 0xb0, 0x24, 0x4f, 0x5e, 0x97, 0xe5, 0xd3, 0x75, 0xd9, 0x0e, 0x2c, 0xb5, 0xfa, 0xed, 0x61, - 0xe0, 0x87, 0x51, 0xaa, 0x16, 0xa0, 0x2e, 0x01, 0x11, 0x03, 0x33, 0xbc, 0xe8, 0x33, 0x95, 0x10, - 0xe1, 0x74, 0xda, 0x31, 0x2c, 0x1d, 0x98, 0xd6, 0x81, 0xcf, 0xc3, 0x78, 0x2c, 0x0a, 0x2d, 0x2c, - 0x89, 0x41, 0x22, 0x6c, 0x9d, 0x5f, 0x0a, 0x19, 0x4a, 0x98, 0xf4, 0x19, 0x4c, 0xeb, 0x38, 0x82, - 0x7e, 0x33, 0x42, 0x9e, 0x85, 0x0c, 0x6f, 0x34, 0x94, 0x75, 0x9c, 0xc4, 0x75, 0x47, 0x43, 0xed, - 0x01, 0x2c, 0xf2, 0xa4, 0xeb, 0xc0, 0x4c, 0xec, 0x52, 0x81, 0xc2, 0xd0, 0xb4, 0x84, 0x08, 0xf4, - 0x53, 0x7b, 0x0e, 0x4b, 0x47, 0xa1, 0x79, 0x7a, 0x8a, 0x2d, 0xdd, 0x8c, 0xd0, 0xb5, 0x66, 0xa3, - 0x42, 0x31, 0xa4, 0x16, 0xc0, 0x2d, 0x86, 0x7d, 0x6b, 0xdf, 0xc2, 0x8a, 0x98, 0x4a, 0x75, 0x92, - 0xb2, 0x97, 0x0d, 0x28, 0x45, 0x28, 0x1c, 0x62, 0xcf, 0x74, 0xa5, 0xe4, 0x12, 0xa6, 0x1e, 0x9d, - 0x98, 0xc3, 0xc0, 0xe5, 0xac, 0x4a, 0xba, 0x80, 0xb4, 0x63, 0xd0, 0x74, 0x64, 0xe3, 0x10, 0x59, - 0xd1, 0x0d, 0x3e, 0x68, 0x52, 0xac, 0x89, 0x7b, 0x91, 0xbf, 0x72, 0x2f, 0xfe, 0x1a, 0x3e, 0x91, - 0x6c, 0x6f, 0x72, 0x25, 0xd7, 0xf6, 0x23, 0xdf, 0xbc, 0xc2, 0x49, 0xb2, 0xc2, 0x4d, 0x1e, 0xe1, - 0x9d, 0x25, 0x7f, 0x1c, 0x6b, 0x57, 0x47, 0x43, 0x33, 0x3c, 0x8f, 0x39, 0xa9, 0x50, 0xb4, 0x89, - 0x25, 0x2b, 0x29, 0xf6, 0xad, 0x7d, 0x0d, 0x0b, 0xc7, 0xde, 0xb9, 0xe7, 0x5f, 0x78, 0x69, 0xb2, - 0xb7, 0xec, 0x1a, 0x9e, 0xc0, 0x6d, 0x39, 0x6b, 0x6a, 0xa7, 0xbb, 0x7e, 0xb5, 0xd3, 0x7d, 0x5d, - 0x24, 0xc9, 0xf4, 0xbf, 0xf7, 0x41, 0x69, 0x90, 0xdd, 0xf7, 0x7c, 0x6b, 0xd8, 0x83, 0xd5, 0x06, - 0xd9, 0x7d, 0xbf, 0x16, 0x3e, 0x82, 0xa5, 0xde, 0x90, 0xe0, 0x23, 0xe6, 0x62, 0x12, 0x06, 0xcb, - 0x30, 0x73, 0xea, 0x9a, 0x8e, 0x3c, 0x15, 0x0e, 0xc4, 0x7a, 0xcb, 0x67, 0xf5, 0xc6, 0x2f, 0x7b, - 0x21, 0x75, 0xd9, 0x45, 0x1b, 0x9f, 0x77, 0x26, 0xf2, 0xd8, 0xd6, 0xfe, 0x12, 0xee, 0xf2, 0x25, - 0x98, 0xbf, 0xeb, 0x8f, 0x06, 0x47, 0x9d, 0x93, 0x4c, 0xeb, 0x3b, 0x5d, 0xcd, 0x55, 0x79, 0x35, - 0xb7, 0x0a, 0xb3, 0x96, 0xef, 0x9f, 0x63, 0x79, 0x24, 0x02, 0xd2, 0x7e, 0x01, 0xeb, 0x57, 0x78, - 0xc9, 0x94, 0x86, 0xde, 0x2f, 0x99, 0xd2, 0x08, 0x5e, 0x31, 0xac, 0x6d, 0xc3, 0xea, 0x95, 0x89, - 0xcc, 0x4d, 0x5f, 0xe3, 0x9e, 0x8f, 0xe1, 0xce, 0x15, 0xfa, 0xbe, 0x4e, 0x53, 0x3a, 0x14, 0x52, - 0x57, 0x72, 0x8d, 0x96, 0xee, 0xf2, 0x8e, 0x03, 0xa7, 0x91, 0xd6, 0x9b, 0x60, 0xb4, 0x13, 0xf8, - 0x74, 0x0a, 0xdb, 0x7d, 0x1a, 0x9e, 0x6c, 0x33, 0x42, 0xd4, 0x28, 0xba, 0xe6, 0x10, 0xd1, 0x8a, - 0xca, 0x92, 0x48, 0x23, 0x30, 0xa3, 0x33, 0xc3, 0x33, 0x87, 0x48, 0x5c, 0xc2, 0x45, 0x6b, 0x92, - 0x5e, 0x7b, 0x0e, 0xb7, 0xa6, 0x8a, 0x8b, 0xfd, 0x90, 0xd6, 0x40, 0x4c, 0x33, 0xfc, 0x3b, 0xd1, - 0x0c, 0x87, 0xb5, 0xf6, 0xd4, 0x9d, 0xee, 0x61, 0xcf, 0xc6, 0x9e, 0xd3, 0x6f, 0x37, 0x69, 0x5a, - 0x3a, 0x20, 0xf8, 0xe6, 0x6a, 0x9e, 0x51, 0x68, 0x5d, 0xa8, 0x64, 0x66, 0xae, 0xc0, 0x2c, 0x31, - 0xa8, 0x62, 0x84, 0xbb, 0x9b, 0x21, 0x2f, 0x5c, 0xd3, 0xa1, 0x68, 0xcc, 0xd1, 0xdc, 0xd7, 0xcd, - 0x60, 0x86, 0x56, 0xa0, 0x40, 0x44, 0x7d, 0x5d, 0xd1, 0xe9, 0xa7, 0xf6, 0xa7, 0x1c, 0x2c, 0xf7, - 0xf5, 0x71, 0xbd, 0xe5, 0xd9, 0x3d, 0x1f, 0x7b, 0xd1, 0x1e, 0x3a, 0x33, 0xc7, 0xd8, 0x0f, 0xd5, - 0x1d, 0x28, 0x0d, 0xc4, 0xb7, 0xc8, 0xab, 0x53, 0x49, 0x2e, 0x9d, 0x21, 0x29, 0xf5, 0x98, 0x8e, - 0x06, 0x8e, 0x81, 0xeb, 0x5b, 0xe7, 0xa9, 0x5e, 0x50, 0x89, 0x21, 0x3a, 0xc8, 0x63, 0xcf, 0x74, - 0xbe, 0x8d, 0x52, 0x9d, 0xad, 0x39, 0x0a, 0x8b, 0xa1, 0xd3, 0x91, 0x67, 0xb1, 0x21, 0x9e, 0x60, - 0xcc, 0x51, 0x98, 0x0e, 0x7d, 0x0c, 0x73, 0x66, 0xe8, 0xa4, 0x3a, 0x98, 0xb3, 0x66, 0xe8, 0x74, - 0x90, 0xa7, 0xfd, 0x77, 0x0e, 0x6a, 0x4c, 0x8c, 0x1f, 0xaa, 0x8b, 0x15, 0x98, 0x1d, 0x70, 0x74, - 0x81, 0xa3, 0x07, 0x69, 0x15, 0x15, 0x63, 0x15, 0xa9, 0xbf, 0x82, 0x5b, 0xb2, 0xf9, 0x67, 0xc8, - 0xad, 0x1a, 0x24, 0x0a, 0x47, 0x56, 0x34, 0x0a, 0x11, 0x13, 0xab, 0xbc, 0x73, 0x37, 0xab, 0x9c, - 0x49, 0x75, 0xea, 0xeb, 0x92, 0x85, 0xc4, 0xf4, 0x25, 0x03, 0xed, 0x15, 0x7c, 0x3c, 0xc5, 0x3a, - 0x5a, 0xdd, 0x4e, 0xef, 0x9a, 0x1b, 0xf0, 0x10, 0x8a, 0xc8, 0x73, 0x03, 0xb6, 0x9d, 0xda, 0x8e, - 0x9a, 0xea, 0x29, 0x77, 0x3b, 0x3d, 0x5e, 0xec, 0xd0, 0x71, 0xed, 0x4b, 0x28, 0xf5, 0xf5, 0x57, - 0xb4, 0xd6, 0x8f, 0xae, 0xe1, 0xb4, 0x0a, 0xb3, 0x17, 0x6c, 0x5c, 0x9c, 0x96, 0x80, 0xb4, 0x5f, - 0x43, 0x45, 0xf8, 0xc3, 0x17, 0x8c, 0x6e, 0x05, 0x66, 0xc7, 0x19, 0xcd, 0x8e, 0xa5, 0x0a, 0xcd, - 0x8c, 0x66, 0x4d, 0x89, 0x26, 0x19, 0xcd, 0x92, 0x09, 0x85, 0x17, 0x53, 0x0a, 0xd7, 0xf4, 0x78, - 0x2d, 0x2a, 0x7a, 0x43, 0x7d, 0x92, 0x96, 0xb4, 0x9c, 0xb1, 0xba, 0x94, 0x48, 0x72, 0x07, 0xd3, - 0x93, 0xa1, 0xff, 0xcc, 0x65, 0x98, 0xee, 0xbd, 0x23, 0x53, 0x61, 0x03, 0xf9, 0xb7, 0xb6, 0x81, - 0xc2, 0xfb, 0xda, 0xc0, 0x6f, 0xa7, 0x38, 0xf0, 0xbe, 0x2e, 0x64, 0xeb, 0x60, 0x12, 0xa9, 0x5b, - 0xf1, 0x51, 0xf1, 0x2d, 0xa8, 0xe9, 0xc5, 0xf8, 0x21, 0xcb, 0xe3, 0x53, 0x7f, 0x9e, 0x0a, 0x75, - 0x37, 0xf5, 0xfd, 0x92, 0x58, 0xf7, 0x35, 0xdc, 0xbb, 0x1a, 0x40, 0x1c, 0x1a, 0xc2, 0x5a, 0x42, - 0xe6, 0x1b, 0x1e, 0x4e, 0x77, 0xe0, 0xf6, 0x95, 0xc9, 0xc7, 0xcd, 0x5e, 0x13, 0x91, 0xa8, 0xe7, - 0x87, 0xac, 0x87, 0x1a, 0xa7, 0x9f, 0x55, 0x9d, 0x7d, 0x6b, 0x4d, 0x58, 0xbb, 0x3a, 0x87, 0xe7, - 0x11, 0xef, 0x90, 0x3f, 0x74, 0xa1, 0x96, 0xe2, 0x72, 0xd4, 0x39, 0x99, 0x3a, 0x77, 0x13, 0x8a, - 0x91, 0x3b, 0xbe, 0x59, 0x15, 0x8c, 0x42, 0x6b, 0xc2, 0x72, 0x8a, 0x5f, 0x12, 0xaf, 0x9f, 0x08, - 0x0e, 0x3c, 0x6f, 0x58, 0x4b, 0x54, 0x9f, 0x5d, 0x5d, 0x70, 0x11, 0xd5, 0x63, 0xfd, 0x03, 0xac, - 0x1e, 0xb3, 0x49, 0x69, 0xfd, 0x27, 0x48, 0x4a, 0xff, 0x0a, 0xee, 0xb5, 0x7b, 0xf5, 0x9f, 0x24, - 0xab, 0xdb, 0x02, 0xa5, 0x81, 0x1d, 0xaa, 0xe8, 0xf6, 0xcb, 0xde, 0x01, 0x8a, 0x42, 0x6c, 0x51, - 0x0f, 0x36, 0x64, 0x5f, 0x4c, 0xd0, 0xa2, 0x2e, 0x20, 0xed, 0x2b, 0xa8, 0x09, 0xda, 0x77, 0xb7, - 0xaa, 0xe7, 0x50, 0xa5, 0x73, 0xd3, 0x4d, 0x8f, 0xf4, 0xf1, 0xdf, 0x64, 0x40, 0x23, 0xa8, 0x75, - 0x68, 0xe1, 0x25, 0xf7, 0xcd, 0xea, 0x25, 0xc7, 0xf5, 0x07, 0xb1, 0xc6, 0x44, 0x7f, 0x99, 0xe3, - 0x98, 0xca, 0x12, 0x9d, 0xda, 0x66, 0x64, 0x3e, 0xcd, 0xe8, 0xb4, 0x49, 0x31, 0x59, 0x82, 0x1d, - 0xd9, 0x1e, 0x8f, 0x09, 0x76, 0xb4, 0x57, 0xb0, 0x9e, 0x59, 0x36, 0xa3, 0xee, 0xaf, 0xa6, 0xa9, - 0x3b, 0x65, 0xc3, 0x59, 0x81, 0xb3, 0x2a, 0xff, 0x63, 0x0e, 0xca, 0xbc, 0xab, 0xc7, 0x03, 0xc1, - 0x06, 0x94, 0xfc, 0x31, 0x0a, 0x5d, 0xdf, 0xb4, 0x65, 0x7d, 0x25, 0x61, 0xf6, 0x97, 0x41, 0x14, - 0x99, 0xd6, 0x99, 0xf8, 0xcb, 0xa0, 0xa4, 0xc7, 0x30, 0x7b, 0x50, 0x7b, 0x1d, 0xa1, 0x90, 0xd6, - 0x65, 0x3c, 0x28, 0xc4, 0x30, 0x7b, 0x2b, 0x18, 0x84, 0x22, 0x28, 0xd0, 0x4f, 0x7a, 0xa8, 0xbc, - 0x93, 0xcf, 0x82, 0x6b, 0x49, 0x17, 0x10, 0x4d, 0x7b, 0x45, 0x13, 0xbb, 0xa4, 0xe7, 0xc7, 0x75, - 0xed, 0xef, 0x59, 0x1b, 0xb8, 0xfd, 0xb2, 0xf7, 0x42, 0xe6, 0xcf, 0xb6, 0x7f, 0xe1, 0x09, 0xc1, - 0xd8, 0xb7, 0x7a, 0x07, 0xc0, 0xf3, 0x8d, 0x91, 0xc7, 0x5e, 0xb6, 0x85, 0x58, 0xf3, 0x9e, 0x7f, - 0xcc, 0x11, 0xf4, 0x2a, 0x4a, 0x73, 0x4e, 0x2e, 0x54, 0x49, 0xaf, 0x08, 0x83, 0xe6, 0x36, 0xff, - 0x00, 0x6a, 0x41, 0xe8, 0x07, 0xa6, 0x43, 0x33, 0x45, 0x8f, 0x10, 0x53, 0xc8, 0x5a, 0x8d, 0xb1, - 0x5d, 0x42, 0x4c, 0xed, 0x19, 0xcc, 0x77, 0x48, 0x3f, 0xd4, 0x4d, 0xcf, 0x61, 0x96, 0x35, 0x40, - 0xc9, 0xef, 0x53, 0x1c, 0xa0, 0x5b, 0x45, 0x9e, 0x7c, 0x3e, 0xa0, 0x9f, 0xda, 0xef, 0xd9, 0xeb, - 0x49, 0x3f, 0xdc, 0x37, 0x03, 0xde, 0x4d, 0xc7, 0x88, 0x2d, 0x88, 0x83, 0xf1, 0xae, 0x41, 0x46, - 0x01, 0x75, 0x96, 0x48, 0xea, 0xba, 0x4a, 0xb1, 0x7d, 0x89, 0x14, 0x64, 0xf5, 0x14, 0x59, 0x3e, - 0x26, 0xab, 0x27, 0x64, 0x8f, 0x61, 0x36, 0xa4, 0x32, 0xc9, 0x4e, 0xdc, 0x52, 0xba, 0x59, 0x29, - 0xe4, 0xd5, 0x05, 0x89, 0xf6, 0x4b, 0xa8, 0x51, 0x24, 0x7b, 0xfa, 0xd8, 0xa3, 0xa9, 0x5b, 0x6a, - 0x7a, 0xee, 0xcd, 0xd3, 0xff, 0xae, 0x00, 0x0b, 0x9d, 0xc4, 0xf6, 0x58, 0xe7, 0x57, 0x85, 0x62, - 0x2a, 0xb3, 0x66, 0xdf, 0xea, 0x63, 0x19, 0x8f, 0x79, 0x23, 0x76, 0x65, 0xb2, 0x87, 0x9c, 0x09, - 0xc7, 0x0f, 0x61, 0x81, 0x1f, 0x52, 0xf2, 0xbc, 0xc3, 0xfd, 0x1e, 0x3f, 0x3b, 0xf9, 0xc0, 0xa3, - 0x3e, 0x06, 0x75, 0x82, 0xce, 0x18, 0xd7, 0xc5, 0x8b, 0xca, 0x42, 0x86, 0xf4, 0xa4, 0xce, 0x9b, - 0x1c, 0x98, 0xb0, 0x37, 0x27, 0x66, 0x66, 0x15, 0xbd, 0x44, 0x11, 0x8d, 0x10, 0x99, 0xec, 0x79, - 0x92, 0x75, 0x7b, 0x98, 0xb1, 0x55, 0x74, 0x01, 0xa9, 0xfb, 0xb0, 0x40, 0x42, 0xc3, 0x4a, 0x9d, - 0x15, 0x7b, 0x1c, 0x9f, 0x68, 0x82, 0x67, 0x4f, 0x53, 0xaf, 0x91, 0xec, 0xe9, 0x7e, 0x02, 0x55, - 0x12, 0x1a, 0xa6, 0xeb, 0xd0, 0xe2, 0xe0, 0x6c, 0x48, 0xd6, 0x4a, 0x6c, 0x8d, 0x0a, 0x09, 0x1b, - 0x31, 0x4e, 0xfd, 0x73, 0xa8, 0x91, 0x50, 0xbc, 0x4a, 0xb1, 0x14, 0x7a, 0x6d, 0x9e, 0x2d, 0xb4, - 0x96, 0x5d, 0x28, 0x39, 0x27, 0x3a, 0x3f, 0x81, 0xb4, 0x3f, 0x16, 0x33, 0x07, 0xd1, 0xc1, 0xde, - 0xf9, 0xd4, 0x83, 0x98, 0xa2, 0xdb, 0xfc, 0xdb, 0xeb, 0xb6, 0x30, 0x5d, 0xb7, 0x9b, 0xa0, 0x88, - 0x47, 0x95, 0x84, 0x2b, 0x3f, 0x86, 0x1a, 0xc7, 0xc7, 0x6c, 0x3f, 0x83, 0xa5, 0x49, 0x4a, 0x23, - 0x7e, 0xd6, 0x52, 0xb2, 0xc4, 0x27, 0x75, 0xea, 0x08, 0x99, 0x17, 0x35, 0x9c, 0xd0, 0x1f, 0x05, - 0xec, 0x70, 0xaa, 0x3a, 0x30, 0xd4, 0x4b, 0x8a, 0x51, 0xb7, 0x60, 0xd1, 0xe6, 0x0d, 0x3c, 0x23, - 0x42, 0x86, 0x88, 0x0c, 0xfc, 0xff, 0x85, 0x05, 0x31, 0x70, 0x84, 0x44, 0xe8, 0xb8, 0x03, 0x80, - 0x9d, 0x40, 0x12, 0x95, 0xf8, 0xd3, 0x35, 0x76, 0x82, 0x24, 0xb2, 0x08, 0x1b, 0x98, 0xcf, 0xd8, - 0x40, 0xa6, 0x8d, 0x09, 0x13, 0x6d, 0x4c, 0xf5, 0x29, 0x2c, 0x87, 0x88, 0xa0, 0x70, 0x6c, 0x0e, - 0x5c, 0x64, 0x24, 0x84, 0x65, 0x46, 0xb8, 0x94, 0x8c, 0xed, 0xa5, 0xa7, 0x8c, 0x3c, 0x3e, 0x80, - 0xec, 0xd4, 0x94, 0xca, 0xfd, 0x02, 0x9d, 0x92, 0x8c, 0x25, 0x53, 0x36, 0x41, 0xa1, 0x26, 0x64, - 0xff, 0xda, 0xb4, 0x90, 0x67, 0x5d, 0x1a, 0x34, 0x5b, 0xad, 0xb2, 0x0d, 0xd4, 0x48, 0xd8, 0x90, - 0xe8, 0x3e, 0xe6, 0x0d, 0xd4, 0xd0, 0x75, 0xc8, 0x5a, 0x8d, 0xfd, 0x8e, 0xc0, 0x01, 0xed, 0x6f, - 0x73, 0xb0, 0x98, 0xb2, 0x0e, 0xf1, 0x8c, 0xf2, 0x14, 0xe8, 0xf6, 0x8d, 0x74, 0xa2, 0x9c, 0x79, - 0x4b, 0x91, 0x8e, 0x56, 0x2f, 0x61, 0x27, 0x78, 0x21, 0x0b, 0x08, 0xa1, 0xa4, 0x7c, 0x46, 0x49, - 0x1a, 0xb3, 0x71, 0xf1, 0xe0, 0x43, 0xe2, 0x27, 0xdd, 0x32, 0x11, 0x4f, 0x36, 0x7d, 0x6c, 0x6b, - 0xff, 0xcc, 0x62, 0x4b, 0x12, 0xa7, 0x3e, 0x83, 0x62, 0xea, 0x59, 0x69, 0x3d, 0xbd, 0x72, 0xc6, - 0xa1, 0xe8, 0x8c, 0x8c, 0x92, 0xbb, 0xd8, 0x3b, 0x17, 0x1e, 0x64, 0x3a, 0x39, 0x35, 0x7b, 0x9d, - 0x91, 0xa9, 0xcf, 0x32, 0x7f, 0x22, 0x94, 0x77, 0x6e, 0x4d, 0x9d, 0x20, 0xfe, 0xef, 0x91, 0x3f, - 0x56, 0xe8, 0xa0, 0x88, 0xf4, 0xe1, 0x07, 0xf6, 0x6e, 0xa6, 0x34, 0x7f, 0xff, 0x3d, 0x0f, 0xab, - 0xb4, 0x3c, 0x88, 0x93, 0xff, 0xfe, 0x68, 0xc0, 0xf3, 0x5f, 0xf5, 0x89, 0xbc, 0x64, 0x71, 0x15, - 0x9d, 0xfc, 0xd6, 0xa2, 0xb8, 0xf1, 0xe5, 0xee, 0xf0, 0x97, 0xa8, 0x2d, 0x58, 0x4c, 0x1e, 0xe3, - 0x24, 0x31, 0x5f, 0x7f, 0x21, 0x7e, 0x77, 0x13, 0xb4, 0x8f, 0x60, 0x81, 0x56, 0xd4, 0x11, 0xf6, - 0x3d, 0x23, 0xf3, 0xac, 0x55, 0x93, 0xe8, 0x84, 0xd0, 0x0c, 0x9d, 0x11, 0xad, 0x0a, 0x24, 0x21, - 0xcf, 0x22, 0x6b, 0x12, 0x2d, 0x08, 0x9f, 0xc2, 0x32, 0xcb, 0x60, 0x03, 0x9f, 0x26, 0xac, 0x09, - 0x5b, 0x5e, 0xa5, 0x2f, 0x65, 0xc6, 0xae, 0x9b, 0x22, 0x7e, 0x01, 0x99, 0x9d, 0x32, 0xe5, 0x90, - 0xff, 0x0f, 0xf2, 0x00, 0x2a, 0x4c, 0x57, 0xed, 0x66, 0x5c, 0x88, 0x52, 0x7d, 0x1b, 0x4f, 0x65, - 0x21, 0x4a, 0xa1, 0xa7, 0xda, 0x53, 0x98, 0xa3, 0x64, 0x54, 0x87, 0x0f, 0xa1, 0x10, 0xb9, 0xe3, - 0x1b, 0x53, 0x35, 0x4a, 0xa0, 0xfd, 0x5b, 0x1e, 0x56, 0xe8, 0x9c, 0xb6, 0x77, 0xea, 0x87, 0x43, - 0xd6, 0x24, 0x13, 0xa7, 0x20, 0xaa, 0xbf, 0x5c, 0x52, 0xfd, 0x3d, 0xc9, 0x46, 0xab, 0x89, 0x46, - 0x88, 0x14, 0x4e, 0x9a, 0xc2, 0x63, 0x58, 0xbc, 0x52, 0x2b, 0x0a, 0x6d, 0x2b, 0x93, 0x15, 0xa0, - 0xfa, 0x1d, 0x54, 0x68, 0x9a, 0xcf, 0x52, 0x7d, 0x9a, 0x62, 0x16, 0x99, 0xdc, 0x9f, 0x67, 0x57, - 0xb8, 0x22, 0xe3, 0xb6, 0xb0, 0x19, 0x77, 0x4c, 0x5a, 0x5e, 0x14, 0x5e, 0xea, 0x40, 0x62, 0xc4, - 0x46, 0x0f, 0x16, 0x26, 0x86, 0xa7, 0x74, 0xff, 0x1e, 0xa5, 0x33, 0xdf, 0xf2, 0xce, 0x62, 0x76, - 0x41, 0x5a, 0xcb, 0xf0, 0xf1, 0xaf, 0xf2, 0x5f, 0xe6, 0xb4, 0x7f, 0xc9, 0x81, 0x42, 0xd1, 0x9d, - 0x67, 0x7d, 0x14, 0x8e, 0xb1, 0x85, 0xa8, 0x9a, 0xf6, 0x44, 0x81, 0x92, 0x24, 0xc6, 0x8f, 0xb2, - 0x4c, 0xd2, 0xd4, 0xdb, 0x19, 0x69, 0x59, 0x25, 0x43, 0x45, 0x3d, 0x80, 0xca, 0x8f, 0x29, 0xe7, - 0x17, 0x30, 0x2f, 0xdc, 0x0b, 0xef, 0xa9, 0xbd, 0x5d, 0xd2, 0xbe, 0x45, 0xd8, 0x6f, 0x09, 0xe2, - 0xa1, 0x58, 0x5d, 0x82, 0x85, 0x4e, 0xdf, 0xa0, 0xa0, 0x71, 0xdc, 0xfd, 0xb6, 0x7b, 0xf8, 0xaa, - 0xab, 0x7c, 0xa4, 0x2a, 0x50, 0x91, 0xc8, 0xee, 0x61, 0xb3, 0xa5, 0xe4, 0xd2, 0x98, 0x4e, 0xbb, - 0xfb, 0xad, 0x92, 0x57, 0x57, 0x60, 0x51, 0x62, 0x7a, 0x7a, 0xeb, 0x45, 0xfb, 0x7b, 0xe3, 0x64, - 0x57, 0x29, 0x4c, 0x43, 0xd7, 0x95, 0xe2, 0xd6, 0x7f, 0xb1, 0x47, 0xec, 0xe4, 0xad, 0x58, 0xfd, - 0x18, 0x96, 0x3a, 0x7d, 0xa3, 0xa7, 0x1f, 0x1e, 0x1d, 0xee, 0x1f, 0x76, 0x52, 0x6b, 0x4f, 0x0c, - 0xb4, 0xfb, 0xed, 0xbe, 0xd1, 0x79, 0xaa, 0xe4, 0xa6, 0x0f, 0xec, 0x28, 0xf9, 0xc9, 0x81, 0xc3, - 0x7e, 0xef, 0x85, 0x71, 0xb2, 0xa3, 0x14, 0xd4, 0x55, 0x50, 0xd3, 0x03, 0xcd, 0xb6, 0xde, 0xda, - 0x3f, 0x52, 0x8a, 0x93, 0xf8, 0xfe, 0x51, 0xe3, 0xa8, 0xbd, 0xaf, 0xcc, 0x4c, 0x67, 0xf4, 0x4c, - 0x99, 0xdd, 0xfa, 0x8f, 0x19, 0x7e, 0x31, 0x63, 0x3b, 0xae, 0x40, 0x49, 0x6f, 0xf5, 0x5b, 0xfa, - 0x49, 0xab, 0xa9, 0x7c, 0xa4, 0xce, 0x41, 0xa1, 0xd5, 0x6d, 0x72, 0x2d, 0xb5, 0xba, 0x4d, 0xe3, - 0x55, 0xfb, 0xe8, 0x1b, 0xa3, 0xd7, 0xef, 0x29, 0xf9, 0x0c, 0xe6, 0xb8, 0xdf, 0x53, 0x0a, 0xea, - 0x32, 0x28, 0x69, 0x1a, 0x86, 0x2d, 0xaa, 0x25, 0x28, 0xb6, 0xba, 0xcd, 0xef, 0x95, 0x19, 0x75, - 0x11, 0xaa, 0xf4, 0x2b, 0x61, 0x32, 0x9b, 0x45, 0x51, 0xfa, 0x39, 0xaa, 0xe6, 0x0c, 0x15, 0x43, - 0x97, 0x04, 0x9b, 0x23, 0x65, 0x5e, 0xcc, 0x39, 0x4a, 0xd8, 0x40, 0x16, 0x45, 0xe9, 0xcb, 0x82, - 0xcd, 0x51, 0x96, 0x4d, 0x45, 0x50, 0x1a, 0x7b, 0x75, 0xa3, 0xd5, 0xdd, 0x6f, 0xf4, 0xfa, 0x4a, - 0x4d, 0x05, 0x98, 0x65, 0xa8, 0x03, 0x65, 0x41, 0x2d, 0xc3, 0x1c, 0xfd, 0x6e, 0x7e, 0x5f, 0x57, - 0x94, 0x04, 0xd8, 0x55, 0x16, 0x63, 0xe0, 0xa8, 0xae, 0xa8, 0x09, 0xb0, 0xab, 0x2c, 0x51, 0x8d, - 0x09, 0xa0, 0xae, 0x2c, 0x27, 0x93, 0x76, 0x94, 0x95, 0x78, 0xe8, 0xfb, 0x9d, 0x13, 0x65, 0x35, - 0x21, 0xdc, 0x39, 0x56, 0x3e, 0x4e, 0x41, 0x07, 0xca, 0x9a, 0x10, 0x37, 0x91, 0xcb, 0xd0, 0x91, - 0xad, 0xdc, 0x9a, 0x50, 0x72, 0x53, 0xb9, 0x3d, 0x45, 0xc9, 0x4d, 0xe5, 0x4e, 0x06, 0x7b, 0x2c, - 0xb0, 0x77, 0xd5, 0x35, 0x58, 0x9e, 0x3c, 0x10, 0x36, 0x72, 0x6f, 0x52, 0xef, 0x4d, 0xe5, 0xfe, - 0x34, 0xbd, 0x37, 0x95, 0x9f, 0x65, 0xd1, 0x92, 0x81, 0xa6, 0xae, 0xc3, 0xca, 0x95, 0x53, 0x62, - 0x43, 0x9f, 0x4c, 0x1e, 0x46, 0x53, 0xf9, 0x74, 0xda, 0x61, 0x34, 0x95, 0x07, 0x59, 0xb4, 0x64, - 0xf0, 0x50, 0xf0, 0x3e, 0xba, 0xca, 0xfb, 0xd1, 0x56, 0x93, 0x2a, 0x8d, 0xf7, 0x46, 0x99, 0xa5, - 0x8a, 0x84, 0x4a, 0xf9, 0x48, 0x9d, 0x87, 0x19, 0x8a, 0xa5, 0xd7, 0x49, 0x7c, 0xd2, 0x0b, 0x24, - 0x3e, 0x9f, 0x29, 0x05, 0xf9, 0xb9, 0xab, 0x14, 0x07, 0xb3, 0xcc, 0x77, 0x3c, 0xfb, 0xff, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x20, 0xd4, 0x19, 0x15, 0x72, 0x33, 0x00, 0x00, +func file_attribute_proto_rawDescGZIP() []byte { + file_attribute_proto_rawDescOnce.Do(func() { + file_attribute_proto_rawDescData = protoimpl.X.CompressGZIP(file_attribute_proto_rawDescData) + }) + return file_attribute_proto_rawDescData +} + +var file_attribute_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_attribute_proto_msgTypes = make([]protoimpl.MessageInfo, 115) +var file_attribute_proto_goTypes = []interface{}{ + (LsNLRIType)(0), // 0: apipb.LsNLRIType + (LsProtocolID)(0), // 1: apipb.LsProtocolID + (SRv6Behavior)(0), // 2: apipb.SRv6Behavior + (ENLPType)(0), // 3: apipb.ENLPType + (*OriginAttribute)(nil), // 4: apipb.OriginAttribute + (*AsSegment)(nil), // 5: apipb.AsSegment + (*AsPathAttribute)(nil), // 6: apipb.AsPathAttribute + (*NextHopAttribute)(nil), // 7: apipb.NextHopAttribute + (*MultiExitDiscAttribute)(nil), // 8: apipb.MultiExitDiscAttribute + (*LocalPrefAttribute)(nil), // 9: apipb.LocalPrefAttribute + (*AtomicAggregateAttribute)(nil), // 10: apipb.AtomicAggregateAttribute + (*AggregatorAttribute)(nil), // 11: apipb.AggregatorAttribute + (*CommunitiesAttribute)(nil), // 12: apipb.CommunitiesAttribute + (*OriginatorIdAttribute)(nil), // 13: apipb.OriginatorIdAttribute + (*ClusterListAttribute)(nil), // 14: apipb.ClusterListAttribute + (*IPAddressPrefix)(nil), // 15: apipb.IPAddressPrefix + (*LabeledIPAddressPrefix)(nil), // 16: apipb.LabeledIPAddressPrefix + (*EncapsulationNLRI)(nil), // 17: apipb.EncapsulationNLRI + (*RouteDistinguisherTwoOctetAS)(nil), // 18: apipb.RouteDistinguisherTwoOctetAS + (*RouteDistinguisherIPAddress)(nil), // 19: apipb.RouteDistinguisherIPAddress + (*RouteDistinguisherFourOctetAS)(nil), // 20: apipb.RouteDistinguisherFourOctetAS + (*EthernetSegmentIdentifier)(nil), // 21: apipb.EthernetSegmentIdentifier + (*EVPNEthernetAutoDiscoveryRoute)(nil), // 22: apipb.EVPNEthernetAutoDiscoveryRoute + (*EVPNMACIPAdvertisementRoute)(nil), // 23: apipb.EVPNMACIPAdvertisementRoute + (*EVPNInclusiveMulticastEthernetTagRoute)(nil), // 24: apipb.EVPNInclusiveMulticastEthernetTagRoute + (*EVPNEthernetSegmentRoute)(nil), // 25: apipb.EVPNEthernetSegmentRoute + (*EVPNIPPrefixRoute)(nil), // 26: apipb.EVPNIPPrefixRoute + (*EVPNIPMSIRoute)(nil), // 27: apipb.EVPNIPMSIRoute + (*SRPolicyNLRI)(nil), // 28: apipb.SRPolicyNLRI + (*LabeledVPNIPAddressPrefix)(nil), // 29: apipb.LabeledVPNIPAddressPrefix + (*RouteTargetMembershipNLRI)(nil), // 30: apipb.RouteTargetMembershipNLRI + (*FlowSpecIPPrefix)(nil), // 31: apipb.FlowSpecIPPrefix + (*FlowSpecMAC)(nil), // 32: apipb.FlowSpecMAC + (*FlowSpecComponentItem)(nil), // 33: apipb.FlowSpecComponentItem + (*FlowSpecComponent)(nil), // 34: apipb.FlowSpecComponent + (*FlowSpecNLRI)(nil), // 35: apipb.FlowSpecNLRI + (*VPNFlowSpecNLRI)(nil), // 36: apipb.VPNFlowSpecNLRI + (*OpaqueNLRI)(nil), // 37: apipb.OpaqueNLRI + (*LsNodeDescriptor)(nil), // 38: apipb.LsNodeDescriptor + (*LsLinkDescriptor)(nil), // 39: apipb.LsLinkDescriptor + (*LsPrefixDescriptor)(nil), // 40: apipb.LsPrefixDescriptor + (*LsNodeNLRI)(nil), // 41: apipb.LsNodeNLRI + (*LsLinkNLRI)(nil), // 42: apipb.LsLinkNLRI + (*LsPrefixV4NLRI)(nil), // 43: apipb.LsPrefixV4NLRI + (*LsPrefixV6NLRI)(nil), // 44: apipb.LsPrefixV6NLRI + (*LsAddrPrefix)(nil), // 45: apipb.LsAddrPrefix + (*MpReachNLRIAttribute)(nil), // 46: apipb.MpReachNLRIAttribute + (*MpUnreachNLRIAttribute)(nil), // 47: apipb.MpUnreachNLRIAttribute + (*TwoOctetAsSpecificExtended)(nil), // 48: apipb.TwoOctetAsSpecificExtended + (*IPv4AddressSpecificExtended)(nil), // 49: apipb.IPv4AddressSpecificExtended + (*FourOctetAsSpecificExtended)(nil), // 50: apipb.FourOctetAsSpecificExtended + (*LinkBandiwdthExtended)(nil), // 51: apipb.LinkBandiwdthExtended + (*ValidationExtended)(nil), // 52: apipb.ValidationExtended + (*ColorExtended)(nil), // 53: apipb.ColorExtended + (*EncapExtended)(nil), // 54: apipb.EncapExtended + (*DefaultGatewayExtended)(nil), // 55: apipb.DefaultGatewayExtended + (*OpaqueExtended)(nil), // 56: apipb.OpaqueExtended + (*ESILabelExtended)(nil), // 57: apipb.ESILabelExtended + (*ESImportRouteTarget)(nil), // 58: apipb.ESImportRouteTarget + (*MacMobilityExtended)(nil), // 59: apipb.MacMobilityExtended + (*RouterMacExtended)(nil), // 60: apipb.RouterMacExtended + (*TrafficRateExtended)(nil), // 61: apipb.TrafficRateExtended + (*TrafficActionExtended)(nil), // 62: apipb.TrafficActionExtended + (*RedirectTwoOctetAsSpecificExtended)(nil), // 63: apipb.RedirectTwoOctetAsSpecificExtended + (*RedirectIPv4AddressSpecificExtended)(nil), // 64: apipb.RedirectIPv4AddressSpecificExtended + (*RedirectFourOctetAsSpecificExtended)(nil), // 65: apipb.RedirectFourOctetAsSpecificExtended + (*TrafficRemarkExtended)(nil), // 66: apipb.TrafficRemarkExtended + (*UnknownExtended)(nil), // 67: apipb.UnknownExtended + (*ExtendedCommunitiesAttribute)(nil), // 68: apipb.ExtendedCommunitiesAttribute + (*As4PathAttribute)(nil), // 69: apipb.As4PathAttribute + (*As4AggregatorAttribute)(nil), // 70: apipb.As4AggregatorAttribute + (*PmsiTunnelAttribute)(nil), // 71: apipb.PmsiTunnelAttribute + (*TunnelEncapSubTLVEncapsulation)(nil), // 72: apipb.TunnelEncapSubTLVEncapsulation + (*TunnelEncapSubTLVProtocol)(nil), // 73: apipb.TunnelEncapSubTLVProtocol + (*TunnelEncapSubTLVColor)(nil), // 74: apipb.TunnelEncapSubTLVColor + (*TunnelEncapSubTLVSRPreference)(nil), // 75: apipb.TunnelEncapSubTLVSRPreference + (*TunnelEncapSubTLVSRCandidatePathName)(nil), // 76: apipb.TunnelEncapSubTLVSRCandidatePathName + (*TunnelEncapSubTLVSRPriority)(nil), // 77: apipb.TunnelEncapSubTLVSRPriority + (*TunnelEncapSubTLVSRBindingSID)(nil), // 78: apipb.TunnelEncapSubTLVSRBindingSID + (*SRBindingSID)(nil), // 79: apipb.SRBindingSID + (*SRv6EndPointBehavior)(nil), // 80: apipb.SRv6EndPointBehavior + (*SRv6BindingSID)(nil), // 81: apipb.SRv6BindingSID + (*TunnelEncapSubTLVSRENLP)(nil), // 82: apipb.TunnelEncapSubTLVSRENLP + (*SRWeight)(nil), // 83: apipb.SRWeight + (*SegmentFlags)(nil), // 84: apipb.SegmentFlags + (*SegmentTypeA)(nil), // 85: apipb.SegmentTypeA + (*SegmentTypeB)(nil), // 86: apipb.SegmentTypeB + (*TunnelEncapSubTLVSRSegmentList)(nil), // 87: apipb.TunnelEncapSubTLVSRSegmentList + (*TunnelEncapSubTLVEgressEndpoint)(nil), // 88: apipb.TunnelEncapSubTLVEgressEndpoint + (*TunnelEncapSubTLVUDPDestPort)(nil), // 89: apipb.TunnelEncapSubTLVUDPDestPort + (*TunnelEncapSubTLVUnknown)(nil), // 90: apipb.TunnelEncapSubTLVUnknown + (*TunnelEncapTLV)(nil), // 91: apipb.TunnelEncapTLV + (*TunnelEncapAttribute)(nil), // 92: apipb.TunnelEncapAttribute + (*IPv6AddressSpecificExtended)(nil), // 93: apipb.IPv6AddressSpecificExtended + (*RedirectIPv6AddressSpecificExtended)(nil), // 94: apipb.RedirectIPv6AddressSpecificExtended + (*IP6ExtendedCommunitiesAttribute)(nil), // 95: apipb.IP6ExtendedCommunitiesAttribute + (*AigpTLVIGPMetric)(nil), // 96: apipb.AigpTLVIGPMetric + (*AigpTLVUnknown)(nil), // 97: apipb.AigpTLVUnknown + (*AigpAttribute)(nil), // 98: apipb.AigpAttribute + (*LargeCommunity)(nil), // 99: apipb.LargeCommunity + (*LargeCommunitiesAttribute)(nil), // 100: apipb.LargeCommunitiesAttribute + (*LsNodeFlags)(nil), // 101: apipb.LsNodeFlags + (*LsIGPFlags)(nil), // 102: apipb.LsIGPFlags + (*LsSrRange)(nil), // 103: apipb.LsSrRange + (*LsSrCapabilities)(nil), // 104: apipb.LsSrCapabilities + (*LsSrLocalBlock)(nil), // 105: apipb.LsSrLocalBlock + (*LsAttributeNode)(nil), // 106: apipb.LsAttributeNode + (*LsAttributeLink)(nil), // 107: apipb.LsAttributeLink + (*LsAttributePrefix)(nil), // 108: apipb.LsAttributePrefix + (*LsAttribute)(nil), // 109: apipb.LsAttribute + (*UnknownAttribute)(nil), // 110: apipb.UnknownAttribute + (*SRv6StructureSubSubTLV)(nil), // 111: apipb.SRv6StructureSubSubTLV + (*SRv6SIDFlags)(nil), // 112: apipb.SRv6SIDFlags + (*SRv6TLV)(nil), // 113: apipb.SRv6TLV + (*SRv6InformationSubTLV)(nil), // 114: apipb.SRv6InformationSubTLV + (*SRv6L3ServiceTLV)(nil), // 115: apipb.SRv6L3ServiceTLV + (*PrefixSID)(nil), // 116: apipb.PrefixSID + nil, // 117: apipb.SRv6InformationSubTLV.SubSubTlvsEntry + nil, // 118: apipb.SRv6L3ServiceTLV.SubTlvsEntry + (*anypb.Any)(nil), // 119: google.protobuf.Any + (*Family)(nil), // 120: apipb.Family +} +var file_attribute_proto_depIdxs = []int32{ + 5, // 0: apipb.AsPathAttribute.segments:type_name -> apipb.AsSegment + 119, // 1: apipb.EVPNEthernetAutoDiscoveryRoute.rd:type_name -> google.protobuf.Any + 21, // 2: apipb.EVPNEthernetAutoDiscoveryRoute.esi:type_name -> apipb.EthernetSegmentIdentifier + 119, // 3: apipb.EVPNMACIPAdvertisementRoute.rd:type_name -> google.protobuf.Any + 21, // 4: apipb.EVPNMACIPAdvertisementRoute.esi:type_name -> apipb.EthernetSegmentIdentifier + 119, // 5: apipb.EVPNInclusiveMulticastEthernetTagRoute.rd:type_name -> google.protobuf.Any + 119, // 6: apipb.EVPNEthernetSegmentRoute.rd:type_name -> google.protobuf.Any + 21, // 7: apipb.EVPNEthernetSegmentRoute.esi:type_name -> apipb.EthernetSegmentIdentifier + 119, // 8: apipb.EVPNIPPrefixRoute.rd:type_name -> google.protobuf.Any + 21, // 9: apipb.EVPNIPPrefixRoute.esi:type_name -> apipb.EthernetSegmentIdentifier + 119, // 10: apipb.EVPNIPMSIRoute.rd:type_name -> google.protobuf.Any + 119, // 11: apipb.EVPNIPMSIRoute.rt:type_name -> google.protobuf.Any + 119, // 12: apipb.LabeledVPNIPAddressPrefix.rd:type_name -> google.protobuf.Any + 119, // 13: apipb.RouteTargetMembershipNLRI.rt:type_name -> google.protobuf.Any + 33, // 14: apipb.FlowSpecComponent.items:type_name -> apipb.FlowSpecComponentItem + 119, // 15: apipb.FlowSpecNLRI.rules:type_name -> google.protobuf.Any + 119, // 16: apipb.VPNFlowSpecNLRI.rd:type_name -> google.protobuf.Any + 119, // 17: apipb.VPNFlowSpecNLRI.rules:type_name -> google.protobuf.Any + 38, // 18: apipb.LsNodeNLRI.local_node:type_name -> apipb.LsNodeDescriptor + 38, // 19: apipb.LsLinkNLRI.local_node:type_name -> apipb.LsNodeDescriptor + 38, // 20: apipb.LsLinkNLRI.remote_node:type_name -> apipb.LsNodeDescriptor + 39, // 21: apipb.LsLinkNLRI.link_descriptor:type_name -> apipb.LsLinkDescriptor + 38, // 22: apipb.LsPrefixV4NLRI.local_node:type_name -> apipb.LsNodeDescriptor + 40, // 23: apipb.LsPrefixV4NLRI.prefix_descriptor:type_name -> apipb.LsPrefixDescriptor + 38, // 24: apipb.LsPrefixV6NLRI.local_node:type_name -> apipb.LsNodeDescriptor + 40, // 25: apipb.LsPrefixV6NLRI.prefix_descriptor:type_name -> apipb.LsPrefixDescriptor + 0, // 26: apipb.LsAddrPrefix.type:type_name -> apipb.LsNLRIType + 119, // 27: apipb.LsAddrPrefix.nlri:type_name -> google.protobuf.Any + 1, // 28: apipb.LsAddrPrefix.protocol_id:type_name -> apipb.LsProtocolID + 120, // 29: apipb.MpReachNLRIAttribute.family:type_name -> apipb.Family + 119, // 30: apipb.MpReachNLRIAttribute.nlris:type_name -> google.protobuf.Any + 120, // 31: apipb.MpUnreachNLRIAttribute.family:type_name -> apipb.Family + 119, // 32: apipb.MpUnreachNLRIAttribute.nlris:type_name -> google.protobuf.Any + 119, // 33: apipb.ExtendedCommunitiesAttribute.communities:type_name -> google.protobuf.Any + 5, // 34: apipb.As4PathAttribute.segments:type_name -> apipb.AsSegment + 119, // 35: apipb.TunnelEncapSubTLVSRBindingSID.bsid:type_name -> google.protobuf.Any + 2, // 36: apipb.SRv6EndPointBehavior.behavior:type_name -> apipb.SRv6Behavior + 80, // 37: apipb.SRv6BindingSID.endpoint_behavior_structure:type_name -> apipb.SRv6EndPointBehavior + 3, // 38: apipb.TunnelEncapSubTLVSRENLP.enlp:type_name -> apipb.ENLPType + 84, // 39: apipb.SegmentTypeA.flags:type_name -> apipb.SegmentFlags + 84, // 40: apipb.SegmentTypeB.flags:type_name -> apipb.SegmentFlags + 80, // 41: apipb.SegmentTypeB.endpoint_behavior_structure:type_name -> apipb.SRv6EndPointBehavior + 83, // 42: apipb.TunnelEncapSubTLVSRSegmentList.weight:type_name -> apipb.SRWeight + 119, // 43: apipb.TunnelEncapSubTLVSRSegmentList.segments:type_name -> google.protobuf.Any + 119, // 44: apipb.TunnelEncapTLV.tlvs:type_name -> google.protobuf.Any + 91, // 45: apipb.TunnelEncapAttribute.tlvs:type_name -> apipb.TunnelEncapTLV + 119, // 46: apipb.IP6ExtendedCommunitiesAttribute.communities:type_name -> google.protobuf.Any + 119, // 47: apipb.AigpAttribute.tlvs:type_name -> google.protobuf.Any + 99, // 48: apipb.LargeCommunitiesAttribute.communities:type_name -> apipb.LargeCommunity + 103, // 49: apipb.LsSrCapabilities.ranges:type_name -> apipb.LsSrRange + 103, // 50: apipb.LsSrLocalBlock.ranges:type_name -> apipb.LsSrRange + 101, // 51: apipb.LsAttributeNode.flags:type_name -> apipb.LsNodeFlags + 104, // 52: apipb.LsAttributeNode.sr_capabilities:type_name -> apipb.LsSrCapabilities + 105, // 53: apipb.LsAttributeNode.sr_local_block:type_name -> apipb.LsSrLocalBlock + 102, // 54: apipb.LsAttributePrefix.igp_flags:type_name -> apipb.LsIGPFlags + 106, // 55: apipb.LsAttribute.node:type_name -> apipb.LsAttributeNode + 107, // 56: apipb.LsAttribute.link:type_name -> apipb.LsAttributeLink + 108, // 57: apipb.LsAttribute.prefix:type_name -> apipb.LsAttributePrefix + 119, // 58: apipb.SRv6TLV.tlv:type_name -> google.protobuf.Any + 112, // 59: apipb.SRv6InformationSubTLV.flags:type_name -> apipb.SRv6SIDFlags + 117, // 60: apipb.SRv6InformationSubTLV.sub_sub_tlvs:type_name -> apipb.SRv6InformationSubTLV.SubSubTlvsEntry + 118, // 61: apipb.SRv6L3ServiceTLV.sub_tlvs:type_name -> apipb.SRv6L3ServiceTLV.SubTlvsEntry + 119, // 62: apipb.PrefixSID.tlvs:type_name -> google.protobuf.Any + 113, // 63: apipb.SRv6InformationSubTLV.SubSubTlvsEntry.value:type_name -> apipb.SRv6TLV + 113, // 64: apipb.SRv6L3ServiceTLV.SubTlvsEntry.value:type_name -> apipb.SRv6TLV + 65, // [65:65] is the sub-list for method output_type + 65, // [65:65] is the sub-list for method input_type + 65, // [65:65] is the sub-list for extension type_name + 65, // [65:65] is the sub-list for extension extendee + 0, // [0:65] is the sub-list for field type_name +} + +func init() { file_attribute_proto_init() } +func file_attribute_proto_init() { + if File_attribute_proto != nil { + return + } + file_gobgp_proto_init() + if !protoimpl.UnsafeEnabled { + file_attribute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OriginAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AsSegment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AsPathAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NextHopAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultiExitDiscAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LocalPrefAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AtomicAggregateAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AggregatorAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommunitiesAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OriginatorIdAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterListAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IPAddressPrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LabeledIPAddressPrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncapsulationNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteDistinguisherTwoOctetAS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteDistinguisherIPAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteDistinguisherFourOctetAS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EthernetSegmentIdentifier); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EVPNEthernetAutoDiscoveryRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EVPNMACIPAdvertisementRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EVPNInclusiveMulticastEthernetTagRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EVPNEthernetSegmentRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EVPNIPPrefixRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EVPNIPMSIRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRPolicyNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LabeledVPNIPAddressPrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTargetMembershipNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowSpecIPPrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowSpecMAC); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowSpecComponentItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowSpecComponent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowSpecNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VPNFlowSpecNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpaqueNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsNodeDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsLinkDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsPrefixDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsNodeNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsLinkNLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsPrefixV4NLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsPrefixV6NLRI); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsAddrPrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MpReachNLRIAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MpUnreachNLRIAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TwoOctetAsSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IPv4AddressSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FourOctetAsSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinkBandiwdthExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidationExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ColorExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncapExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DefaultGatewayExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpaqueExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ESILabelExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ESImportRouteTarget); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MacMobilityExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouterMacExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrafficRateExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrafficActionExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedirectTwoOctetAsSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedirectIPv4AddressSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedirectFourOctetAsSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrafficRemarkExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnknownExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtendedCommunitiesAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*As4PathAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*As4AggregatorAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PmsiTunnelAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVEncapsulation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVProtocol); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVColor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVSRPreference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVSRCandidatePathName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVSRPriority); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVSRBindingSID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRBindingSID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6EndPointBehavior); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6BindingSID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVSRENLP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRWeight); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SegmentFlags); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SegmentTypeA); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SegmentTypeB); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVSRSegmentList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVEgressEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVUDPDestPort); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapSubTLVUnknown); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapTLV); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TunnelEncapAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IPv6AddressSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedirectIPv6AddressSpecificExtended); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IP6ExtendedCommunitiesAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AigpTLVIGPMetric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AigpTLVUnknown); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AigpAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LargeCommunity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LargeCommunitiesAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsNodeFlags); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsIGPFlags); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsSrRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsSrCapabilities); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsSrLocalBlock); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsAttributeNode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsAttributeLink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsAttributePrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LsAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnknownAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6StructureSubSubTLV); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6SIDFlags); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6TLV); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6InformationSubTLV); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SRv6L3ServiceTLV); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_attribute_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixSID); 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_attribute_proto_rawDesc, + NumEnums: 4, + NumMessages: 115, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_attribute_proto_goTypes, + DependencyIndexes: file_attribute_proto_depIdxs, + EnumInfos: file_attribute_proto_enumTypes, + MessageInfos: file_attribute_proto_msgTypes, + }.Build() + File_attribute_proto = out.File + file_attribute_proto_rawDesc = nil + file_attribute_proto_goTypes = nil + file_attribute_proto_depIdxs = nil } diff --git a/api/attribute.proto b/api/attribute.proto index 7ef00c76..6f8aa841 100644 --- a/api/attribute.proto +++ b/api/attribute.proto @@ -21,10 +21,12 @@ syntax = "proto3"; +package apipb; +option go_package = "github.com/osrg/gobgp/v3/api;apipb"; + import "google/protobuf/any.proto"; import "gobgp.proto"; -package gobgpapi; message OriginAttribute { uint32 origin = 1; } @@ -351,7 +353,7 @@ message LsAddrPrefix { } message MpReachNLRIAttribute { - gobgpapi.Family family = 1; + apipb.Family family = 1; repeated string next_hops = 2; // Each NLRI must be one of: // - IPAddressPrefix @@ -374,7 +376,7 @@ message MpReachNLRIAttribute { } message MpUnreachNLRIAttribute { - gobgpapi.Family family = 1; + apipb.Family family = 1; // The same as NLRI field of MpReachNLRIAttribute repeated google.protobuf.Any nlris = 3; } diff --git a/api/capability.pb.go b/api/capability.pb.go index 7f0327c0..54b88eec 100644 --- a/api/capability.pb.go +++ b/api/capability.pb.go @@ -1,24 +1,45 @@ +// Copyright (C) 2018 Nippon Telegraph and Telephone Corporation. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation files +// (the "Software"), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.19.1 // source: capability.proto -package gobgpapi +package apipb import ( - fmt "fmt" - proto "github.com/golang/protobuf/proto" - math "math" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package +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) +) type AddPathMode int32 @@ -29,772 +50,1225 @@ const ( AddPathMode_MODE_BOTH AddPathMode = 3 ) -var AddPathMode_name = map[int32]string{ - 0: "MODE_NONE", - 1: "MODE_RECEIVE", - 2: "MODE_SEND", - 3: "MODE_BOTH", -} +// Enum value maps for AddPathMode. +var ( + AddPathMode_name = map[int32]string{ + 0: "MODE_NONE", + 1: "MODE_RECEIVE", + 2: "MODE_SEND", + 3: "MODE_BOTH", + } + AddPathMode_value = map[string]int32{ + "MODE_NONE": 0, + "MODE_RECEIVE": 1, + "MODE_SEND": 2, + "MODE_BOTH": 3, + } +) -var AddPathMode_value = map[string]int32{ - "MODE_NONE": 0, - "MODE_RECEIVE": 1, - "MODE_SEND": 2, - "MODE_BOTH": 3, +func (x AddPathMode) Enum() *AddPathMode { + p := new(AddPathMode) + *p = x + return p } func (x AddPathMode) String() string { - return proto.EnumName(AddPathMode_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (AddPathMode) Descriptor() protoreflect.EnumDescriptor { + return file_capability_proto_enumTypes[0].Descriptor() +} + +func (AddPathMode) Type() protoreflect.EnumType { + return &file_capability_proto_enumTypes[0] +} + +func (x AddPathMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AddPathMode.Descriptor instead. func (AddPathMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{0} + return file_capability_proto_rawDescGZIP(), []int{0} } type MultiProtocolCapability struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` } -func (m *MultiProtocolCapability) Reset() { *m = MultiProtocolCapability{} } -func (m *MultiProtocolCapability) String() string { return proto.CompactTextString(m) } -func (*MultiProtocolCapability) ProtoMessage() {} +func (x *MultiProtocolCapability) Reset() { + *x = MultiProtocolCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultiProtocolCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiProtocolCapability) ProtoMessage() {} + +func (x *MultiProtocolCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[0] + 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 MultiProtocolCapability.ProtoReflect.Descriptor instead. func (*MultiProtocolCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{0} + return file_capability_proto_rawDescGZIP(), []int{0} } -func (m *MultiProtocolCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MultiProtocolCapability.Unmarshal(m, b) -} -func (m *MultiProtocolCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MultiProtocolCapability.Marshal(b, m, deterministic) -} -func (m *MultiProtocolCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_MultiProtocolCapability.Merge(m, src) -} -func (m *MultiProtocolCapability) XXX_Size() int { - return xxx_messageInfo_MultiProtocolCapability.Size(m) -} -func (m *MultiProtocolCapability) XXX_DiscardUnknown() { - xxx_messageInfo_MultiProtocolCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_MultiProtocolCapability proto.InternalMessageInfo - -func (m *MultiProtocolCapability) GetFamily() *Family { - if m != nil { - return m.Family +func (x *MultiProtocolCapability) GetFamily() *Family { + if x != nil { + return x.Family } return nil } type RouteRefreshCapability struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *RouteRefreshCapability) Reset() { *m = RouteRefreshCapability{} } -func (m *RouteRefreshCapability) String() string { return proto.CompactTextString(m) } -func (*RouteRefreshCapability) ProtoMessage() {} +func (x *RouteRefreshCapability) Reset() { + *x = RouteRefreshCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteRefreshCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteRefreshCapability) ProtoMessage() {} + +func (x *RouteRefreshCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[1] + 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 RouteRefreshCapability.ProtoReflect.Descriptor instead. func (*RouteRefreshCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{1} + return file_capability_proto_rawDescGZIP(), []int{1} } -func (m *RouteRefreshCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteRefreshCapability.Unmarshal(m, b) -} -func (m *RouteRefreshCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteRefreshCapability.Marshal(b, m, deterministic) -} -func (m *RouteRefreshCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteRefreshCapability.Merge(m, src) -} -func (m *RouteRefreshCapability) XXX_Size() int { - return xxx_messageInfo_RouteRefreshCapability.Size(m) -} -func (m *RouteRefreshCapability) XXX_DiscardUnknown() { - xxx_messageInfo_RouteRefreshCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteRefreshCapability proto.InternalMessageInfo - type CarryingLabelInfoCapability struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *CarryingLabelInfoCapability) Reset() { *m = CarryingLabelInfoCapability{} } -func (m *CarryingLabelInfoCapability) String() string { return proto.CompactTextString(m) } -func (*CarryingLabelInfoCapability) ProtoMessage() {} +func (x *CarryingLabelInfoCapability) Reset() { + *x = CarryingLabelInfoCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CarryingLabelInfoCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CarryingLabelInfoCapability) ProtoMessage() {} + +func (x *CarryingLabelInfoCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[2] + 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 CarryingLabelInfoCapability.ProtoReflect.Descriptor instead. func (*CarryingLabelInfoCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{2} + return file_capability_proto_rawDescGZIP(), []int{2} } -func (m *CarryingLabelInfoCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CarryingLabelInfoCapability.Unmarshal(m, b) -} -func (m *CarryingLabelInfoCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CarryingLabelInfoCapability.Marshal(b, m, deterministic) -} -func (m *CarryingLabelInfoCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_CarryingLabelInfoCapability.Merge(m, src) -} -func (m *CarryingLabelInfoCapability) XXX_Size() int { - return xxx_messageInfo_CarryingLabelInfoCapability.Size(m) -} -func (m *CarryingLabelInfoCapability) XXX_DiscardUnknown() { - xxx_messageInfo_CarryingLabelInfoCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_CarryingLabelInfoCapability proto.InternalMessageInfo - type ExtendedNexthopCapabilityTuple struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + NlriFamily *Family `protobuf:"bytes,1,opt,name=nlri_family,json=nlriFamily,proto3" json:"nlri_family,omitempty"` // Nexthop AFI must be either // gobgp.IPv4 or // gobgp.IPv6. - NexthopFamily *Family `protobuf:"bytes,2,opt,name=nexthop_family,json=nexthopFamily,proto3" json:"nexthop_family,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NexthopFamily *Family `protobuf:"bytes,2,opt,name=nexthop_family,json=nexthopFamily,proto3" json:"nexthop_family,omitempty"` } -func (m *ExtendedNexthopCapabilityTuple) Reset() { *m = ExtendedNexthopCapabilityTuple{} } -func (m *ExtendedNexthopCapabilityTuple) String() string { return proto.CompactTextString(m) } -func (*ExtendedNexthopCapabilityTuple) ProtoMessage() {} +func (x *ExtendedNexthopCapabilityTuple) Reset() { + *x = ExtendedNexthopCapabilityTuple{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtendedNexthopCapabilityTuple) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtendedNexthopCapabilityTuple) ProtoMessage() {} + +func (x *ExtendedNexthopCapabilityTuple) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[3] + 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 ExtendedNexthopCapabilityTuple.ProtoReflect.Descriptor instead. func (*ExtendedNexthopCapabilityTuple) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{3} + return file_capability_proto_rawDescGZIP(), []int{3} } -func (m *ExtendedNexthopCapabilityTuple) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ExtendedNexthopCapabilityTuple.Unmarshal(m, b) -} -func (m *ExtendedNexthopCapabilityTuple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ExtendedNexthopCapabilityTuple.Marshal(b, m, deterministic) -} -func (m *ExtendedNexthopCapabilityTuple) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtendedNexthopCapabilityTuple.Merge(m, src) -} -func (m *ExtendedNexthopCapabilityTuple) XXX_Size() int { - return xxx_messageInfo_ExtendedNexthopCapabilityTuple.Size(m) -} -func (m *ExtendedNexthopCapabilityTuple) XXX_DiscardUnknown() { - xxx_messageInfo_ExtendedNexthopCapabilityTuple.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtendedNexthopCapabilityTuple proto.InternalMessageInfo - -func (m *ExtendedNexthopCapabilityTuple) GetNlriFamily() *Family { - if m != nil { - return m.NlriFamily +func (x *ExtendedNexthopCapabilityTuple) GetNlriFamily() *Family { + if x != nil { + return x.NlriFamily } return nil } -func (m *ExtendedNexthopCapabilityTuple) GetNexthopFamily() *Family { - if m != nil { - return m.NexthopFamily +func (x *ExtendedNexthopCapabilityTuple) GetNexthopFamily() *Family { + if x != nil { + return x.NexthopFamily } return nil } type ExtendedNexthopCapability struct { - Tuples []*ExtendedNexthopCapabilityTuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tuples []*ExtendedNexthopCapabilityTuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"` } -func (m *ExtendedNexthopCapability) Reset() { *m = ExtendedNexthopCapability{} } -func (m *ExtendedNexthopCapability) String() string { return proto.CompactTextString(m) } -func (*ExtendedNexthopCapability) ProtoMessage() {} +func (x *ExtendedNexthopCapability) Reset() { + *x = ExtendedNexthopCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtendedNexthopCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtendedNexthopCapability) ProtoMessage() {} + +func (x *ExtendedNexthopCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[4] + 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 ExtendedNexthopCapability.ProtoReflect.Descriptor instead. func (*ExtendedNexthopCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{4} + return file_capability_proto_rawDescGZIP(), []int{4} } -func (m *ExtendedNexthopCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ExtendedNexthopCapability.Unmarshal(m, b) -} -func (m *ExtendedNexthopCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ExtendedNexthopCapability.Marshal(b, m, deterministic) -} -func (m *ExtendedNexthopCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtendedNexthopCapability.Merge(m, src) -} -func (m *ExtendedNexthopCapability) XXX_Size() int { - return xxx_messageInfo_ExtendedNexthopCapability.Size(m) -} -func (m *ExtendedNexthopCapability) XXX_DiscardUnknown() { - xxx_messageInfo_ExtendedNexthopCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtendedNexthopCapability proto.InternalMessageInfo - -func (m *ExtendedNexthopCapability) GetTuples() []*ExtendedNexthopCapabilityTuple { - if m != nil { - return m.Tuples +func (x *ExtendedNexthopCapability) GetTuples() []*ExtendedNexthopCapabilityTuple { + if x != nil { + return x.Tuples } return nil } type GracefulRestartCapabilityTuple struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` + Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` } -func (m *GracefulRestartCapabilityTuple) Reset() { *m = GracefulRestartCapabilityTuple{} } -func (m *GracefulRestartCapabilityTuple) String() string { return proto.CompactTextString(m) } -func (*GracefulRestartCapabilityTuple) ProtoMessage() {} +func (x *GracefulRestartCapabilityTuple) Reset() { + *x = GracefulRestartCapabilityTuple{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GracefulRestartCapabilityTuple) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GracefulRestartCapabilityTuple) ProtoMessage() {} + +func (x *GracefulRestartCapabilityTuple) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[5] + 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 GracefulRestartCapabilityTuple.ProtoReflect.Descriptor instead. func (*GracefulRestartCapabilityTuple) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{5} + return file_capability_proto_rawDescGZIP(), []int{5} } -func (m *GracefulRestartCapabilityTuple) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GracefulRestartCapabilityTuple.Unmarshal(m, b) -} -func (m *GracefulRestartCapabilityTuple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GracefulRestartCapabilityTuple.Marshal(b, m, deterministic) -} -func (m *GracefulRestartCapabilityTuple) XXX_Merge(src proto.Message) { - xxx_messageInfo_GracefulRestartCapabilityTuple.Merge(m, src) -} -func (m *GracefulRestartCapabilityTuple) XXX_Size() int { - return xxx_messageInfo_GracefulRestartCapabilityTuple.Size(m) -} -func (m *GracefulRestartCapabilityTuple) XXX_DiscardUnknown() { - xxx_messageInfo_GracefulRestartCapabilityTuple.DiscardUnknown(m) -} - -var xxx_messageInfo_GracefulRestartCapabilityTuple proto.InternalMessageInfo - -func (m *GracefulRestartCapabilityTuple) GetFamily() *Family { - if m != nil { - return m.Family +func (x *GracefulRestartCapabilityTuple) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *GracefulRestartCapabilityTuple) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *GracefulRestartCapabilityTuple) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } type GracefulRestartCapability struct { - Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` - Time uint32 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"` - Tuples []*GracefulRestartCapabilityTuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` + Time uint32 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"` + Tuples []*GracefulRestartCapabilityTuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"` } -func (m *GracefulRestartCapability) Reset() { *m = GracefulRestartCapability{} } -func (m *GracefulRestartCapability) String() string { return proto.CompactTextString(m) } -func (*GracefulRestartCapability) ProtoMessage() {} +func (x *GracefulRestartCapability) Reset() { + *x = GracefulRestartCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GracefulRestartCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GracefulRestartCapability) ProtoMessage() {} + +func (x *GracefulRestartCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_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 GracefulRestartCapability.ProtoReflect.Descriptor instead. func (*GracefulRestartCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{6} + return file_capability_proto_rawDescGZIP(), []int{6} } -func (m *GracefulRestartCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GracefulRestartCapability.Unmarshal(m, b) -} -func (m *GracefulRestartCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GracefulRestartCapability.Marshal(b, m, deterministic) -} -func (m *GracefulRestartCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_GracefulRestartCapability.Merge(m, src) -} -func (m *GracefulRestartCapability) XXX_Size() int { - return xxx_messageInfo_GracefulRestartCapability.Size(m) -} -func (m *GracefulRestartCapability) XXX_DiscardUnknown() { - xxx_messageInfo_GracefulRestartCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_GracefulRestartCapability proto.InternalMessageInfo - -func (m *GracefulRestartCapability) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *GracefulRestartCapability) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *GracefulRestartCapability) GetTime() uint32 { - if m != nil { - return m.Time +func (x *GracefulRestartCapability) GetTime() uint32 { + if x != nil { + return x.Time } return 0 } -func (m *GracefulRestartCapability) GetTuples() []*GracefulRestartCapabilityTuple { - if m != nil { - return m.Tuples +func (x *GracefulRestartCapability) GetTuples() []*GracefulRestartCapabilityTuple { + if x != nil { + return x.Tuples } return nil } type FourOctetASNumberCapability struct { - As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` } -func (m *FourOctetASNumberCapability) Reset() { *m = FourOctetASNumberCapability{} } -func (m *FourOctetASNumberCapability) String() string { return proto.CompactTextString(m) } -func (*FourOctetASNumberCapability) ProtoMessage() {} +func (x *FourOctetASNumberCapability) Reset() { + *x = FourOctetASNumberCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FourOctetASNumberCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FourOctetASNumberCapability) ProtoMessage() {} + +func (x *FourOctetASNumberCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FourOctetASNumberCapability.ProtoReflect.Descriptor instead. func (*FourOctetASNumberCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{7} + return file_capability_proto_rawDescGZIP(), []int{7} } -func (m *FourOctetASNumberCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FourOctetASNumberCapability.Unmarshal(m, b) -} -func (m *FourOctetASNumberCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FourOctetASNumberCapability.Marshal(b, m, deterministic) -} -func (m *FourOctetASNumberCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_FourOctetASNumberCapability.Merge(m, src) -} -func (m *FourOctetASNumberCapability) XXX_Size() int { - return xxx_messageInfo_FourOctetASNumberCapability.Size(m) -} -func (m *FourOctetASNumberCapability) XXX_DiscardUnknown() { - xxx_messageInfo_FourOctetASNumberCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_FourOctetASNumberCapability proto.InternalMessageInfo - -func (m *FourOctetASNumberCapability) GetAs() uint32 { - if m != nil { - return m.As +func (x *FourOctetASNumberCapability) GetAs() uint32 { + if x != nil { + return x.As } return 0 } type AddPathCapabilityTuple struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - Mode AddPathMode `protobuf:"varint,2,opt,name=mode,proto3,enum=gobgpapi.AddPathMode" json:"mode,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` + Mode AddPathMode `protobuf:"varint,2,opt,name=mode,proto3,enum=apipb.AddPathMode" json:"mode,omitempty"` } -func (m *AddPathCapabilityTuple) Reset() { *m = AddPathCapabilityTuple{} } -func (m *AddPathCapabilityTuple) String() string { return proto.CompactTextString(m) } -func (*AddPathCapabilityTuple) ProtoMessage() {} +func (x *AddPathCapabilityTuple) Reset() { + *x = AddPathCapabilityTuple{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathCapabilityTuple) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathCapabilityTuple) ProtoMessage() {} + +func (x *AddPathCapabilityTuple) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[8] + 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 AddPathCapabilityTuple.ProtoReflect.Descriptor instead. func (*AddPathCapabilityTuple) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{8} + return file_capability_proto_rawDescGZIP(), []int{8} } -func (m *AddPathCapabilityTuple) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathCapabilityTuple.Unmarshal(m, b) -} -func (m *AddPathCapabilityTuple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathCapabilityTuple.Marshal(b, m, deterministic) -} -func (m *AddPathCapabilityTuple) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathCapabilityTuple.Merge(m, src) -} -func (m *AddPathCapabilityTuple) XXX_Size() int { - return xxx_messageInfo_AddPathCapabilityTuple.Size(m) -} -func (m *AddPathCapabilityTuple) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathCapabilityTuple.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathCapabilityTuple proto.InternalMessageInfo - -func (m *AddPathCapabilityTuple) GetFamily() *Family { - if m != nil { - return m.Family +func (x *AddPathCapabilityTuple) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *AddPathCapabilityTuple) GetMode() AddPathMode { - if m != nil { - return m.Mode +func (x *AddPathCapabilityTuple) GetMode() AddPathMode { + if x != nil { + return x.Mode } return AddPathMode_MODE_NONE } type AddPathCapability struct { - Tuples []*AddPathCapabilityTuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tuples []*AddPathCapabilityTuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"` } -func (m *AddPathCapability) Reset() { *m = AddPathCapability{} } -func (m *AddPathCapability) String() string { return proto.CompactTextString(m) } -func (*AddPathCapability) ProtoMessage() {} +func (x *AddPathCapability) Reset() { + *x = AddPathCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathCapability) ProtoMessage() {} + +func (x *AddPathCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddPathCapability.ProtoReflect.Descriptor instead. func (*AddPathCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{9} + return file_capability_proto_rawDescGZIP(), []int{9} } -func (m *AddPathCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathCapability.Unmarshal(m, b) -} -func (m *AddPathCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathCapability.Marshal(b, m, deterministic) -} -func (m *AddPathCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathCapability.Merge(m, src) -} -func (m *AddPathCapability) XXX_Size() int { - return xxx_messageInfo_AddPathCapability.Size(m) -} -func (m *AddPathCapability) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathCapability proto.InternalMessageInfo - -func (m *AddPathCapability) GetTuples() []*AddPathCapabilityTuple { - if m != nil { - return m.Tuples +func (x *AddPathCapability) GetTuples() []*AddPathCapabilityTuple { + if x != nil { + return x.Tuples } return nil } type EnhancedRouteRefreshCapability struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *EnhancedRouteRefreshCapability) Reset() { *m = EnhancedRouteRefreshCapability{} } -func (m *EnhancedRouteRefreshCapability) String() string { return proto.CompactTextString(m) } -func (*EnhancedRouteRefreshCapability) ProtoMessage() {} +func (x *EnhancedRouteRefreshCapability) Reset() { + *x = EnhancedRouteRefreshCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnhancedRouteRefreshCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnhancedRouteRefreshCapability) ProtoMessage() {} + +func (x *EnhancedRouteRefreshCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[10] + 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 EnhancedRouteRefreshCapability.ProtoReflect.Descriptor instead. func (*EnhancedRouteRefreshCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{10} + return file_capability_proto_rawDescGZIP(), []int{10} } -func (m *EnhancedRouteRefreshCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EnhancedRouteRefreshCapability.Unmarshal(m, b) -} -func (m *EnhancedRouteRefreshCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EnhancedRouteRefreshCapability.Marshal(b, m, deterministic) -} -func (m *EnhancedRouteRefreshCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnhancedRouteRefreshCapability.Merge(m, src) -} -func (m *EnhancedRouteRefreshCapability) XXX_Size() int { - return xxx_messageInfo_EnhancedRouteRefreshCapability.Size(m) -} -func (m *EnhancedRouteRefreshCapability) XXX_DiscardUnknown() { - xxx_messageInfo_EnhancedRouteRefreshCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_EnhancedRouteRefreshCapability proto.InternalMessageInfo - type LongLivedGracefulRestartCapabilityTuple struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` - Time uint32 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` + Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` + Time uint32 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"` } -func (m *LongLivedGracefulRestartCapabilityTuple) Reset() { - *m = LongLivedGracefulRestartCapabilityTuple{} +func (x *LongLivedGracefulRestartCapabilityTuple) Reset() { + *x = LongLivedGracefulRestartCapabilityTuple{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LongLivedGracefulRestartCapabilityTuple) String() string { return proto.CompactTextString(m) } -func (*LongLivedGracefulRestartCapabilityTuple) ProtoMessage() {} + +func (x *LongLivedGracefulRestartCapabilityTuple) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LongLivedGracefulRestartCapabilityTuple) ProtoMessage() {} + +func (x *LongLivedGracefulRestartCapabilityTuple) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[11] + 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 LongLivedGracefulRestartCapabilityTuple.ProtoReflect.Descriptor instead. func (*LongLivedGracefulRestartCapabilityTuple) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{11} + return file_capability_proto_rawDescGZIP(), []int{11} } -func (m *LongLivedGracefulRestartCapabilityTuple) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LongLivedGracefulRestartCapabilityTuple.Unmarshal(m, b) -} -func (m *LongLivedGracefulRestartCapabilityTuple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LongLivedGracefulRestartCapabilityTuple.Marshal(b, m, deterministic) -} -func (m *LongLivedGracefulRestartCapabilityTuple) XXX_Merge(src proto.Message) { - xxx_messageInfo_LongLivedGracefulRestartCapabilityTuple.Merge(m, src) -} -func (m *LongLivedGracefulRestartCapabilityTuple) XXX_Size() int { - return xxx_messageInfo_LongLivedGracefulRestartCapabilityTuple.Size(m) -} -func (m *LongLivedGracefulRestartCapabilityTuple) XXX_DiscardUnknown() { - xxx_messageInfo_LongLivedGracefulRestartCapabilityTuple.DiscardUnknown(m) -} - -var xxx_messageInfo_LongLivedGracefulRestartCapabilityTuple proto.InternalMessageInfo - -func (m *LongLivedGracefulRestartCapabilityTuple) GetFamily() *Family { - if m != nil { - return m.Family +func (x *LongLivedGracefulRestartCapabilityTuple) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *LongLivedGracefulRestartCapabilityTuple) GetFlags() uint32 { - if m != nil { - return m.Flags +func (x *LongLivedGracefulRestartCapabilityTuple) GetFlags() uint32 { + if x != nil { + return x.Flags } return 0 } -func (m *LongLivedGracefulRestartCapabilityTuple) GetTime() uint32 { - if m != nil { - return m.Time +func (x *LongLivedGracefulRestartCapabilityTuple) GetTime() uint32 { + if x != nil { + return x.Time } return 0 } type LongLivedGracefulRestartCapability struct { - Tuples []*LongLivedGracefulRestartCapabilityTuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tuples []*LongLivedGracefulRestartCapabilityTuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"` } -func (m *LongLivedGracefulRestartCapability) Reset() { *m = LongLivedGracefulRestartCapability{} } -func (m *LongLivedGracefulRestartCapability) String() string { return proto.CompactTextString(m) } -func (*LongLivedGracefulRestartCapability) ProtoMessage() {} +func (x *LongLivedGracefulRestartCapability) Reset() { + *x = LongLivedGracefulRestartCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LongLivedGracefulRestartCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LongLivedGracefulRestartCapability) ProtoMessage() {} + +func (x *LongLivedGracefulRestartCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[12] + 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 LongLivedGracefulRestartCapability.ProtoReflect.Descriptor instead. func (*LongLivedGracefulRestartCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{12} + return file_capability_proto_rawDescGZIP(), []int{12} } -func (m *LongLivedGracefulRestartCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LongLivedGracefulRestartCapability.Unmarshal(m, b) -} -func (m *LongLivedGracefulRestartCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LongLivedGracefulRestartCapability.Marshal(b, m, deterministic) -} -func (m *LongLivedGracefulRestartCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_LongLivedGracefulRestartCapability.Merge(m, src) -} -func (m *LongLivedGracefulRestartCapability) XXX_Size() int { - return xxx_messageInfo_LongLivedGracefulRestartCapability.Size(m) -} -func (m *LongLivedGracefulRestartCapability) XXX_DiscardUnknown() { - xxx_messageInfo_LongLivedGracefulRestartCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_LongLivedGracefulRestartCapability proto.InternalMessageInfo - -func (m *LongLivedGracefulRestartCapability) GetTuples() []*LongLivedGracefulRestartCapabilityTuple { - if m != nil { - return m.Tuples +func (x *LongLivedGracefulRestartCapability) GetTuples() []*LongLivedGracefulRestartCapabilityTuple { + if x != nil { + return x.Tuples } return nil } type RouteRefreshCiscoCapability struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *RouteRefreshCiscoCapability) Reset() { *m = RouteRefreshCiscoCapability{} } -func (m *RouteRefreshCiscoCapability) String() string { return proto.CompactTextString(m) } -func (*RouteRefreshCiscoCapability) ProtoMessage() {} +func (x *RouteRefreshCiscoCapability) Reset() { + *x = RouteRefreshCiscoCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteRefreshCiscoCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteRefreshCiscoCapability) ProtoMessage() {} + +func (x *RouteRefreshCiscoCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RouteRefreshCiscoCapability.ProtoReflect.Descriptor instead. func (*RouteRefreshCiscoCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{13} + return file_capability_proto_rawDescGZIP(), []int{13} } -func (m *RouteRefreshCiscoCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteRefreshCiscoCapability.Unmarshal(m, b) -} -func (m *RouteRefreshCiscoCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteRefreshCiscoCapability.Marshal(b, m, deterministic) -} -func (m *RouteRefreshCiscoCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteRefreshCiscoCapability.Merge(m, src) -} -func (m *RouteRefreshCiscoCapability) XXX_Size() int { - return xxx_messageInfo_RouteRefreshCiscoCapability.Size(m) -} -func (m *RouteRefreshCiscoCapability) XXX_DiscardUnknown() { - xxx_messageInfo_RouteRefreshCiscoCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteRefreshCiscoCapability proto.InternalMessageInfo - type FQDNCapability struct { - HostNameLen uint32 `protobuf:"varint,1,opt,name=host_name_len,json=hostNameLen,proto3" json:"host_name_len,omitempty"` - HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` - DomainNameLen uint32 `protobuf:"varint,3,opt,name=domain_name_len,json=domainNameLen,proto3" json:"domain_name_len,omitempty"` - DomainName string `protobuf:"bytes,4,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HostNameLen uint32 `protobuf:"varint,1,opt,name=host_name_len,json=hostNameLen,proto3" json:"host_name_len,omitempty"` + HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` + DomainNameLen uint32 `protobuf:"varint,3,opt,name=domain_name_len,json=domainNameLen,proto3" json:"domain_name_len,omitempty"` + DomainName string `protobuf:"bytes,4,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"` } -func (m *FQDNCapability) Reset() { *m = FQDNCapability{} } -func (m *FQDNCapability) String() string { return proto.CompactTextString(m) } -func (*FQDNCapability) ProtoMessage() {} +func (x *FQDNCapability) Reset() { + *x = FQDNCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FQDNCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FQDNCapability) ProtoMessage() {} + +func (x *FQDNCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[14] + 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 FQDNCapability.ProtoReflect.Descriptor instead. func (*FQDNCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{14} + return file_capability_proto_rawDescGZIP(), []int{14} } -func (m *FQDNCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_FQDNCapability.Unmarshal(m, b) -} -func (m *FQDNCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_FQDNCapability.Marshal(b, m, deterministic) -} -func (m *FQDNCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_FQDNCapability.Merge(m, src) -} -func (m *FQDNCapability) XXX_Size() int { - return xxx_messageInfo_FQDNCapability.Size(m) -} -func (m *FQDNCapability) XXX_DiscardUnknown() { - xxx_messageInfo_FQDNCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_FQDNCapability proto.InternalMessageInfo - -func (m *FQDNCapability) GetHostNameLen() uint32 { - if m != nil { - return m.HostNameLen +func (x *FQDNCapability) GetHostNameLen() uint32 { + if x != nil { + return x.HostNameLen } return 0 } -func (m *FQDNCapability) GetHostName() string { - if m != nil { - return m.HostName +func (x *FQDNCapability) GetHostName() string { + if x != nil { + return x.HostName } return "" } -func (m *FQDNCapability) GetDomainNameLen() uint32 { - if m != nil { - return m.DomainNameLen +func (x *FQDNCapability) GetDomainNameLen() uint32 { + if x != nil { + return x.DomainNameLen } return 0 } -func (m *FQDNCapability) GetDomainName() string { - if m != nil { - return m.DomainName +func (x *FQDNCapability) GetDomainName() string { + if x != nil { + return x.DomainName } return "" } type UnknownCapability struct { - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *UnknownCapability) Reset() { *m = UnknownCapability{} } -func (m *UnknownCapability) String() string { return proto.CompactTextString(m) } -func (*UnknownCapability) ProtoMessage() {} +func (x *UnknownCapability) Reset() { + *x = UnknownCapability{} + if protoimpl.UnsafeEnabled { + mi := &file_capability_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnknownCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownCapability) ProtoMessage() {} + +func (x *UnknownCapability) ProtoReflect() protoreflect.Message { + mi := &file_capability_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnknownCapability.ProtoReflect.Descriptor instead. func (*UnknownCapability) Descriptor() ([]byte, []int) { - return fileDescriptor_f2310f95efbbe3ac, []int{15} + return file_capability_proto_rawDescGZIP(), []int{15} } -func (m *UnknownCapability) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UnknownCapability.Unmarshal(m, b) -} -func (m *UnknownCapability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UnknownCapability.Marshal(b, m, deterministic) -} -func (m *UnknownCapability) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnknownCapability.Merge(m, src) -} -func (m *UnknownCapability) XXX_Size() int { - return xxx_messageInfo_UnknownCapability.Size(m) -} -func (m *UnknownCapability) XXX_DiscardUnknown() { - xxx_messageInfo_UnknownCapability.DiscardUnknown(m) -} - -var xxx_messageInfo_UnknownCapability proto.InternalMessageInfo - -func (m *UnknownCapability) GetCode() uint32 { - if m != nil { - return m.Code +func (x *UnknownCapability) GetCode() uint32 { + if x != nil { + return x.Code } return 0 } -func (m *UnknownCapability) GetValue() []byte { - if m != nil { - return m.Value +func (x *UnknownCapability) GetValue() []byte { + if x != nil { + return x.Value } return nil } -func init() { - proto.RegisterEnum("gobgpapi.AddPathMode", AddPathMode_name, AddPathMode_value) - proto.RegisterType((*MultiProtocolCapability)(nil), "gobgpapi.MultiProtocolCapability") - proto.RegisterType((*RouteRefreshCapability)(nil), "gobgpapi.RouteRefreshCapability") - proto.RegisterType((*CarryingLabelInfoCapability)(nil), "gobgpapi.CarryingLabelInfoCapability") - proto.RegisterType((*ExtendedNexthopCapabilityTuple)(nil), "gobgpapi.ExtendedNexthopCapabilityTuple") - proto.RegisterType((*ExtendedNexthopCapability)(nil), "gobgpapi.ExtendedNexthopCapability") - proto.RegisterType((*GracefulRestartCapabilityTuple)(nil), "gobgpapi.GracefulRestartCapabilityTuple") - proto.RegisterType((*GracefulRestartCapability)(nil), "gobgpapi.GracefulRestartCapability") - proto.RegisterType((*FourOctetASNumberCapability)(nil), "gobgpapi.FourOctetASNumberCapability") - proto.RegisterType((*AddPathCapabilityTuple)(nil), "gobgpapi.AddPathCapabilityTuple") - proto.RegisterType((*AddPathCapability)(nil), "gobgpapi.AddPathCapability") - proto.RegisterType((*EnhancedRouteRefreshCapability)(nil), "gobgpapi.EnhancedRouteRefreshCapability") - proto.RegisterType((*LongLivedGracefulRestartCapabilityTuple)(nil), "gobgpapi.LongLivedGracefulRestartCapabilityTuple") - proto.RegisterType((*LongLivedGracefulRestartCapability)(nil), "gobgpapi.LongLivedGracefulRestartCapability") - proto.RegisterType((*RouteRefreshCiscoCapability)(nil), "gobgpapi.RouteRefreshCiscoCapability") - proto.RegisterType((*FQDNCapability)(nil), "gobgpapi.FQDNCapability") - proto.RegisterType((*UnknownCapability)(nil), "gobgpapi.UnknownCapability") +var File_capability_proto protoreflect.FileDescriptor + +var file_capability_proto_rawDesc = []byte{ + 0x0a, 0x10, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x05, 0x61, 0x70, 0x69, 0x70, 0x62, 0x1a, 0x0b, 0x67, 0x6f, 0x62, 0x67, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x61, 0x72, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x65, + 0x78, 0x74, 0x68, 0x6f, 0x70, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, + 0x75, 0x70, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x0b, 0x6e, 0x6c, 0x72, 0x69, 0x5f, 0x66, 0x61, 0x6d, + 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x0a, 0x6e, 0x6c, 0x72, 0x69, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x34, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, + 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x68, 0x6f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x5a, 0x0a, 0x19, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x43, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x52, 0x06, + 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x5d, 0x0a, 0x1e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, + 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x19, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, + 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, + 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, + 0x75, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x2d, 0x0a, 0x1b, + 0x46, 0x6f, 0x75, 0x72, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x53, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x61, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x22, 0x67, 0x0a, 0x16, 0x41, + 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x54, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x4a, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x06, 0x74, 0x75, 0x70, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, + 0x22, 0x20, 0x0a, 0x1e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x22, 0x7a, 0x0a, 0x27, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, + 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x12, 0x25, 0x0a, + 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x6c, + 0x0a, 0x22, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6e, + 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, + 0x75, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x1d, 0x0a, 0x1b, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x69, 0x73, 0x63, + 0x6f, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x0e, + 0x46, 0x51, 0x44, 0x4e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, + 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4c, + 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3d, 0x0a, 0x11, 0x55, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x4c, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, + 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x53, 0x45, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, + 0x4f, 0x54, 0x48, 0x10, 0x03, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x73, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2f, 0x76, + 0x33, 0x2f, 0x61, 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } -func init() { proto.RegisterFile("capability.proto", fileDescriptor_f2310f95efbbe3ac) } +var ( + file_capability_proto_rawDescOnce sync.Once + file_capability_proto_rawDescData = file_capability_proto_rawDesc +) -var fileDescriptor_f2310f95efbbe3ac = []byte{ - // 590 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0xc1, 0x6e, 0xd3, 0x40, - 0x10, 0xc5, 0x49, 0xa8, 0xda, 0x71, 0x13, 0xdc, 0x15, 0x94, 0x94, 0xa8, 0x25, 0xda, 0x03, 0x04, - 0x24, 0x22, 0x35, 0x1c, 0xe0, 0x82, 0x44, 0x49, 0x1c, 0x88, 0x94, 0x38, 0xc5, 0x2d, 0xdc, 0x50, - 0xd8, 0xd8, 0x9b, 0xc4, 0xc2, 0xde, 0xb5, 0xec, 0x75, 0x69, 0x0e, 0x9c, 0xb9, 0xf0, 0x05, 0x7c, - 0x2d, 0xb2, 0xd7, 0xb1, 0x4d, 0xaa, 0xb4, 0x15, 0x12, 0xb7, 0x9d, 0x9d, 0x37, 0x6f, 0xde, 0x9b, - 0x1d, 0x1b, 0x34, 0x8b, 0xf8, 0x64, 0xea, 0xb8, 0x8e, 0x58, 0xb6, 0xfd, 0x80, 0x0b, 0x8e, 0xb6, - 0xe7, 0x7c, 0x3a, 0xf7, 0x89, 0xef, 0x3c, 0x52, 0x93, 0x93, 0xbc, 0xc6, 0x5d, 0x78, 0x38, 0x8a, - 0x5c, 0xe1, 0x9c, 0xc6, 0x91, 0xc5, 0xdd, 0x6e, 0x56, 0x87, 0x5a, 0xb0, 0x35, 0x23, 0x9e, 0xe3, - 0x2e, 0xeb, 0x4a, 0x53, 0x69, 0xa9, 0x1d, 0xad, 0xbd, 0xa2, 0x68, 0xf7, 0x93, 0x7b, 0x33, 0xcd, - 0xe3, 0x3a, 0xec, 0x9b, 0x3c, 0x12, 0xd4, 0xa4, 0xb3, 0x80, 0x86, 0x8b, 0x9c, 0x03, 0x1f, 0x42, - 0xa3, 0x4b, 0x82, 0x60, 0xe9, 0xb0, 0xf9, 0x90, 0x4c, 0xa9, 0x3b, 0x60, 0x33, 0x5e, 0x48, 0xff, - 0x52, 0xe0, 0x48, 0xbf, 0x14, 0x94, 0xd9, 0xd4, 0x36, 0xe8, 0xa5, 0x58, 0x70, 0x3f, 0xcf, 0x9e, - 0x47, 0xbe, 0x4b, 0xd1, 0x31, 0xa8, 0xcc, 0x0d, 0x9c, 0xc9, 0x0d, 0x52, 0x20, 0x06, 0xc9, 0x33, - 0x7a, 0x05, 0x35, 0x26, 0xc9, 0x56, 0x55, 0xa5, 0x0d, 0x55, 0xd5, 0x14, 0x27, 0x43, 0xfc, 0x05, - 0x0e, 0x36, 0xaa, 0x41, 0x6f, 0x61, 0x4b, 0xc4, 0x8a, 0xc2, 0xba, 0xd2, 0x2c, 0xb7, 0xd4, 0x4e, - 0x2b, 0x67, 0xbb, 0xde, 0x82, 0x99, 0xd6, 0xe1, 0xaf, 0x70, 0xf4, 0x3e, 0x20, 0x16, 0x9d, 0x45, - 0xae, 0x49, 0x43, 0x41, 0x02, 0xb1, 0x6e, 0xf6, 0xd6, 0x23, 0x47, 0xf7, 0xe1, 0xee, 0xcc, 0x25, - 0xf3, 0x30, 0xb1, 0x56, 0x35, 0x65, 0x80, 0x7f, 0x2a, 0x70, 0xb0, 0xb1, 0x45, 0x5e, 0xa3, 0x14, - 0x6a, 0x10, 0x82, 0x8a, 0x70, 0x3c, 0x9a, 0x12, 0x25, 0xe7, 0x82, 0xd7, 0xf2, 0xba, 0xd7, 0xeb, - 0x1d, 0x64, 0x5e, 0x5f, 0x40, 0xa3, 0xcf, 0xa3, 0x60, 0x6c, 0x09, 0x2a, 0x4e, 0xce, 0x8c, 0xc8, - 0x9b, 0xd2, 0xa0, 0x20, 0xa5, 0x06, 0x25, 0xb2, 0xd2, 0x51, 0x22, 0x21, 0xf6, 0x60, 0xff, 0xc4, - 0xb6, 0x4f, 0x89, 0x58, 0xfc, 0xfb, 0x48, 0x9e, 0x41, 0xc5, 0xe3, 0xb6, 0x34, 0x52, 0xeb, 0x3c, - 0xc8, 0x71, 0x29, 0xf3, 0x88, 0xdb, 0xd4, 0x4c, 0x20, 0x78, 0x04, 0x7b, 0x57, 0xda, 0xa1, 0xd7, - 0x6b, 0x0f, 0xdc, 0xbc, 0xc2, 0xb0, 0xc9, 0x6c, 0x13, 0x8e, 0x74, 0xb6, 0x20, 0xcc, 0xa2, 0xf6, - 0x86, 0xef, 0xe0, 0x07, 0x3c, 0x1d, 0x72, 0x36, 0x1f, 0x3a, 0x17, 0xd4, 0xfe, 0xbf, 0x3b, 0x90, - 0xbd, 0x67, 0x39, 0x7f, 0x4f, 0xcc, 0x01, 0xdf, 0xdc, 0x1e, 0x0d, 0xd6, 0x06, 0x70, 0x9c, 0x77, - 0xbe, 0xa5, 0xf8, 0x6c, 0x22, 0x87, 0xd0, 0xf8, 0x6b, 0x12, 0x4e, 0x68, 0x15, 0xbf, 0xfb, 0xdf, - 0x0a, 0xd4, 0xfa, 0x1f, 0x7b, 0x46, 0xa1, 0x39, 0x86, 0xea, 0x82, 0x87, 0x62, 0xc2, 0x88, 0x47, - 0x27, 0x2e, 0x65, 0xe9, 0x72, 0xa8, 0xf1, 0xa5, 0x41, 0x3c, 0x3a, 0xa4, 0x0c, 0x35, 0x60, 0x27, - 0xc3, 0x24, 0xa6, 0x77, 0xcc, 0xed, 0x55, 0x1e, 0x3d, 0x81, 0x7b, 0x36, 0xf7, 0x88, 0xc3, 0x72, - 0x0a, 0x39, 0x82, 0xaa, 0xbc, 0x5e, 0x91, 0x3c, 0x06, 0xb5, 0x80, 0xab, 0x57, 0x12, 0x1a, 0xc8, - 0x31, 0xf8, 0x0d, 0xec, 0x7d, 0x62, 0xdf, 0x18, 0xff, 0xce, 0x0a, 0xf2, 0x10, 0x54, 0xac, 0x78, - 0xb9, 0xa4, 0xaa, 0xe4, 0x1c, 0xcf, 0xff, 0x82, 0xb8, 0x91, 0x94, 0xb2, 0x6b, 0xca, 0xe0, 0xf9, - 0x10, 0xd4, 0xc2, 0xc2, 0xa1, 0x2a, 0xec, 0x8c, 0xc6, 0x3d, 0x7d, 0x62, 0x8c, 0x0d, 0x5d, 0xbb, - 0x83, 0x34, 0xd8, 0x4d, 0x42, 0x53, 0xef, 0xea, 0x83, 0xcf, 0xba, 0xa6, 0x64, 0x80, 0x33, 0xdd, - 0xe8, 0x69, 0xa5, 0x2c, 0x7c, 0x37, 0x3e, 0xff, 0xa0, 0x95, 0xa7, 0x5b, 0xc9, 0x6f, 0xfa, 0xe5, - 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0x77, 0x70, 0x63, 0xd1, 0x05, 0x00, 0x00, +func file_capability_proto_rawDescGZIP() []byte { + file_capability_proto_rawDescOnce.Do(func() { + file_capability_proto_rawDescData = protoimpl.X.CompressGZIP(file_capability_proto_rawDescData) + }) + return file_capability_proto_rawDescData +} + +var file_capability_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_capability_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_capability_proto_goTypes = []interface{}{ + (AddPathMode)(0), // 0: apipb.AddPathMode + (*MultiProtocolCapability)(nil), // 1: apipb.MultiProtocolCapability + (*RouteRefreshCapability)(nil), // 2: apipb.RouteRefreshCapability + (*CarryingLabelInfoCapability)(nil), // 3: apipb.CarryingLabelInfoCapability + (*ExtendedNexthopCapabilityTuple)(nil), // 4: apipb.ExtendedNexthopCapabilityTuple + (*ExtendedNexthopCapability)(nil), // 5: apipb.ExtendedNexthopCapability + (*GracefulRestartCapabilityTuple)(nil), // 6: apipb.GracefulRestartCapabilityTuple + (*GracefulRestartCapability)(nil), // 7: apipb.GracefulRestartCapability + (*FourOctetASNumberCapability)(nil), // 8: apipb.FourOctetASNumberCapability + (*AddPathCapabilityTuple)(nil), // 9: apipb.AddPathCapabilityTuple + (*AddPathCapability)(nil), // 10: apipb.AddPathCapability + (*EnhancedRouteRefreshCapability)(nil), // 11: apipb.EnhancedRouteRefreshCapability + (*LongLivedGracefulRestartCapabilityTuple)(nil), // 12: apipb.LongLivedGracefulRestartCapabilityTuple + (*LongLivedGracefulRestartCapability)(nil), // 13: apipb.LongLivedGracefulRestartCapability + (*RouteRefreshCiscoCapability)(nil), // 14: apipb.RouteRefreshCiscoCapability + (*FQDNCapability)(nil), // 15: apipb.FQDNCapability + (*UnknownCapability)(nil), // 16: apipb.UnknownCapability + (*Family)(nil), // 17: apipb.Family +} +var file_capability_proto_depIdxs = []int32{ + 17, // 0: apipb.MultiProtocolCapability.family:type_name -> apipb.Family + 17, // 1: apipb.ExtendedNexthopCapabilityTuple.nlri_family:type_name -> apipb.Family + 17, // 2: apipb.ExtendedNexthopCapabilityTuple.nexthop_family:type_name -> apipb.Family + 4, // 3: apipb.ExtendedNexthopCapability.tuples:type_name -> apipb.ExtendedNexthopCapabilityTuple + 17, // 4: apipb.GracefulRestartCapabilityTuple.family:type_name -> apipb.Family + 6, // 5: apipb.GracefulRestartCapability.tuples:type_name -> apipb.GracefulRestartCapabilityTuple + 17, // 6: apipb.AddPathCapabilityTuple.family:type_name -> apipb.Family + 0, // 7: apipb.AddPathCapabilityTuple.mode:type_name -> apipb.AddPathMode + 9, // 8: apipb.AddPathCapability.tuples:type_name -> apipb.AddPathCapabilityTuple + 17, // 9: apipb.LongLivedGracefulRestartCapabilityTuple.family:type_name -> apipb.Family + 12, // 10: apipb.LongLivedGracefulRestartCapability.tuples:type_name -> apipb.LongLivedGracefulRestartCapabilityTuple + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_capability_proto_init() } +func file_capability_proto_init() { + if File_capability_proto != nil { + return + } + file_gobgp_proto_init() + if !protoimpl.UnsafeEnabled { + file_capability_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultiProtocolCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteRefreshCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CarryingLabelInfoCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtendedNexthopCapabilityTuple); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtendedNexthopCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GracefulRestartCapabilityTuple); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GracefulRestartCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FourOctetASNumberCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathCapabilityTuple); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnhancedRouteRefreshCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LongLivedGracefulRestartCapabilityTuple); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LongLivedGracefulRestartCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteRefreshCiscoCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FQDNCapability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_capability_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnknownCapability); 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_capability_proto_rawDesc, + NumEnums: 1, + NumMessages: 16, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_capability_proto_goTypes, + DependencyIndexes: file_capability_proto_depIdxs, + EnumInfos: file_capability_proto_enumTypes, + MessageInfos: file_capability_proto_msgTypes, + }.Build() + File_capability_proto = out.File + file_capability_proto_rawDesc = nil + file_capability_proto_goTypes = nil + file_capability_proto_depIdxs = nil } diff --git a/api/capability.proto b/api/capability.proto index 5bab741e..9fced124 100644 --- a/api/capability.proto +++ b/api/capability.proto @@ -21,9 +21,10 @@ syntax = "proto3"; -import "gobgp.proto"; +package apipb; +option go_package = "github.com/osrg/gobgp/v3/api;apipb"; -package gobgpapi; +import "gobgp.proto"; enum AddPathMode { MODE_NONE = 0; @@ -33,7 +34,7 @@ enum AddPathMode { } message MultiProtocolCapability { - gobgpapi.Family family = 1; + apipb.Family family = 1; } message RouteRefreshCapability { @@ -43,11 +44,11 @@ message CarryingLabelInfoCapability { } message ExtendedNexthopCapabilityTuple { - gobgpapi.Family nlri_family = 1; + apipb.Family nlri_family = 1; // Nexthop AFI must be either // gobgp.IPv4 or // gobgp.IPv6. - gobgpapi.Family nexthop_family = 2; + apipb.Family nexthop_family = 2; } message ExtendedNexthopCapability { @@ -55,7 +56,7 @@ message ExtendedNexthopCapability { } message GracefulRestartCapabilityTuple { - gobgpapi.Family family = 1; + apipb.Family family = 1; uint32 flags = 2; } @@ -70,7 +71,7 @@ message FourOctetASNumberCapability { } message AddPathCapabilityTuple { - gobgpapi.Family family = 1; + apipb.Family family = 1; AddPathMode mode = 2; } @@ -82,7 +83,7 @@ message EnhancedRouteRefreshCapability { } message LongLivedGracefulRestartCapabilityTuple { - gobgpapi.Family family = 1; + apipb.Family family = 1; uint32 flags = 2; uint32 time = 3; } diff --git a/api/gobgp.pb.go b/api/gobgp.pb.go index 89e1fa8a..13b8249a 100644 --- a/api/gobgp.pb.go +++ b/api/gobgp.pb.go @@ -1,31 +1,48 @@ +// Copyright (C) 2015-2017 Nippon Telegraph and Telephone Corporation. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation files +// (the "Software"), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + // Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.19.1 // source: gobgp.proto -package gobgpapi +package apipb import ( - context "context" - fmt "fmt" - proto "github.com/golang/protobuf/proto" - any "github.com/golang/protobuf/ptypes/any" - empty "github.com/golang/protobuf/ptypes/empty" - timestamp "github.com/golang/protobuf/ptypes/timestamp" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - math "math" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package +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) +) type TableType int32 @@ -37,28 +54,49 @@ const ( TableType_VRF TableType = 4 ) -var TableType_name = map[int32]string{ - 0: "GLOBAL", - 1: "LOCAL", - 2: "ADJ_IN", - 3: "ADJ_OUT", - 4: "VRF", -} +// Enum value maps for TableType. +var ( + TableType_name = map[int32]string{ + 0: "GLOBAL", + 1: "LOCAL", + 2: "ADJ_IN", + 3: "ADJ_OUT", + 4: "VRF", + } + TableType_value = map[string]int32{ + "GLOBAL": 0, + "LOCAL": 1, + "ADJ_IN": 2, + "ADJ_OUT": 3, + "VRF": 4, + } +) -var TableType_value = map[string]int32{ - "GLOBAL": 0, - "LOCAL": 1, - "ADJ_IN": 2, - "ADJ_OUT": 3, - "VRF": 4, +func (x TableType) Enum() *TableType { + p := new(TableType) + *p = x + return p } func (x TableType) String() string { - return proto.EnumName(TableType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (TableType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[0].Descriptor() +} + +func (TableType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[0] +} + +func (x TableType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TableType.Descriptor instead. func (TableType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{0} + return file_gobgp_proto_rawDescGZIP(), []int{0} } // API representation of table.LookupOption @@ -70,24 +108,45 @@ const ( TableLookupOption_LOOKUP_SHORTER TableLookupOption = 2 ) -var TableLookupOption_name = map[int32]string{ - 0: "LOOKUP_EXACT", - 1: "LOOKUP_LONGER", - 2: "LOOKUP_SHORTER", -} +// Enum value maps for TableLookupOption. +var ( + TableLookupOption_name = map[int32]string{ + 0: "LOOKUP_EXACT", + 1: "LOOKUP_LONGER", + 2: "LOOKUP_SHORTER", + } + TableLookupOption_value = map[string]int32{ + "LOOKUP_EXACT": 0, + "LOOKUP_LONGER": 1, + "LOOKUP_SHORTER": 2, + } +) -var TableLookupOption_value = map[string]int32{ - "LOOKUP_EXACT": 0, - "LOOKUP_LONGER": 1, - "LOOKUP_SHORTER": 2, +func (x TableLookupOption) Enum() *TableLookupOption { + p := new(TableLookupOption) + *p = x + return p } func (x TableLookupOption) String() string { - return proto.EnumName(TableLookupOption_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (TableLookupOption) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[1].Descriptor() +} + +func (TableLookupOption) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[1] +} + +func (x TableLookupOption) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TableLookupOption.Descriptor instead. func (TableLookupOption) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{1} + return file_gobgp_proto_rawDescGZIP(), []int{1} } type DefinedType int32 @@ -103,34 +162,55 @@ const ( DefinedType_NEXT_HOP DefinedType = 7 ) -var DefinedType_name = map[int32]string{ - 0: "PREFIX", - 1: "NEIGHBOR", - 2: "TAG", - 3: "AS_PATH", - 4: "COMMUNITY", - 5: "EXT_COMMUNITY", - 6: "LARGE_COMMUNITY", - 7: "NEXT_HOP", -} +// Enum value maps for DefinedType. +var ( + DefinedType_name = map[int32]string{ + 0: "PREFIX", + 1: "NEIGHBOR", + 2: "TAG", + 3: "AS_PATH", + 4: "COMMUNITY", + 5: "EXT_COMMUNITY", + 6: "LARGE_COMMUNITY", + 7: "NEXT_HOP", + } + DefinedType_value = map[string]int32{ + "PREFIX": 0, + "NEIGHBOR": 1, + "TAG": 2, + "AS_PATH": 3, + "COMMUNITY": 4, + "EXT_COMMUNITY": 5, + "LARGE_COMMUNITY": 6, + "NEXT_HOP": 7, + } +) -var DefinedType_value = map[string]int32{ - "PREFIX": 0, - "NEIGHBOR": 1, - "TAG": 2, - "AS_PATH": 3, - "COMMUNITY": 4, - "EXT_COMMUNITY": 5, - "LARGE_COMMUNITY": 6, - "NEXT_HOP": 7, +func (x DefinedType) Enum() *DefinedType { + p := new(DefinedType) + *p = x + return p } func (x DefinedType) String() string { - return proto.EnumName(DefinedType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (DefinedType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[2].Descriptor() +} + +func (DefinedType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[2] +} + +func (x DefinedType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DefinedType.Descriptor instead. func (DefinedType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{2} + return file_gobgp_proto_rawDescGZIP(), []int{2} } type MatchType int32 @@ -141,24 +221,45 @@ const ( MatchType_INVERT MatchType = 2 ) -var MatchType_name = map[int32]string{ - 0: "ANY", - 1: "ALL", - 2: "INVERT", -} +// Enum value maps for MatchType. +var ( + MatchType_name = map[int32]string{ + 0: "ANY", + 1: "ALL", + 2: "INVERT", + } + MatchType_value = map[string]int32{ + "ANY": 0, + "ALL": 1, + "INVERT": 2, + } +) -var MatchType_value = map[string]int32{ - "ANY": 0, - "ALL": 1, - "INVERT": 2, +func (x MatchType) Enum() *MatchType { + p := new(MatchType) + *p = x + return p } func (x MatchType) String() string { - return proto.EnumName(MatchType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (MatchType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[3].Descriptor() +} + +func (MatchType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[3] +} + +func (x MatchType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MatchType.Descriptor instead. func (MatchType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{3} + return file_gobgp_proto_rawDescGZIP(), []int{3} } type AsPathLengthType int32 @@ -169,24 +270,45 @@ const ( AsPathLengthType_LE AsPathLengthType = 2 ) -var AsPathLengthType_name = map[int32]string{ - 0: "EQ", - 1: "GE", - 2: "LE", -} +// Enum value maps for AsPathLengthType. +var ( + AsPathLengthType_name = map[int32]string{ + 0: "EQ", + 1: "GE", + 2: "LE", + } + AsPathLengthType_value = map[string]int32{ + "EQ": 0, + "GE": 1, + "LE": 2, + } +) -var AsPathLengthType_value = map[string]int32{ - "EQ": 0, - "GE": 1, - "LE": 2, +func (x AsPathLengthType) Enum() *AsPathLengthType { + p := new(AsPathLengthType) + *p = x + return p } func (x AsPathLengthType) String() string { - return proto.EnumName(AsPathLengthType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (AsPathLengthType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[4].Descriptor() +} + +func (AsPathLengthType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[4] +} + +func (x AsPathLengthType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AsPathLengthType.Descriptor instead. func (AsPathLengthType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{4} + return file_gobgp_proto_rawDescGZIP(), []int{4} } type RouteAction int32 @@ -197,24 +319,45 @@ const ( RouteAction_REJECT RouteAction = 2 ) -var RouteAction_name = map[int32]string{ - 0: "NONE", - 1: "ACCEPT", - 2: "REJECT", -} +// Enum value maps for RouteAction. +var ( + RouteAction_name = map[int32]string{ + 0: "NONE", + 1: "ACCEPT", + 2: "REJECT", + } + RouteAction_value = map[string]int32{ + "NONE": 0, + "ACCEPT": 1, + "REJECT": 2, + } +) -var RouteAction_value = map[string]int32{ - "NONE": 0, - "ACCEPT": 1, - "REJECT": 2, +func (x RouteAction) Enum() *RouteAction { + p := new(RouteAction) + *p = x + return p } func (x RouteAction) String() string { - return proto.EnumName(RouteAction_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (RouteAction) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[5].Descriptor() +} + +func (RouteAction) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[5] +} + +func (x RouteAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouteAction.Descriptor instead. func (RouteAction) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{5} + return file_gobgp_proto_rawDescGZIP(), []int{5} } type CommunityActionType int32 @@ -225,24 +368,45 @@ const ( CommunityActionType_COMMUNITY_REPLACE CommunityActionType = 2 ) -var CommunityActionType_name = map[int32]string{ - 0: "COMMUNITY_ADD", - 1: "COMMUNITY_REMOVE", - 2: "COMMUNITY_REPLACE", -} +// Enum value maps for CommunityActionType. +var ( + CommunityActionType_name = map[int32]string{ + 0: "COMMUNITY_ADD", + 1: "COMMUNITY_REMOVE", + 2: "COMMUNITY_REPLACE", + } + CommunityActionType_value = map[string]int32{ + "COMMUNITY_ADD": 0, + "COMMUNITY_REMOVE": 1, + "COMMUNITY_REPLACE": 2, + } +) -var CommunityActionType_value = map[string]int32{ - "COMMUNITY_ADD": 0, - "COMMUNITY_REMOVE": 1, - "COMMUNITY_REPLACE": 2, +func (x CommunityActionType) Enum() *CommunityActionType { + p := new(CommunityActionType) + *p = x + return p } func (x CommunityActionType) String() string { - return proto.EnumName(CommunityActionType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (CommunityActionType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[6].Descriptor() +} + +func (CommunityActionType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[6] +} + +func (x CommunityActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommunityActionType.Descriptor instead. func (CommunityActionType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{6} + return file_gobgp_proto_rawDescGZIP(), []int{6} } type MedActionType int32 @@ -252,22 +416,43 @@ const ( MedActionType_MED_REPLACE MedActionType = 1 ) -var MedActionType_name = map[int32]string{ - 0: "MED_MOD", - 1: "MED_REPLACE", -} +// Enum value maps for MedActionType. +var ( + MedActionType_name = map[int32]string{ + 0: "MED_MOD", + 1: "MED_REPLACE", + } + MedActionType_value = map[string]int32{ + "MED_MOD": 0, + "MED_REPLACE": 1, + } +) -var MedActionType_value = map[string]int32{ - "MED_MOD": 0, - "MED_REPLACE": 1, +func (x MedActionType) Enum() *MedActionType { + p := new(MedActionType) + *p = x + return p } func (x MedActionType) String() string { - return proto.EnumName(MedActionType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (MedActionType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[7].Descriptor() +} + +func (MedActionType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[7] +} + +func (x MedActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MedActionType.Descriptor instead. func (MedActionType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{7} + return file_gobgp_proto_rawDescGZIP(), []int{7} } type PolicyDirection int32 @@ -278,24 +463,45 @@ const ( PolicyDirection_EXPORT PolicyDirection = 2 ) -var PolicyDirection_name = map[int32]string{ - 0: "UNKNOWN", - 1: "IMPORT", - 2: "EXPORT", -} +// Enum value maps for PolicyDirection. +var ( + PolicyDirection_name = map[int32]string{ + 0: "UNKNOWN", + 1: "IMPORT", + 2: "EXPORT", + } + PolicyDirection_value = map[string]int32{ + "UNKNOWN": 0, + "IMPORT": 1, + "EXPORT": 2, + } +) -var PolicyDirection_value = map[string]int32{ - "UNKNOWN": 0, - "IMPORT": 1, - "EXPORT": 2, +func (x PolicyDirection) Enum() *PolicyDirection { + p := new(PolicyDirection) + *p = x + return p } func (x PolicyDirection) String() string { - return proto.EnumName(PolicyDirection_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (PolicyDirection) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[8].Descriptor() +} + +func (PolicyDirection) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[8] +} + +func (x PolicyDirection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PolicyDirection.Descriptor instead. func (PolicyDirection) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{8} + return file_gobgp_proto_rawDescGZIP(), []int{8} } type ResetPeerRequest_SoftResetDirection int32 @@ -306,24 +512,45 @@ const ( ResetPeerRequest_BOTH ResetPeerRequest_SoftResetDirection = 2 ) -var ResetPeerRequest_SoftResetDirection_name = map[int32]string{ - 0: "IN", - 1: "OUT", - 2: "BOTH", -} +// Enum value maps for ResetPeerRequest_SoftResetDirection. +var ( + ResetPeerRequest_SoftResetDirection_name = map[int32]string{ + 0: "IN", + 1: "OUT", + 2: "BOTH", + } + ResetPeerRequest_SoftResetDirection_value = map[string]int32{ + "IN": 0, + "OUT": 1, + "BOTH": 2, + } +) -var ResetPeerRequest_SoftResetDirection_value = map[string]int32{ - "IN": 0, - "OUT": 1, - "BOTH": 2, +func (x ResetPeerRequest_SoftResetDirection) Enum() *ResetPeerRequest_SoftResetDirection { + p := new(ResetPeerRequest_SoftResetDirection) + *p = x + return p } func (x ResetPeerRequest_SoftResetDirection) String() string { - return proto.EnumName(ResetPeerRequest_SoftResetDirection_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (ResetPeerRequest_SoftResetDirection) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[9].Descriptor() +} + +func (ResetPeerRequest_SoftResetDirection) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[9] +} + +func (x ResetPeerRequest_SoftResetDirection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ResetPeerRequest_SoftResetDirection.Descriptor instead. func (ResetPeerRequest_SoftResetDirection) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{10, 0} + return file_gobgp_proto_rawDescGZIP(), []int{10, 0} } type ListPathRequest_SortType int32 @@ -333,22 +560,43 @@ const ( ListPathRequest_PREFIX ListPathRequest_SortType = 1 ) -var ListPathRequest_SortType_name = map[int32]string{ - 0: "NONE", - 1: "PREFIX", -} +// Enum value maps for ListPathRequest_SortType. +var ( + ListPathRequest_SortType_name = map[int32]string{ + 0: "NONE", + 1: "PREFIX", + } + ListPathRequest_SortType_value = map[string]int32{ + "NONE": 0, + "PREFIX": 1, + } +) -var ListPathRequest_SortType_value = map[string]int32{ - "NONE": 0, - "PREFIX": 1, +func (x ListPathRequest_SortType) Enum() *ListPathRequest_SortType { + p := new(ListPathRequest_SortType) + *p = x + return p } func (x ListPathRequest_SortType) String() string { - return proto.EnumName(ListPathRequest_SortType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (ListPathRequest_SortType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[10].Descriptor() +} + +func (ListPathRequest_SortType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[10] +} + +func (x ListPathRequest_SortType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ListPathRequest_SortType.Descriptor instead. func (ListPathRequest_SortType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{29, 0} + return file_gobgp_proto_rawDescGZIP(), []int{29, 0} } type AddBmpRequest_MonitoringPolicy int32 @@ -361,28 +609,49 @@ const ( AddBmpRequest_ALL AddBmpRequest_MonitoringPolicy = 4 ) -var AddBmpRequest_MonitoringPolicy_name = map[int32]string{ - 0: "PRE", - 1: "POST", - 2: "BOTH", - 3: "LOCAL", - 4: "ALL", -} +// Enum value maps for AddBmpRequest_MonitoringPolicy. +var ( + AddBmpRequest_MonitoringPolicy_name = map[int32]string{ + 0: "PRE", + 1: "POST", + 2: "BOTH", + 3: "LOCAL", + 4: "ALL", + } + AddBmpRequest_MonitoringPolicy_value = map[string]int32{ + "PRE": 0, + "POST": 1, + "BOTH": 2, + "LOCAL": 3, + "ALL": 4, + } +) -var AddBmpRequest_MonitoringPolicy_value = map[string]int32{ - "PRE": 0, - "POST": 1, - "BOTH": 2, - "LOCAL": 3, - "ALL": 4, +func (x AddBmpRequest_MonitoringPolicy) Enum() *AddBmpRequest_MonitoringPolicy { + p := new(AddBmpRequest_MonitoringPolicy) + *p = x + return p } func (x AddBmpRequest_MonitoringPolicy) String() string { - return proto.EnumName(AddBmpRequest_MonitoringPolicy_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (AddBmpRequest_MonitoringPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[11].Descriptor() +} + +func (AddBmpRequest_MonitoringPolicy) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[11] +} + +func (x AddBmpRequest_MonitoringPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AddBmpRequest_MonitoringPolicy.Descriptor instead. func (AddBmpRequest_MonitoringPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{70, 0} + return file_gobgp_proto_rawDescGZIP(), []int{70, 0} } type Family_Afi int32 @@ -396,30 +665,51 @@ const ( Family_AFI_OPAQUE Family_Afi = 16397 ) -var Family_Afi_name = map[int32]string{ - 0: "AFI_UNKNOWN", - 1: "AFI_IP", - 2: "AFI_IP6", - 25: "AFI_L2VPN", - 16388: "AFI_LS", - 16397: "AFI_OPAQUE", -} +// Enum value maps for Family_Afi. +var ( + Family_Afi_name = map[int32]string{ + 0: "AFI_UNKNOWN", + 1: "AFI_IP", + 2: "AFI_IP6", + 25: "AFI_L2VPN", + 16388: "AFI_LS", + 16397: "AFI_OPAQUE", + } + Family_Afi_value = map[string]int32{ + "AFI_UNKNOWN": 0, + "AFI_IP": 1, + "AFI_IP6": 2, + "AFI_L2VPN": 25, + "AFI_LS": 16388, + "AFI_OPAQUE": 16397, + } +) -var Family_Afi_value = map[string]int32{ - "AFI_UNKNOWN": 0, - "AFI_IP": 1, - "AFI_IP6": 2, - "AFI_L2VPN": 25, - "AFI_LS": 16388, - "AFI_OPAQUE": 16397, +func (x Family_Afi) Enum() *Family_Afi { + p := new(Family_Afi) + *p = x + return p } func (x Family_Afi) String() string { - return proto.EnumName(Family_Afi_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (Family_Afi) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[12].Descriptor() +} + +func (Family_Afi) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[12] +} + +func (x Family_Afi) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Family_Afi.Descriptor instead. func (Family_Afi) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{72, 0} + return file_gobgp_proto_rawDescGZIP(), []int{72, 0} } type Family_Safi int32 @@ -442,48 +732,69 @@ const ( Family_SAFI_KEY_VALUE Family_Safi = 241 ) -var Family_Safi_name = map[int32]string{ - 0: "SAFI_UNKNOWN", - 1: "SAFI_UNICAST", - 2: "SAFI_MULTICAST", - 4: "SAFI_MPLS_LABEL", - 7: "SAFI_ENCAPSULATION", - 65: "SAFI_VPLS", - 70: "SAFI_EVPN", - 71: "SAFI_LS", - 73: "SAFI_SR_POLICY", - 128: "SAFI_MPLS_VPN", - 129: "SAFI_MPLS_VPN_MULTICAST", - 132: "SAFI_ROUTE_TARGET_CONSTRAINTS", - 133: "SAFI_FLOW_SPEC_UNICAST", - 134: "SAFI_FLOW_SPEC_VPN", - 241: "SAFI_KEY_VALUE", -} +// Enum value maps for Family_Safi. +var ( + Family_Safi_name = map[int32]string{ + 0: "SAFI_UNKNOWN", + 1: "SAFI_UNICAST", + 2: "SAFI_MULTICAST", + 4: "SAFI_MPLS_LABEL", + 7: "SAFI_ENCAPSULATION", + 65: "SAFI_VPLS", + 70: "SAFI_EVPN", + 71: "SAFI_LS", + 73: "SAFI_SR_POLICY", + 128: "SAFI_MPLS_VPN", + 129: "SAFI_MPLS_VPN_MULTICAST", + 132: "SAFI_ROUTE_TARGET_CONSTRAINTS", + 133: "SAFI_FLOW_SPEC_UNICAST", + 134: "SAFI_FLOW_SPEC_VPN", + 241: "SAFI_KEY_VALUE", + } + Family_Safi_value = map[string]int32{ + "SAFI_UNKNOWN": 0, + "SAFI_UNICAST": 1, + "SAFI_MULTICAST": 2, + "SAFI_MPLS_LABEL": 4, + "SAFI_ENCAPSULATION": 7, + "SAFI_VPLS": 65, + "SAFI_EVPN": 70, + "SAFI_LS": 71, + "SAFI_SR_POLICY": 73, + "SAFI_MPLS_VPN": 128, + "SAFI_MPLS_VPN_MULTICAST": 129, + "SAFI_ROUTE_TARGET_CONSTRAINTS": 132, + "SAFI_FLOW_SPEC_UNICAST": 133, + "SAFI_FLOW_SPEC_VPN": 134, + "SAFI_KEY_VALUE": 241, + } +) -var Family_Safi_value = map[string]int32{ - "SAFI_UNKNOWN": 0, - "SAFI_UNICAST": 1, - "SAFI_MULTICAST": 2, - "SAFI_MPLS_LABEL": 4, - "SAFI_ENCAPSULATION": 7, - "SAFI_VPLS": 65, - "SAFI_EVPN": 70, - "SAFI_LS": 71, - "SAFI_SR_POLICY": 73, - "SAFI_MPLS_VPN": 128, - "SAFI_MPLS_VPN_MULTICAST": 129, - "SAFI_ROUTE_TARGET_CONSTRAINTS": 132, - "SAFI_FLOW_SPEC_UNICAST": 133, - "SAFI_FLOW_SPEC_VPN": 134, - "SAFI_KEY_VALUE": 241, +func (x Family_Safi) Enum() *Family_Safi { + p := new(Family_Safi) + *p = x + return p } func (x Family_Safi) String() string { - return proto.EnumName(Family_Safi_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (Family_Safi) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[13].Descriptor() +} + +func (Family_Safi) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[13] +} + +func (x Family_Safi) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Family_Safi.Descriptor instead. func (Family_Safi) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{72, 1} + return file_gobgp_proto_rawDescGZIP(), []int{72, 1} } type Validation_State int32 @@ -495,26 +806,47 @@ const ( Validation_STATE_INVALID Validation_State = 3 ) -var Validation_State_name = map[int32]string{ - 0: "STATE_NONE", - 1: "STATE_NOT_FOUND", - 2: "STATE_VALID", - 3: "STATE_INVALID", -} +// Enum value maps for Validation_State. +var ( + Validation_State_name = map[int32]string{ + 0: "STATE_NONE", + 1: "STATE_NOT_FOUND", + 2: "STATE_VALID", + 3: "STATE_INVALID", + } + Validation_State_value = map[string]int32{ + "STATE_NONE": 0, + "STATE_NOT_FOUND": 1, + "STATE_VALID": 2, + "STATE_INVALID": 3, + } +) -var Validation_State_value = map[string]int32{ - "STATE_NONE": 0, - "STATE_NOT_FOUND": 1, - "STATE_VALID": 2, - "STATE_INVALID": 3, +func (x Validation_State) Enum() *Validation_State { + p := new(Validation_State) + *p = x + return p } func (x Validation_State) String() string { - return proto.EnumName(Validation_State_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (Validation_State) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[14].Descriptor() +} + +func (Validation_State) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[14] +} + +func (x Validation_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Validation_State.Descriptor instead. func (Validation_State) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{73, 0} + return file_gobgp_proto_rawDescGZIP(), []int{73, 0} } type Validation_Reason int32 @@ -525,24 +857,45 @@ const ( Validation_REASON_LENGTH Validation_Reason = 2 ) -var Validation_Reason_name = map[int32]string{ - 0: "REASOT_NONE", - 1: "REASON_AS", - 2: "REASON_LENGTH", -} +// Enum value maps for Validation_Reason. +var ( + Validation_Reason_name = map[int32]string{ + 0: "REASOT_NONE", + 1: "REASON_AS", + 2: "REASON_LENGTH", + } + Validation_Reason_value = map[string]int32{ + "REASOT_NONE": 0, + "REASON_AS": 1, + "REASON_LENGTH": 2, + } +) -var Validation_Reason_value = map[string]int32{ - "REASOT_NONE": 0, - "REASON_AS": 1, - "REASON_LENGTH": 2, +func (x Validation_Reason) Enum() *Validation_Reason { + p := new(Validation_Reason) + *p = x + return p } func (x Validation_Reason) String() string { - return proto.EnumName(Validation_Reason_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (Validation_Reason) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[15].Descriptor() +} + +func (Validation_Reason) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[15] +} + +func (x Validation_Reason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Validation_Reason.Descriptor instead. func (Validation_Reason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{73, 1} + return file_gobgp_proto_rawDescGZIP(), []int{73, 1} } type PeerConf_RemovePrivateAs int32 @@ -553,24 +906,45 @@ const ( PeerConf_REPLACE PeerConf_RemovePrivateAs = 2 ) -var PeerConf_RemovePrivateAs_name = map[int32]string{ - 0: "NONE", - 1: "ALL", - 2: "REPLACE", -} +// Enum value maps for PeerConf_RemovePrivateAs. +var ( + PeerConf_RemovePrivateAs_name = map[int32]string{ + 0: "NONE", + 1: "ALL", + 2: "REPLACE", + } + PeerConf_RemovePrivateAs_value = map[string]int32{ + "NONE": 0, + "ALL": 1, + "REPLACE": 2, + } +) -var PeerConf_RemovePrivateAs_value = map[string]int32{ - "NONE": 0, - "ALL": 1, - "REPLACE": 2, +func (x PeerConf_RemovePrivateAs) Enum() *PeerConf_RemovePrivateAs { + p := new(PeerConf_RemovePrivateAs) + *p = x + return p } func (x PeerConf_RemovePrivateAs) String() string { - return proto.EnumName(PeerConf_RemovePrivateAs_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (PeerConf_RemovePrivateAs) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[16].Descriptor() +} + +func (PeerConf_RemovePrivateAs) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[16] +} + +func (x PeerConf_RemovePrivateAs) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeerConf_RemovePrivateAs.Descriptor instead. func (PeerConf_RemovePrivateAs) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{82, 0} + return file_gobgp_proto_rawDescGZIP(), []int{82, 0} } type PeerGroupConf_RemovePrivateAs int32 @@ -581,24 +955,45 @@ const ( PeerGroupConf_REPLACE PeerGroupConf_RemovePrivateAs = 2 ) -var PeerGroupConf_RemovePrivateAs_name = map[int32]string{ - 0: "NONE", - 1: "ALL", - 2: "REPLACE", -} +// Enum value maps for PeerGroupConf_RemovePrivateAs. +var ( + PeerGroupConf_RemovePrivateAs_name = map[int32]string{ + 0: "NONE", + 1: "ALL", + 2: "REPLACE", + } + PeerGroupConf_RemovePrivateAs_value = map[string]int32{ + "NONE": 0, + "ALL": 1, + "REPLACE": 2, + } +) -var PeerGroupConf_RemovePrivateAs_value = map[string]int32{ - "NONE": 0, - "ALL": 1, - "REPLACE": 2, +func (x PeerGroupConf_RemovePrivateAs) Enum() *PeerGroupConf_RemovePrivateAs { + p := new(PeerGroupConf_RemovePrivateAs) + *p = x + return p } func (x PeerGroupConf_RemovePrivateAs) String() string { - return proto.EnumName(PeerGroupConf_RemovePrivateAs_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (PeerGroupConf_RemovePrivateAs) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[17].Descriptor() +} + +func (PeerGroupConf_RemovePrivateAs) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[17] +} + +func (x PeerGroupConf_RemovePrivateAs) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeerGroupConf_RemovePrivateAs.Descriptor instead. func (PeerGroupConf_RemovePrivateAs) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{83, 0} + return file_gobgp_proto_rawDescGZIP(), []int{83, 0} } type PeerGroupState_RemovePrivateAs int32 @@ -609,24 +1004,45 @@ const ( PeerGroupState_REPLACE PeerGroupState_RemovePrivateAs = 2 ) -var PeerGroupState_RemovePrivateAs_name = map[int32]string{ - 0: "NONE", - 1: "ALL", - 2: "REPLACE", -} +// Enum value maps for PeerGroupState_RemovePrivateAs. +var ( + PeerGroupState_RemovePrivateAs_name = map[int32]string{ + 0: "NONE", + 1: "ALL", + 2: "REPLACE", + } + PeerGroupState_RemovePrivateAs_value = map[string]int32{ + "NONE": 0, + "ALL": 1, + "REPLACE": 2, + } +) -var PeerGroupState_RemovePrivateAs_value = map[string]int32{ - "NONE": 0, - "ALL": 1, - "REPLACE": 2, +func (x PeerGroupState_RemovePrivateAs) Enum() *PeerGroupState_RemovePrivateAs { + p := new(PeerGroupState_RemovePrivateAs) + *p = x + return p } func (x PeerGroupState_RemovePrivateAs) String() string { - return proto.EnumName(PeerGroupState_RemovePrivateAs_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (PeerGroupState_RemovePrivateAs) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[18].Descriptor() +} + +func (PeerGroupState_RemovePrivateAs) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[18] +} + +func (x PeerGroupState_RemovePrivateAs) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeerGroupState_RemovePrivateAs.Descriptor instead. func (PeerGroupState_RemovePrivateAs) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{84, 0} + return file_gobgp_proto_rawDescGZIP(), []int{84, 0} } type PeerState_SessionState int32 @@ -641,32 +1057,53 @@ const ( PeerState_ESTABLISHED PeerState_SessionState = 6 ) -var PeerState_SessionState_name = map[int32]string{ - 0: "UNKNOWN", - 1: "IDLE", - 2: "CONNECT", - 3: "ACTIVE", - 4: "OPENSENT", - 5: "OPENCONFIRM", - 6: "ESTABLISHED", -} +// Enum value maps for PeerState_SessionState. +var ( + PeerState_SessionState_name = map[int32]string{ + 0: "UNKNOWN", + 1: "IDLE", + 2: "CONNECT", + 3: "ACTIVE", + 4: "OPENSENT", + 5: "OPENCONFIRM", + 6: "ESTABLISHED", + } + PeerState_SessionState_value = map[string]int32{ + "UNKNOWN": 0, + "IDLE": 1, + "CONNECT": 2, + "ACTIVE": 3, + "OPENSENT": 4, + "OPENCONFIRM": 5, + "ESTABLISHED": 6, + } +) -var PeerState_SessionState_value = map[string]int32{ - "UNKNOWN": 0, - "IDLE": 1, - "CONNECT": 2, - "ACTIVE": 3, - "OPENSENT": 4, - "OPENCONFIRM": 5, - "ESTABLISHED": 6, +func (x PeerState_SessionState) Enum() *PeerState_SessionState { + p := new(PeerState_SessionState) + *p = x + return p } func (x PeerState_SessionState) String() string { - return proto.EnumName(PeerState_SessionState_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (PeerState_SessionState) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[19].Descriptor() +} + +func (PeerState_SessionState) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[19] +} + +func (x PeerState_SessionState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeerState_SessionState.Descriptor instead. func (PeerState_SessionState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{88, 0} + return file_gobgp_proto_rawDescGZIP(), []int{88, 0} } type PeerState_AdminState int32 @@ -674,27 +1111,48 @@ type PeerState_AdminState int32 const ( PeerState_UP PeerState_AdminState = 0 PeerState_DOWN PeerState_AdminState = 1 - PeerState_PFX_CT PeerState_AdminState = 2 + PeerState_PFX_CT PeerState_AdminState = 2 // prefix counter over limit ) -var PeerState_AdminState_name = map[int32]string{ - 0: "UP", - 1: "DOWN", - 2: "PFX_CT", -} +// Enum value maps for PeerState_AdminState. +var ( + PeerState_AdminState_name = map[int32]string{ + 0: "UP", + 1: "DOWN", + 2: "PFX_CT", + } + PeerState_AdminState_value = map[string]int32{ + "UP": 0, + "DOWN": 1, + "PFX_CT": 2, + } +) -var PeerState_AdminState_value = map[string]int32{ - "UP": 0, - "DOWN": 1, - "PFX_CT": 2, +func (x PeerState_AdminState) Enum() *PeerState_AdminState { + p := new(PeerState_AdminState) + *p = x + return p } func (x PeerState_AdminState) String() string { - return proto.EnumName(PeerState_AdminState_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (PeerState_AdminState) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[20].Descriptor() +} + +func (PeerState_AdminState) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[20] +} + +func (x PeerState_AdminState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeerState_AdminState.Descriptor instead. func (PeerState_AdminState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{88, 1} + return file_gobgp_proto_rawDescGZIP(), []int{88, 1} } type Conditions_RouteType int32 @@ -706,26 +1164,47 @@ const ( Conditions_ROUTE_TYPE_LOCAL Conditions_RouteType = 3 ) -var Conditions_RouteType_name = map[int32]string{ - 0: "ROUTE_TYPE_NONE", - 1: "ROUTE_TYPE_INTERNAL", - 2: "ROUTE_TYPE_EXTERNAL", - 3: "ROUTE_TYPE_LOCAL", -} +// Enum value maps for Conditions_RouteType. +var ( + Conditions_RouteType_name = map[int32]string{ + 0: "ROUTE_TYPE_NONE", + 1: "ROUTE_TYPE_INTERNAL", + 2: "ROUTE_TYPE_EXTERNAL", + 3: "ROUTE_TYPE_LOCAL", + } + Conditions_RouteType_value = map[string]int32{ + "ROUTE_TYPE_NONE": 0, + "ROUTE_TYPE_INTERNAL": 1, + "ROUTE_TYPE_EXTERNAL": 2, + "ROUTE_TYPE_LOCAL": 3, + } +) -var Conditions_RouteType_value = map[string]int32{ - "ROUTE_TYPE_NONE": 0, - "ROUTE_TYPE_INTERNAL": 1, - "ROUTE_TYPE_EXTERNAL": 2, - "ROUTE_TYPE_LOCAL": 3, +func (x Conditions_RouteType) Enum() *Conditions_RouteType { + p := new(Conditions_RouteType) + *p = x + return p } func (x Conditions_RouteType) String() string { - return proto.EnumName(Conditions_RouteType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (Conditions_RouteType) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[21].Descriptor() +} + +func (Conditions_RouteType) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[21] +} + +func (x Conditions_RouteType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Conditions_RouteType.Descriptor instead. func (Conditions_RouteType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{129, 0} + return file_gobgp_proto_rawDescGZIP(), []int{129, 0} } type SetLogLevelRequest_Level int32 @@ -740,3057 +1219,3616 @@ const ( SetLogLevelRequest_TRACE SetLogLevelRequest_Level = 6 ) -var SetLogLevelRequest_Level_name = map[int32]string{ - 0: "PANIC", - 1: "FATAL", - 2: "ERROR", - 3: "WARN", - 4: "INFO", - 5: "DEBUG", - 6: "TRACE", -} +// Enum value maps for SetLogLevelRequest_Level. +var ( + SetLogLevelRequest_Level_name = map[int32]string{ + 0: "PANIC", + 1: "FATAL", + 2: "ERROR", + 3: "WARN", + 4: "INFO", + 5: "DEBUG", + 6: "TRACE", + } + SetLogLevelRequest_Level_value = map[string]int32{ + "PANIC": 0, + "FATAL": 1, + "ERROR": 2, + "WARN": 3, + "INFO": 4, + "DEBUG": 5, + "TRACE": 6, + } +) -var SetLogLevelRequest_Level_value = map[string]int32{ - "PANIC": 0, - "FATAL": 1, - "ERROR": 2, - "WARN": 3, - "INFO": 4, - "DEBUG": 5, - "TRACE": 6, +func (x SetLogLevelRequest_Level) Enum() *SetLogLevelRequest_Level { + p := new(SetLogLevelRequest_Level) + *p = x + return p } func (x SetLogLevelRequest_Level) String() string { - return proto.EnumName(SetLogLevelRequest_Level_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } +func (SetLogLevelRequest_Level) Descriptor() protoreflect.EnumDescriptor { + return file_gobgp_proto_enumTypes[22].Descriptor() +} + +func (SetLogLevelRequest_Level) Type() protoreflect.EnumType { + return &file_gobgp_proto_enumTypes[22] +} + +func (x SetLogLevelRequest_Level) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SetLogLevelRequest_Level.Descriptor instead. func (SetLogLevelRequest_Level) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{148, 0} + return file_gobgp_proto_rawDescGZIP(), []int{148, 0} } type StartBgpRequest struct { - Global *Global `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Global *Global `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"` } -func (m *StartBgpRequest) Reset() { *m = StartBgpRequest{} } -func (m *StartBgpRequest) String() string { return proto.CompactTextString(m) } -func (*StartBgpRequest) ProtoMessage() {} +func (x *StartBgpRequest) Reset() { + *x = StartBgpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartBgpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartBgpRequest) ProtoMessage() {} + +func (x *StartBgpRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[0] + 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 StartBgpRequest.ProtoReflect.Descriptor instead. func (*StartBgpRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{0} + return file_gobgp_proto_rawDescGZIP(), []int{0} } -func (m *StartBgpRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StartBgpRequest.Unmarshal(m, b) -} -func (m *StartBgpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StartBgpRequest.Marshal(b, m, deterministic) -} -func (m *StartBgpRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_StartBgpRequest.Merge(m, src) -} -func (m *StartBgpRequest) XXX_Size() int { - return xxx_messageInfo_StartBgpRequest.Size(m) -} -func (m *StartBgpRequest) XXX_DiscardUnknown() { - xxx_messageInfo_StartBgpRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_StartBgpRequest proto.InternalMessageInfo - -func (m *StartBgpRequest) GetGlobal() *Global { - if m != nil { - return m.Global +func (x *StartBgpRequest) GetGlobal() *Global { + if x != nil { + return x.Global } return nil } type StopBgpRequest struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *StopBgpRequest) Reset() { *m = StopBgpRequest{} } -func (m *StopBgpRequest) String() string { return proto.CompactTextString(m) } -func (*StopBgpRequest) ProtoMessage() {} +func (x *StopBgpRequest) Reset() { + *x = StopBgpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopBgpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopBgpRequest) ProtoMessage() {} + +func (x *StopBgpRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[1] + 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 StopBgpRequest.ProtoReflect.Descriptor instead. func (*StopBgpRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{1} + return file_gobgp_proto_rawDescGZIP(), []int{1} } -func (m *StopBgpRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StopBgpRequest.Unmarshal(m, b) -} -func (m *StopBgpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StopBgpRequest.Marshal(b, m, deterministic) -} -func (m *StopBgpRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_StopBgpRequest.Merge(m, src) -} -func (m *StopBgpRequest) XXX_Size() int { - return xxx_messageInfo_StopBgpRequest.Size(m) -} -func (m *StopBgpRequest) XXX_DiscardUnknown() { - xxx_messageInfo_StopBgpRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_StopBgpRequest proto.InternalMessageInfo - type GetBgpRequest struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *GetBgpRequest) Reset() { *m = GetBgpRequest{} } -func (m *GetBgpRequest) String() string { return proto.CompactTextString(m) } -func (*GetBgpRequest) ProtoMessage() {} +func (x *GetBgpRequest) Reset() { + *x = GetBgpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBgpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBgpRequest) ProtoMessage() {} + +func (x *GetBgpRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[2] + 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 GetBgpRequest.ProtoReflect.Descriptor instead. func (*GetBgpRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{2} + return file_gobgp_proto_rawDescGZIP(), []int{2} } -func (m *GetBgpRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBgpRequest.Unmarshal(m, b) -} -func (m *GetBgpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBgpRequest.Marshal(b, m, deterministic) -} -func (m *GetBgpRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBgpRequest.Merge(m, src) -} -func (m *GetBgpRequest) XXX_Size() int { - return xxx_messageInfo_GetBgpRequest.Size(m) -} -func (m *GetBgpRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetBgpRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_GetBgpRequest proto.InternalMessageInfo - type GetBgpResponse struct { - Global *Global `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Global *Global `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"` } -func (m *GetBgpResponse) Reset() { *m = GetBgpResponse{} } -func (m *GetBgpResponse) String() string { return proto.CompactTextString(m) } -func (*GetBgpResponse) ProtoMessage() {} +func (x *GetBgpResponse) Reset() { + *x = GetBgpResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBgpResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBgpResponse) ProtoMessage() {} + +func (x *GetBgpResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[3] + 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 GetBgpResponse.ProtoReflect.Descriptor instead. func (*GetBgpResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{3} + return file_gobgp_proto_rawDescGZIP(), []int{3} } -func (m *GetBgpResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBgpResponse.Unmarshal(m, b) -} -func (m *GetBgpResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBgpResponse.Marshal(b, m, deterministic) -} -func (m *GetBgpResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBgpResponse.Merge(m, src) -} -func (m *GetBgpResponse) XXX_Size() int { - return xxx_messageInfo_GetBgpResponse.Size(m) -} -func (m *GetBgpResponse) XXX_DiscardUnknown() { - xxx_messageInfo_GetBgpResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_GetBgpResponse proto.InternalMessageInfo - -func (m *GetBgpResponse) GetGlobal() *Global { - if m != nil { - return m.Global +func (x *GetBgpResponse) GetGlobal() *Global { + if x != nil { + return x.Global } return nil } type AddPeerRequest struct { - Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` } -func (m *AddPeerRequest) Reset() { *m = AddPeerRequest{} } -func (m *AddPeerRequest) String() string { return proto.CompactTextString(m) } -func (*AddPeerRequest) ProtoMessage() {} +func (x *AddPeerRequest) Reset() { + *x = AddPeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPeerRequest) ProtoMessage() {} + +func (x *AddPeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[4] + 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 AddPeerRequest.ProtoReflect.Descriptor instead. func (*AddPeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{4} + return file_gobgp_proto_rawDescGZIP(), []int{4} } -func (m *AddPeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPeerRequest.Unmarshal(m, b) -} -func (m *AddPeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPeerRequest.Marshal(b, m, deterministic) -} -func (m *AddPeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPeerRequest.Merge(m, src) -} -func (m *AddPeerRequest) XXX_Size() int { - return xxx_messageInfo_AddPeerRequest.Size(m) -} -func (m *AddPeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddPeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPeerRequest proto.InternalMessageInfo - -func (m *AddPeerRequest) GetPeer() *Peer { - if m != nil { - return m.Peer +func (x *AddPeerRequest) GetPeer() *Peer { + if x != nil { + return x.Peer } return nil } type DeletePeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Interface string `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Interface string `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"` } -func (m *DeletePeerRequest) Reset() { *m = DeletePeerRequest{} } -func (m *DeletePeerRequest) String() string { return proto.CompactTextString(m) } -func (*DeletePeerRequest) ProtoMessage() {} +func (x *DeletePeerRequest) Reset() { + *x = DeletePeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePeerRequest) ProtoMessage() {} + +func (x *DeletePeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[5] + 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 DeletePeerRequest.ProtoReflect.Descriptor instead. func (*DeletePeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{5} + return file_gobgp_proto_rawDescGZIP(), []int{5} } -func (m *DeletePeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeletePeerRequest.Unmarshal(m, b) -} -func (m *DeletePeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeletePeerRequest.Marshal(b, m, deterministic) -} -func (m *DeletePeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeletePeerRequest.Merge(m, src) -} -func (m *DeletePeerRequest) XXX_Size() int { - return xxx_messageInfo_DeletePeerRequest.Size(m) -} -func (m *DeletePeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeletePeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeletePeerRequest proto.InternalMessageInfo - -func (m *DeletePeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *DeletePeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *DeletePeerRequest) GetInterface() string { - if m != nil { - return m.Interface +func (x *DeletePeerRequest) GetInterface() string { + if x != nil { + return x.Interface } return "" } type ListPeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - EnableAdvertised bool `protobuf:"varint,2,opt,name=enableAdvertised,proto3" json:"enableAdvertised,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + EnableAdvertised bool `protobuf:"varint,2,opt,name=enableAdvertised,proto3" json:"enableAdvertised,omitempty"` } -func (m *ListPeerRequest) Reset() { *m = ListPeerRequest{} } -func (m *ListPeerRequest) String() string { return proto.CompactTextString(m) } -func (*ListPeerRequest) ProtoMessage() {} +func (x *ListPeerRequest) Reset() { + *x = ListPeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPeerRequest) ProtoMessage() {} + +func (x *ListPeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_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 ListPeerRequest.ProtoReflect.Descriptor instead. func (*ListPeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{6} + return file_gobgp_proto_rawDescGZIP(), []int{6} } -func (m *ListPeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPeerRequest.Unmarshal(m, b) -} -func (m *ListPeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPeerRequest.Marshal(b, m, deterministic) -} -func (m *ListPeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPeerRequest.Merge(m, src) -} -func (m *ListPeerRequest) XXX_Size() int { - return xxx_messageInfo_ListPeerRequest.Size(m) -} -func (m *ListPeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListPeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPeerRequest proto.InternalMessageInfo - -func (m *ListPeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *ListPeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *ListPeerRequest) GetEnableAdvertised() bool { - if m != nil { - return m.EnableAdvertised +func (x *ListPeerRequest) GetEnableAdvertised() bool { + if x != nil { + return x.EnableAdvertised } return false } type ListPeerResponse struct { - Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` } -func (m *ListPeerResponse) Reset() { *m = ListPeerResponse{} } -func (m *ListPeerResponse) String() string { return proto.CompactTextString(m) } -func (*ListPeerResponse) ProtoMessage() {} +func (x *ListPeerResponse) Reset() { + *x = ListPeerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPeerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPeerResponse) ProtoMessage() {} + +func (x *ListPeerResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPeerResponse.ProtoReflect.Descriptor instead. func (*ListPeerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{7} + return file_gobgp_proto_rawDescGZIP(), []int{7} } -func (m *ListPeerResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPeerResponse.Unmarshal(m, b) -} -func (m *ListPeerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPeerResponse.Marshal(b, m, deterministic) -} -func (m *ListPeerResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPeerResponse.Merge(m, src) -} -func (m *ListPeerResponse) XXX_Size() int { - return xxx_messageInfo_ListPeerResponse.Size(m) -} -func (m *ListPeerResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListPeerResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPeerResponse proto.InternalMessageInfo - -func (m *ListPeerResponse) GetPeer() *Peer { - if m != nil { - return m.Peer +func (x *ListPeerResponse) GetPeer() *Peer { + if x != nil { + return x.Peer } return nil } type UpdatePeerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` // Calls SoftResetIn after updating the peer configuration if needed. - DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"` } -func (m *UpdatePeerRequest) Reset() { *m = UpdatePeerRequest{} } -func (m *UpdatePeerRequest) String() string { return proto.CompactTextString(m) } -func (*UpdatePeerRequest) ProtoMessage() {} +func (x *UpdatePeerRequest) Reset() { + *x = UpdatePeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePeerRequest) ProtoMessage() {} + +func (x *UpdatePeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[8] + 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 UpdatePeerRequest.ProtoReflect.Descriptor instead. func (*UpdatePeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{8} + return file_gobgp_proto_rawDescGZIP(), []int{8} } -func (m *UpdatePeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdatePeerRequest.Unmarshal(m, b) -} -func (m *UpdatePeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdatePeerRequest.Marshal(b, m, deterministic) -} -func (m *UpdatePeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdatePeerRequest.Merge(m, src) -} -func (m *UpdatePeerRequest) XXX_Size() int { - return xxx_messageInfo_UpdatePeerRequest.Size(m) -} -func (m *UpdatePeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_UpdatePeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_UpdatePeerRequest proto.InternalMessageInfo - -func (m *UpdatePeerRequest) GetPeer() *Peer { - if m != nil { - return m.Peer +func (x *UpdatePeerRequest) GetPeer() *Peer { + if x != nil { + return x.Peer } return nil } -func (m *UpdatePeerRequest) GetDoSoftResetIn() bool { - if m != nil { - return m.DoSoftResetIn +func (x *UpdatePeerRequest) GetDoSoftResetIn() bool { + if x != nil { + return x.DoSoftResetIn } return false } type UpdatePeerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Indicates whether calling SoftResetIn is required due to this update. If // "true" is set, the client should call SoftResetIn manually. If // "do_soft_reset_in = true" is set in the request, always returned with // "false". - NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"` } -func (m *UpdatePeerResponse) Reset() { *m = UpdatePeerResponse{} } -func (m *UpdatePeerResponse) String() string { return proto.CompactTextString(m) } -func (*UpdatePeerResponse) ProtoMessage() {} +func (x *UpdatePeerResponse) Reset() { + *x = UpdatePeerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePeerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePeerResponse) ProtoMessage() {} + +func (x *UpdatePeerResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePeerResponse.ProtoReflect.Descriptor instead. func (*UpdatePeerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{9} + return file_gobgp_proto_rawDescGZIP(), []int{9} } -func (m *UpdatePeerResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdatePeerResponse.Unmarshal(m, b) -} -func (m *UpdatePeerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdatePeerResponse.Marshal(b, m, deterministic) -} -func (m *UpdatePeerResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdatePeerResponse.Merge(m, src) -} -func (m *UpdatePeerResponse) XXX_Size() int { - return xxx_messageInfo_UpdatePeerResponse.Size(m) -} -func (m *UpdatePeerResponse) XXX_DiscardUnknown() { - xxx_messageInfo_UpdatePeerResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_UpdatePeerResponse proto.InternalMessageInfo - -func (m *UpdatePeerResponse) GetNeedsSoftResetIn() bool { - if m != nil { - return m.NeedsSoftResetIn +func (x *UpdatePeerResponse) GetNeedsSoftResetIn() bool { + if x != nil { + return x.NeedsSoftResetIn } return false } type ResetPeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` - Soft bool `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"` - Direction ResetPeerRequest_SoftResetDirection `protobuf:"varint,4,opt,name=direction,proto3,enum=gobgpapi.ResetPeerRequest_SoftResetDirection" json:"direction,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` + Soft bool `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"` + Direction ResetPeerRequest_SoftResetDirection `protobuf:"varint,4,opt,name=direction,proto3,enum=apipb.ResetPeerRequest_SoftResetDirection" json:"direction,omitempty"` } -func (m *ResetPeerRequest) Reset() { *m = ResetPeerRequest{} } -func (m *ResetPeerRequest) String() string { return proto.CompactTextString(m) } -func (*ResetPeerRequest) ProtoMessage() {} +func (x *ResetPeerRequest) Reset() { + *x = ResetPeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetPeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetPeerRequest) ProtoMessage() {} + +func (x *ResetPeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[10] + 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 ResetPeerRequest.ProtoReflect.Descriptor instead. func (*ResetPeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{10} + return file_gobgp_proto_rawDescGZIP(), []int{10} } -func (m *ResetPeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResetPeerRequest.Unmarshal(m, b) -} -func (m *ResetPeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResetPeerRequest.Marshal(b, m, deterministic) -} -func (m *ResetPeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResetPeerRequest.Merge(m, src) -} -func (m *ResetPeerRequest) XXX_Size() int { - return xxx_messageInfo_ResetPeerRequest.Size(m) -} -func (m *ResetPeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ResetPeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ResetPeerRequest proto.InternalMessageInfo - -func (m *ResetPeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *ResetPeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *ResetPeerRequest) GetCommunication() string { - if m != nil { - return m.Communication +func (x *ResetPeerRequest) GetCommunication() string { + if x != nil { + return x.Communication } return "" } -func (m *ResetPeerRequest) GetSoft() bool { - if m != nil { - return m.Soft +func (x *ResetPeerRequest) GetSoft() bool { + if x != nil { + return x.Soft } return false } -func (m *ResetPeerRequest) GetDirection() ResetPeerRequest_SoftResetDirection { - if m != nil { - return m.Direction +func (x *ResetPeerRequest) GetDirection() ResetPeerRequest_SoftResetDirection { + if x != nil { + return x.Direction } return ResetPeerRequest_IN } type ShutdownPeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` } -func (m *ShutdownPeerRequest) Reset() { *m = ShutdownPeerRequest{} } -func (m *ShutdownPeerRequest) String() string { return proto.CompactTextString(m) } -func (*ShutdownPeerRequest) ProtoMessage() {} +func (x *ShutdownPeerRequest) Reset() { + *x = ShutdownPeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShutdownPeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShutdownPeerRequest) ProtoMessage() {} + +func (x *ShutdownPeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[11] + 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 ShutdownPeerRequest.ProtoReflect.Descriptor instead. func (*ShutdownPeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{11} + return file_gobgp_proto_rawDescGZIP(), []int{11} } -func (m *ShutdownPeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ShutdownPeerRequest.Unmarshal(m, b) -} -func (m *ShutdownPeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ShutdownPeerRequest.Marshal(b, m, deterministic) -} -func (m *ShutdownPeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ShutdownPeerRequest.Merge(m, src) -} -func (m *ShutdownPeerRequest) XXX_Size() int { - return xxx_messageInfo_ShutdownPeerRequest.Size(m) -} -func (m *ShutdownPeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ShutdownPeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ShutdownPeerRequest proto.InternalMessageInfo - -func (m *ShutdownPeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *ShutdownPeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *ShutdownPeerRequest) GetCommunication() string { - if m != nil { - return m.Communication +func (x *ShutdownPeerRequest) GetCommunication() string { + if x != nil { + return x.Communication } return "" } type EnablePeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -func (m *EnablePeerRequest) Reset() { *m = EnablePeerRequest{} } -func (m *EnablePeerRequest) String() string { return proto.CompactTextString(m) } -func (*EnablePeerRequest) ProtoMessage() {} +func (x *EnablePeerRequest) Reset() { + *x = EnablePeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnablePeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnablePeerRequest) ProtoMessage() {} + +func (x *EnablePeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[12] + 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 EnablePeerRequest.ProtoReflect.Descriptor instead. func (*EnablePeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{12} + return file_gobgp_proto_rawDescGZIP(), []int{12} } -func (m *EnablePeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EnablePeerRequest.Unmarshal(m, b) -} -func (m *EnablePeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EnablePeerRequest.Marshal(b, m, deterministic) -} -func (m *EnablePeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnablePeerRequest.Merge(m, src) -} -func (m *EnablePeerRequest) XXX_Size() int { - return xxx_messageInfo_EnablePeerRequest.Size(m) -} -func (m *EnablePeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_EnablePeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_EnablePeerRequest proto.InternalMessageInfo - -func (m *EnablePeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *EnablePeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } type DisablePeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` } -func (m *DisablePeerRequest) Reset() { *m = DisablePeerRequest{} } -func (m *DisablePeerRequest) String() string { return proto.CompactTextString(m) } -func (*DisablePeerRequest) ProtoMessage() {} +func (x *DisablePeerRequest) Reset() { + *x = DisablePeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisablePeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisablePeerRequest) ProtoMessage() {} + +func (x *DisablePeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisablePeerRequest.ProtoReflect.Descriptor instead. func (*DisablePeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{13} + return file_gobgp_proto_rawDescGZIP(), []int{13} } -func (m *DisablePeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DisablePeerRequest.Unmarshal(m, b) -} -func (m *DisablePeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DisablePeerRequest.Marshal(b, m, deterministic) -} -func (m *DisablePeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DisablePeerRequest.Merge(m, src) -} -func (m *DisablePeerRequest) XXX_Size() int { - return xxx_messageInfo_DisablePeerRequest.Size(m) -} -func (m *DisablePeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DisablePeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DisablePeerRequest proto.InternalMessageInfo - -func (m *DisablePeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *DisablePeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *DisablePeerRequest) GetCommunication() string { - if m != nil { - return m.Communication +func (x *DisablePeerRequest) GetCommunication() string { + if x != nil { + return x.Communication } return "" } type MonitorPeerRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Current bool `protobuf:"varint,2,opt,name=current,proto3" json:"current,omitempty"` - InitialState bool `protobuf:"varint,3,opt,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Current bool `protobuf:"varint,2,opt,name=current,proto3" json:"current,omitempty"` // Prefer initial_state. + InitialState bool `protobuf:"varint,3,opt,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"` } -func (m *MonitorPeerRequest) Reset() { *m = MonitorPeerRequest{} } -func (m *MonitorPeerRequest) String() string { return proto.CompactTextString(m) } -func (*MonitorPeerRequest) ProtoMessage() {} +func (x *MonitorPeerRequest) Reset() { + *x = MonitorPeerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorPeerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorPeerRequest) ProtoMessage() {} + +func (x *MonitorPeerRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[14] + 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 MonitorPeerRequest.ProtoReflect.Descriptor instead. func (*MonitorPeerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{14} + return file_gobgp_proto_rawDescGZIP(), []int{14} } -func (m *MonitorPeerRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MonitorPeerRequest.Unmarshal(m, b) -} -func (m *MonitorPeerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MonitorPeerRequest.Marshal(b, m, deterministic) -} -func (m *MonitorPeerRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MonitorPeerRequest.Merge(m, src) -} -func (m *MonitorPeerRequest) XXX_Size() int { - return xxx_messageInfo_MonitorPeerRequest.Size(m) -} -func (m *MonitorPeerRequest) XXX_DiscardUnknown() { - xxx_messageInfo_MonitorPeerRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_MonitorPeerRequest proto.InternalMessageInfo - -func (m *MonitorPeerRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *MonitorPeerRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *MonitorPeerRequest) GetCurrent() bool { - if m != nil { - return m.Current +func (x *MonitorPeerRequest) GetCurrent() bool { + if x != nil { + return x.Current } return false } -func (m *MonitorPeerRequest) GetInitialState() bool { - if m != nil { - return m.InitialState +func (x *MonitorPeerRequest) GetInitialState() bool { + if x != nil { + return x.InitialState } return false } type MonitorPeerResponse struct { - Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` } -func (m *MonitorPeerResponse) Reset() { *m = MonitorPeerResponse{} } -func (m *MonitorPeerResponse) String() string { return proto.CompactTextString(m) } -func (*MonitorPeerResponse) ProtoMessage() {} +func (x *MonitorPeerResponse) Reset() { + *x = MonitorPeerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorPeerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorPeerResponse) ProtoMessage() {} + +func (x *MonitorPeerResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MonitorPeerResponse.ProtoReflect.Descriptor instead. func (*MonitorPeerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{15} + return file_gobgp_proto_rawDescGZIP(), []int{15} } -func (m *MonitorPeerResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MonitorPeerResponse.Unmarshal(m, b) -} -func (m *MonitorPeerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MonitorPeerResponse.Marshal(b, m, deterministic) -} -func (m *MonitorPeerResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MonitorPeerResponse.Merge(m, src) -} -func (m *MonitorPeerResponse) XXX_Size() int { - return xxx_messageInfo_MonitorPeerResponse.Size(m) -} -func (m *MonitorPeerResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MonitorPeerResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MonitorPeerResponse proto.InternalMessageInfo - -func (m *MonitorPeerResponse) GetPeer() *Peer { - if m != nil { - return m.Peer +func (x *MonitorPeerResponse) GetPeer() *Peer { + if x != nil { + return x.Peer } return nil } type AddPeerGroupRequest struct { - PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` } -func (m *AddPeerGroupRequest) Reset() { *m = AddPeerGroupRequest{} } -func (m *AddPeerGroupRequest) String() string { return proto.CompactTextString(m) } -func (*AddPeerGroupRequest) ProtoMessage() {} +func (x *AddPeerGroupRequest) Reset() { + *x = AddPeerGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPeerGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPeerGroupRequest) ProtoMessage() {} + +func (x *AddPeerGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddPeerGroupRequest.ProtoReflect.Descriptor instead. func (*AddPeerGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{16} + return file_gobgp_proto_rawDescGZIP(), []int{16} } -func (m *AddPeerGroupRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPeerGroupRequest.Unmarshal(m, b) -} -func (m *AddPeerGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPeerGroupRequest.Marshal(b, m, deterministic) -} -func (m *AddPeerGroupRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPeerGroupRequest.Merge(m, src) -} -func (m *AddPeerGroupRequest) XXX_Size() int { - return xxx_messageInfo_AddPeerGroupRequest.Size(m) -} -func (m *AddPeerGroupRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddPeerGroupRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPeerGroupRequest proto.InternalMessageInfo - -func (m *AddPeerGroupRequest) GetPeerGroup() *PeerGroup { - if m != nil { - return m.PeerGroup +func (x *AddPeerGroupRequest) GetPeerGroup() *PeerGroup { + if x != nil { + return x.PeerGroup } return nil } type DeletePeerGroupRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (m *DeletePeerGroupRequest) Reset() { *m = DeletePeerGroupRequest{} } -func (m *DeletePeerGroupRequest) String() string { return proto.CompactTextString(m) } -func (*DeletePeerGroupRequest) ProtoMessage() {} +func (x *DeletePeerGroupRequest) Reset() { + *x = DeletePeerGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePeerGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePeerGroupRequest) ProtoMessage() {} + +func (x *DeletePeerGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePeerGroupRequest.ProtoReflect.Descriptor instead. func (*DeletePeerGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{17} + return file_gobgp_proto_rawDescGZIP(), []int{17} } -func (m *DeletePeerGroupRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeletePeerGroupRequest.Unmarshal(m, b) -} -func (m *DeletePeerGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeletePeerGroupRequest.Marshal(b, m, deterministic) -} -func (m *DeletePeerGroupRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeletePeerGroupRequest.Merge(m, src) -} -func (m *DeletePeerGroupRequest) XXX_Size() int { - return xxx_messageInfo_DeletePeerGroupRequest.Size(m) -} -func (m *DeletePeerGroupRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeletePeerGroupRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeletePeerGroupRequest proto.InternalMessageInfo - -func (m *DeletePeerGroupRequest) GetName() string { - if m != nil { - return m.Name +func (x *DeletePeerGroupRequest) GetName() string { + if x != nil { + return x.Name } return "" } type UpdatePeerGroupRequest struct { - PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` + DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"` } -func (m *UpdatePeerGroupRequest) Reset() { *m = UpdatePeerGroupRequest{} } -func (m *UpdatePeerGroupRequest) String() string { return proto.CompactTextString(m) } -func (*UpdatePeerGroupRequest) ProtoMessage() {} +func (x *UpdatePeerGroupRequest) Reset() { + *x = UpdatePeerGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePeerGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePeerGroupRequest) ProtoMessage() {} + +func (x *UpdatePeerGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[18] + 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 UpdatePeerGroupRequest.ProtoReflect.Descriptor instead. func (*UpdatePeerGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{18} + return file_gobgp_proto_rawDescGZIP(), []int{18} } -func (m *UpdatePeerGroupRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdatePeerGroupRequest.Unmarshal(m, b) -} -func (m *UpdatePeerGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdatePeerGroupRequest.Marshal(b, m, deterministic) -} -func (m *UpdatePeerGroupRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdatePeerGroupRequest.Merge(m, src) -} -func (m *UpdatePeerGroupRequest) XXX_Size() int { - return xxx_messageInfo_UpdatePeerGroupRequest.Size(m) -} -func (m *UpdatePeerGroupRequest) XXX_DiscardUnknown() { - xxx_messageInfo_UpdatePeerGroupRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_UpdatePeerGroupRequest proto.InternalMessageInfo - -func (m *UpdatePeerGroupRequest) GetPeerGroup() *PeerGroup { - if m != nil { - return m.PeerGroup +func (x *UpdatePeerGroupRequest) GetPeerGroup() *PeerGroup { + if x != nil { + return x.PeerGroup } return nil } -func (m *UpdatePeerGroupRequest) GetDoSoftResetIn() bool { - if m != nil { - return m.DoSoftResetIn +func (x *UpdatePeerGroupRequest) GetDoSoftResetIn() bool { + if x != nil { + return x.DoSoftResetIn } return false } type UpdatePeerGroupResponse struct { - NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"` } -func (m *UpdatePeerGroupResponse) Reset() { *m = UpdatePeerGroupResponse{} } -func (m *UpdatePeerGroupResponse) String() string { return proto.CompactTextString(m) } -func (*UpdatePeerGroupResponse) ProtoMessage() {} +func (x *UpdatePeerGroupResponse) Reset() { + *x = UpdatePeerGroupResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePeerGroupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePeerGroupResponse) ProtoMessage() {} + +func (x *UpdatePeerGroupResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePeerGroupResponse.ProtoReflect.Descriptor instead. func (*UpdatePeerGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{19} + return file_gobgp_proto_rawDescGZIP(), []int{19} } -func (m *UpdatePeerGroupResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdatePeerGroupResponse.Unmarshal(m, b) -} -func (m *UpdatePeerGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdatePeerGroupResponse.Marshal(b, m, deterministic) -} -func (m *UpdatePeerGroupResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdatePeerGroupResponse.Merge(m, src) -} -func (m *UpdatePeerGroupResponse) XXX_Size() int { - return xxx_messageInfo_UpdatePeerGroupResponse.Size(m) -} -func (m *UpdatePeerGroupResponse) XXX_DiscardUnknown() { - xxx_messageInfo_UpdatePeerGroupResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_UpdatePeerGroupResponse proto.InternalMessageInfo - -func (m *UpdatePeerGroupResponse) GetNeedsSoftResetIn() bool { - if m != nil { - return m.NeedsSoftResetIn +func (x *UpdatePeerGroupResponse) GetNeedsSoftResetIn() bool { + if x != nil { + return x.NeedsSoftResetIn } return false } type ListPeerGroupRequest struct { - PeerGroupName string `protobuf:"bytes,1,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerGroupName string `protobuf:"bytes,1,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` } -func (m *ListPeerGroupRequest) Reset() { *m = ListPeerGroupRequest{} } -func (m *ListPeerGroupRequest) String() string { return proto.CompactTextString(m) } -func (*ListPeerGroupRequest) ProtoMessage() {} +func (x *ListPeerGroupRequest) Reset() { + *x = ListPeerGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPeerGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPeerGroupRequest) ProtoMessage() {} + +func (x *ListPeerGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[20] + 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 ListPeerGroupRequest.ProtoReflect.Descriptor instead. func (*ListPeerGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{20} + return file_gobgp_proto_rawDescGZIP(), []int{20} } -func (m *ListPeerGroupRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPeerGroupRequest.Unmarshal(m, b) -} -func (m *ListPeerGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPeerGroupRequest.Marshal(b, m, deterministic) -} -func (m *ListPeerGroupRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPeerGroupRequest.Merge(m, src) -} -func (m *ListPeerGroupRequest) XXX_Size() int { - return xxx_messageInfo_ListPeerGroupRequest.Size(m) -} -func (m *ListPeerGroupRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListPeerGroupRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPeerGroupRequest proto.InternalMessageInfo - -func (m *ListPeerGroupRequest) GetPeerGroupName() string { - if m != nil { - return m.PeerGroupName +func (x *ListPeerGroupRequest) GetPeerGroupName() string { + if x != nil { + return x.PeerGroupName } return "" } type ListPeerGroupResponse struct { - PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` } -func (m *ListPeerGroupResponse) Reset() { *m = ListPeerGroupResponse{} } -func (m *ListPeerGroupResponse) String() string { return proto.CompactTextString(m) } -func (*ListPeerGroupResponse) ProtoMessage() {} +func (x *ListPeerGroupResponse) Reset() { + *x = ListPeerGroupResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPeerGroupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPeerGroupResponse) ProtoMessage() {} + +func (x *ListPeerGroupResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[21] + 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 ListPeerGroupResponse.ProtoReflect.Descriptor instead. func (*ListPeerGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{21} + return file_gobgp_proto_rawDescGZIP(), []int{21} } -func (m *ListPeerGroupResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPeerGroupResponse.Unmarshal(m, b) -} -func (m *ListPeerGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPeerGroupResponse.Marshal(b, m, deterministic) -} -func (m *ListPeerGroupResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPeerGroupResponse.Merge(m, src) -} -func (m *ListPeerGroupResponse) XXX_Size() int { - return xxx_messageInfo_ListPeerGroupResponse.Size(m) -} -func (m *ListPeerGroupResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListPeerGroupResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPeerGroupResponse proto.InternalMessageInfo - -func (m *ListPeerGroupResponse) GetPeerGroup() *PeerGroup { - if m != nil { - return m.PeerGroup +func (x *ListPeerGroupResponse) GetPeerGroup() *PeerGroup { + if x != nil { + return x.PeerGroup } return nil } type AddDynamicNeighborRequest struct { - DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` } -func (m *AddDynamicNeighborRequest) Reset() { *m = AddDynamicNeighborRequest{} } -func (m *AddDynamicNeighborRequest) String() string { return proto.CompactTextString(m) } -func (*AddDynamicNeighborRequest) ProtoMessage() {} +func (x *AddDynamicNeighborRequest) Reset() { + *x = AddDynamicNeighborRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddDynamicNeighborRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddDynamicNeighborRequest) ProtoMessage() {} + +func (x *AddDynamicNeighborRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[22] + 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 AddDynamicNeighborRequest.ProtoReflect.Descriptor instead. func (*AddDynamicNeighborRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{22} + return file_gobgp_proto_rawDescGZIP(), []int{22} } -func (m *AddDynamicNeighborRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddDynamicNeighborRequest.Unmarshal(m, b) -} -func (m *AddDynamicNeighborRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddDynamicNeighborRequest.Marshal(b, m, deterministic) -} -func (m *AddDynamicNeighborRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddDynamicNeighborRequest.Merge(m, src) -} -func (m *AddDynamicNeighborRequest) XXX_Size() int { - return xxx_messageInfo_AddDynamicNeighborRequest.Size(m) -} -func (m *AddDynamicNeighborRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddDynamicNeighborRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddDynamicNeighborRequest proto.InternalMessageInfo - -func (m *AddDynamicNeighborRequest) GetDynamicNeighbor() *DynamicNeighbor { - if m != nil { - return m.DynamicNeighbor +func (x *AddDynamicNeighborRequest) GetDynamicNeighbor() *DynamicNeighbor { + if x != nil { + return x.DynamicNeighbor } return nil } type DeleteDynamicNeighborRequest struct { - Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` - PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` + PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` } -func (m *DeleteDynamicNeighborRequest) Reset() { *m = DeleteDynamicNeighborRequest{} } -func (m *DeleteDynamicNeighborRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteDynamicNeighborRequest) ProtoMessage() {} +func (x *DeleteDynamicNeighborRequest) Reset() { + *x = DeleteDynamicNeighborRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDynamicNeighborRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDynamicNeighborRequest) ProtoMessage() {} + +func (x *DeleteDynamicNeighborRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[23] + 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 DeleteDynamicNeighborRequest.ProtoReflect.Descriptor instead. func (*DeleteDynamicNeighborRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{23} + return file_gobgp_proto_rawDescGZIP(), []int{23} } -func (m *DeleteDynamicNeighborRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteDynamicNeighborRequest.Unmarshal(m, b) -} -func (m *DeleteDynamicNeighborRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteDynamicNeighborRequest.Marshal(b, m, deterministic) -} -func (m *DeleteDynamicNeighborRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteDynamicNeighborRequest.Merge(m, src) -} -func (m *DeleteDynamicNeighborRequest) XXX_Size() int { - return xxx_messageInfo_DeleteDynamicNeighborRequest.Size(m) -} -func (m *DeleteDynamicNeighborRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteDynamicNeighborRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteDynamicNeighborRequest proto.InternalMessageInfo - -func (m *DeleteDynamicNeighborRequest) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *DeleteDynamicNeighborRequest) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } -func (m *DeleteDynamicNeighborRequest) GetPeerGroup() string { - if m != nil { - return m.PeerGroup +func (x *DeleteDynamicNeighborRequest) GetPeerGroup() string { + if x != nil { + return x.PeerGroup } return "" } type ListDynamicNeighborRequest struct { - PeerGroup string `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerGroup string `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` } -func (m *ListDynamicNeighborRequest) Reset() { *m = ListDynamicNeighborRequest{} } -func (m *ListDynamicNeighborRequest) String() string { return proto.CompactTextString(m) } -func (*ListDynamicNeighborRequest) ProtoMessage() {} +func (x *ListDynamicNeighborRequest) Reset() { + *x = ListDynamicNeighborRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDynamicNeighborRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDynamicNeighborRequest) ProtoMessage() {} + +func (x *ListDynamicNeighborRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[24] + 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 ListDynamicNeighborRequest.ProtoReflect.Descriptor instead. func (*ListDynamicNeighborRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{24} + return file_gobgp_proto_rawDescGZIP(), []int{24} } -func (m *ListDynamicNeighborRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListDynamicNeighborRequest.Unmarshal(m, b) -} -func (m *ListDynamicNeighborRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListDynamicNeighborRequest.Marshal(b, m, deterministic) -} -func (m *ListDynamicNeighborRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListDynamicNeighborRequest.Merge(m, src) -} -func (m *ListDynamicNeighborRequest) XXX_Size() int { - return xxx_messageInfo_ListDynamicNeighborRequest.Size(m) -} -func (m *ListDynamicNeighborRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListDynamicNeighborRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListDynamicNeighborRequest proto.InternalMessageInfo - -func (m *ListDynamicNeighborRequest) GetPeerGroup() string { - if m != nil { - return m.PeerGroup +func (x *ListDynamicNeighborRequest) GetPeerGroup() string { + if x != nil { + return x.PeerGroup } return "" } type ListDynamicNeighborResponse struct { - DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` } -func (m *ListDynamicNeighborResponse) Reset() { *m = ListDynamicNeighborResponse{} } -func (m *ListDynamicNeighborResponse) String() string { return proto.CompactTextString(m) } -func (*ListDynamicNeighborResponse) ProtoMessage() {} +func (x *ListDynamicNeighborResponse) Reset() { + *x = ListDynamicNeighborResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDynamicNeighborResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDynamicNeighborResponse) ProtoMessage() {} + +func (x *ListDynamicNeighborResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[25] + 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 ListDynamicNeighborResponse.ProtoReflect.Descriptor instead. func (*ListDynamicNeighborResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{25} + return file_gobgp_proto_rawDescGZIP(), []int{25} } -func (m *ListDynamicNeighborResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListDynamicNeighborResponse.Unmarshal(m, b) -} -func (m *ListDynamicNeighborResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListDynamicNeighborResponse.Marshal(b, m, deterministic) -} -func (m *ListDynamicNeighborResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListDynamicNeighborResponse.Merge(m, src) -} -func (m *ListDynamicNeighborResponse) XXX_Size() int { - return xxx_messageInfo_ListDynamicNeighborResponse.Size(m) -} -func (m *ListDynamicNeighborResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListDynamicNeighborResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListDynamicNeighborResponse proto.InternalMessageInfo - -func (m *ListDynamicNeighborResponse) GetDynamicNeighbor() *DynamicNeighbor { - if m != nil { - return m.DynamicNeighbor +func (x *ListDynamicNeighborResponse) GetDynamicNeighbor() *DynamicNeighbor { + if x != nil { + return x.DynamicNeighbor } return nil } type AddPathRequest struct { - TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=gobgpapi.TableType" json:"table_type,omitempty"` - VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` - Path *Path `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` + VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` + Path *Path `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` } -func (m *AddPathRequest) Reset() { *m = AddPathRequest{} } -func (m *AddPathRequest) String() string { return proto.CompactTextString(m) } -func (*AddPathRequest) ProtoMessage() {} +func (x *AddPathRequest) Reset() { + *x = AddPathRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathRequest) ProtoMessage() {} + +func (x *AddPathRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[26] + 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 AddPathRequest.ProtoReflect.Descriptor instead. func (*AddPathRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{26} + return file_gobgp_proto_rawDescGZIP(), []int{26} } -func (m *AddPathRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathRequest.Unmarshal(m, b) -} -func (m *AddPathRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathRequest.Marshal(b, m, deterministic) -} -func (m *AddPathRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathRequest.Merge(m, src) -} -func (m *AddPathRequest) XXX_Size() int { - return xxx_messageInfo_AddPathRequest.Size(m) -} -func (m *AddPathRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathRequest proto.InternalMessageInfo - -func (m *AddPathRequest) GetTableType() TableType { - if m != nil { - return m.TableType +func (x *AddPathRequest) GetTableType() TableType { + if x != nil { + return x.TableType } return TableType_GLOBAL } -func (m *AddPathRequest) GetVrfId() string { - if m != nil { - return m.VrfId +func (x *AddPathRequest) GetVrfId() string { + if x != nil { + return x.VrfId } return "" } -func (m *AddPathRequest) GetPath() *Path { - if m != nil { - return m.Path +func (x *AddPathRequest) GetPath() *Path { + if x != nil { + return x.Path } return nil } type AddPathResponse struct { - Uuid []byte `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid []byte `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` } -func (m *AddPathResponse) Reset() { *m = AddPathResponse{} } -func (m *AddPathResponse) String() string { return proto.CompactTextString(m) } -func (*AddPathResponse) ProtoMessage() {} +func (x *AddPathResponse) Reset() { + *x = AddPathResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathResponse) ProtoMessage() {} + +func (x *AddPathResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[27] + 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 AddPathResponse.ProtoReflect.Descriptor instead. func (*AddPathResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{27} + return file_gobgp_proto_rawDescGZIP(), []int{27} } -func (m *AddPathResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathResponse.Unmarshal(m, b) -} -func (m *AddPathResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathResponse.Marshal(b, m, deterministic) -} -func (m *AddPathResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathResponse.Merge(m, src) -} -func (m *AddPathResponse) XXX_Size() int { - return xxx_messageInfo_AddPathResponse.Size(m) -} -func (m *AddPathResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathResponse proto.InternalMessageInfo - -func (m *AddPathResponse) GetUuid() []byte { - if m != nil { - return m.Uuid +func (x *AddPathResponse) GetUuid() []byte { + if x != nil { + return x.Uuid } return nil } type DeletePathRequest struct { - TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=gobgpapi.TableType" json:"table_type,omitempty"` - VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` - Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` - Path *Path `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` - Uuid []byte `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` + VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` + Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` + Path *Path `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` + Uuid []byte `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` } -func (m *DeletePathRequest) Reset() { *m = DeletePathRequest{} } -func (m *DeletePathRequest) String() string { return proto.CompactTextString(m) } -func (*DeletePathRequest) ProtoMessage() {} +func (x *DeletePathRequest) Reset() { + *x = DeletePathRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePathRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePathRequest) ProtoMessage() {} + +func (x *DeletePathRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[28] + 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 DeletePathRequest.ProtoReflect.Descriptor instead. func (*DeletePathRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{28} + return file_gobgp_proto_rawDescGZIP(), []int{28} } -func (m *DeletePathRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeletePathRequest.Unmarshal(m, b) -} -func (m *DeletePathRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeletePathRequest.Marshal(b, m, deterministic) -} -func (m *DeletePathRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeletePathRequest.Merge(m, src) -} -func (m *DeletePathRequest) XXX_Size() int { - return xxx_messageInfo_DeletePathRequest.Size(m) -} -func (m *DeletePathRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeletePathRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeletePathRequest proto.InternalMessageInfo - -func (m *DeletePathRequest) GetTableType() TableType { - if m != nil { - return m.TableType +func (x *DeletePathRequest) GetTableType() TableType { + if x != nil { + return x.TableType } return TableType_GLOBAL } -func (m *DeletePathRequest) GetVrfId() string { - if m != nil { - return m.VrfId +func (x *DeletePathRequest) GetVrfId() string { + if x != nil { + return x.VrfId } return "" } -func (m *DeletePathRequest) GetFamily() *Family { - if m != nil { - return m.Family +func (x *DeletePathRequest) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *DeletePathRequest) GetPath() *Path { - if m != nil { - return m.Path +func (x *DeletePathRequest) GetPath() *Path { + if x != nil { + return x.Path } return nil } -func (m *DeletePathRequest) GetUuid() []byte { - if m != nil { - return m.Uuid +func (x *DeletePathRequest) GetUuid() []byte { + if x != nil { + return x.Uuid } return nil } type ListPathRequest struct { - TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=gobgpapi.TableType" json:"table_type,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` Prefixes []*TableLookupPrefix `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"` - SortType ListPathRequest_SortType `protobuf:"varint,5,opt,name=sort_type,json=sortType,proto3,enum=gobgpapi.ListPathRequest_SortType" json:"sort_type,omitempty"` + SortType ListPathRequest_SortType `protobuf:"varint,5,opt,name=sort_type,json=sortType,proto3,enum=apipb.ListPathRequest_SortType" json:"sort_type,omitempty"` EnableFiltered bool `protobuf:"varint,6,opt,name=enable_filtered,json=enableFiltered,proto3" json:"enable_filtered,omitempty"` EnableNlriBinary bool `protobuf:"varint,7,opt,name=enable_nlri_binary,json=enableNlriBinary,proto3" json:"enable_nlri_binary,omitempty"` EnableAttributeBinary bool `protobuf:"varint,8,opt,name=enable_attribute_binary,json=enableAttributeBinary,proto3" json:"enable_attribute_binary,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *ListPathRequest) Reset() { *m = ListPathRequest{} } -func (m *ListPathRequest) String() string { return proto.CompactTextString(m) } -func (*ListPathRequest) ProtoMessage() {} +func (x *ListPathRequest) Reset() { + *x = ListPathRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPathRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPathRequest) ProtoMessage() {} + +func (x *ListPathRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[29] + 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 ListPathRequest.ProtoReflect.Descriptor instead. func (*ListPathRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{29} + return file_gobgp_proto_rawDescGZIP(), []int{29} } -func (m *ListPathRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPathRequest.Unmarshal(m, b) -} -func (m *ListPathRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPathRequest.Marshal(b, m, deterministic) -} -func (m *ListPathRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPathRequest.Merge(m, src) -} -func (m *ListPathRequest) XXX_Size() int { - return xxx_messageInfo_ListPathRequest.Size(m) -} -func (m *ListPathRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListPathRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPathRequest proto.InternalMessageInfo - -func (m *ListPathRequest) GetTableType() TableType { - if m != nil { - return m.TableType +func (x *ListPathRequest) GetTableType() TableType { + if x != nil { + return x.TableType } return TableType_GLOBAL } -func (m *ListPathRequest) GetName() string { - if m != nil { - return m.Name +func (x *ListPathRequest) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *ListPathRequest) GetFamily() *Family { - if m != nil { - return m.Family +func (x *ListPathRequest) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *ListPathRequest) GetPrefixes() []*TableLookupPrefix { - if m != nil { - return m.Prefixes +func (x *ListPathRequest) GetPrefixes() []*TableLookupPrefix { + if x != nil { + return x.Prefixes } return nil } -func (m *ListPathRequest) GetSortType() ListPathRequest_SortType { - if m != nil { - return m.SortType +func (x *ListPathRequest) GetSortType() ListPathRequest_SortType { + if x != nil { + return x.SortType } return ListPathRequest_NONE } -func (m *ListPathRequest) GetEnableFiltered() bool { - if m != nil { - return m.EnableFiltered +func (x *ListPathRequest) GetEnableFiltered() bool { + if x != nil { + return x.EnableFiltered } return false } -func (m *ListPathRequest) GetEnableNlriBinary() bool { - if m != nil { - return m.EnableNlriBinary +func (x *ListPathRequest) GetEnableNlriBinary() bool { + if x != nil { + return x.EnableNlriBinary } return false } -func (m *ListPathRequest) GetEnableAttributeBinary() bool { - if m != nil { - return m.EnableAttributeBinary +func (x *ListPathRequest) GetEnableAttributeBinary() bool { + if x != nil { + return x.EnableAttributeBinary } return false } type ListPathResponse struct { - Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` } -func (m *ListPathResponse) Reset() { *m = ListPathResponse{} } -func (m *ListPathResponse) String() string { return proto.CompactTextString(m) } -func (*ListPathResponse) ProtoMessage() {} +func (x *ListPathResponse) Reset() { + *x = ListPathResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPathResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPathResponse) ProtoMessage() {} + +func (x *ListPathResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[30] + 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 ListPathResponse.ProtoReflect.Descriptor instead. func (*ListPathResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{30} + return file_gobgp_proto_rawDescGZIP(), []int{30} } -func (m *ListPathResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPathResponse.Unmarshal(m, b) -} -func (m *ListPathResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPathResponse.Marshal(b, m, deterministic) -} -func (m *ListPathResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPathResponse.Merge(m, src) -} -func (m *ListPathResponse) XXX_Size() int { - return xxx_messageInfo_ListPathResponse.Size(m) -} -func (m *ListPathResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListPathResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPathResponse proto.InternalMessageInfo - -func (m *ListPathResponse) GetDestination() *Destination { - if m != nil { - return m.Destination +func (x *ListPathResponse) GetDestination() *Destination { + if x != nil { + return x.Destination } return nil } type AddPathStreamRequest struct { - TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=gobgpapi.TableType" json:"table_type,omitempty"` - VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` - Paths []*Path `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` + VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` + Paths []*Path `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"` } -func (m *AddPathStreamRequest) Reset() { *m = AddPathStreamRequest{} } -func (m *AddPathStreamRequest) String() string { return proto.CompactTextString(m) } -func (*AddPathStreamRequest) ProtoMessage() {} +func (x *AddPathStreamRequest) Reset() { + *x = AddPathStreamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathStreamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathStreamRequest) ProtoMessage() {} + +func (x *AddPathStreamRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[31] + 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 AddPathStreamRequest.ProtoReflect.Descriptor instead. func (*AddPathStreamRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{31} + return file_gobgp_proto_rawDescGZIP(), []int{31} } -func (m *AddPathStreamRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathStreamRequest.Unmarshal(m, b) -} -func (m *AddPathStreamRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathStreamRequest.Marshal(b, m, deterministic) -} -func (m *AddPathStreamRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathStreamRequest.Merge(m, src) -} -func (m *AddPathStreamRequest) XXX_Size() int { - return xxx_messageInfo_AddPathStreamRequest.Size(m) -} -func (m *AddPathStreamRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathStreamRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathStreamRequest proto.InternalMessageInfo - -func (m *AddPathStreamRequest) GetTableType() TableType { - if m != nil { - return m.TableType +func (x *AddPathStreamRequest) GetTableType() TableType { + if x != nil { + return x.TableType } return TableType_GLOBAL } -func (m *AddPathStreamRequest) GetVrfId() string { - if m != nil { - return m.VrfId +func (x *AddPathStreamRequest) GetVrfId() string { + if x != nil { + return x.VrfId } return "" } -func (m *AddPathStreamRequest) GetPaths() []*Path { - if m != nil { - return m.Paths +func (x *AddPathStreamRequest) GetPaths() []*Path { + if x != nil { + return x.Paths } return nil } type GetTableRequest struct { - TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=gobgpapi.TableType" json:"table_type,omitempty"` - Family *Family `protobuf:"bytes,2,opt,name=family,proto3" json:"family,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` + Family *Family `protobuf:"bytes,2,opt,name=family,proto3" json:"family,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } -func (m *GetTableRequest) Reset() { *m = GetTableRequest{} } -func (m *GetTableRequest) String() string { return proto.CompactTextString(m) } -func (*GetTableRequest) ProtoMessage() {} +func (x *GetTableRequest) Reset() { + *x = GetTableRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTableRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTableRequest) ProtoMessage() {} + +func (x *GetTableRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_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 GetTableRequest.ProtoReflect.Descriptor instead. func (*GetTableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{32} + return file_gobgp_proto_rawDescGZIP(), []int{32} } -func (m *GetTableRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetTableRequest.Unmarshal(m, b) -} -func (m *GetTableRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetTableRequest.Marshal(b, m, deterministic) -} -func (m *GetTableRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetTableRequest.Merge(m, src) -} -func (m *GetTableRequest) XXX_Size() int { - return xxx_messageInfo_GetTableRequest.Size(m) -} -func (m *GetTableRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetTableRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_GetTableRequest proto.InternalMessageInfo - -func (m *GetTableRequest) GetTableType() TableType { - if m != nil { - return m.TableType +func (x *GetTableRequest) GetTableType() TableType { + if x != nil { + return x.TableType } return TableType_GLOBAL } -func (m *GetTableRequest) GetFamily() *Family { - if m != nil { - return m.Family +func (x *GetTableRequest) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *GetTableRequest) GetName() string { - if m != nil { - return m.Name +func (x *GetTableRequest) GetName() string { + if x != nil { + return x.Name } return "" } type GetTableResponse struct { - NumDestination uint64 `protobuf:"varint,1,opt,name=num_destination,json=numDestination,proto3" json:"num_destination,omitempty"` - NumPath uint64 `protobuf:"varint,2,opt,name=num_path,json=numPath,proto3" json:"num_path,omitempty"` - NumAccepted uint64 `protobuf:"varint,3,opt,name=num_accepted,json=numAccepted,proto3" json:"num_accepted,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NumDestination uint64 `protobuf:"varint,1,opt,name=num_destination,json=numDestination,proto3" json:"num_destination,omitempty"` + NumPath uint64 `protobuf:"varint,2,opt,name=num_path,json=numPath,proto3" json:"num_path,omitempty"` + NumAccepted uint64 `protobuf:"varint,3,opt,name=num_accepted,json=numAccepted,proto3" json:"num_accepted,omitempty"` // only meaningful when type == ADJ_IN } -func (m *GetTableResponse) Reset() { *m = GetTableResponse{} } -func (m *GetTableResponse) String() string { return proto.CompactTextString(m) } -func (*GetTableResponse) ProtoMessage() {} +func (x *GetTableResponse) Reset() { + *x = GetTableResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTableResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTableResponse) ProtoMessage() {} + +func (x *GetTableResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_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 GetTableResponse.ProtoReflect.Descriptor instead. func (*GetTableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{33} + return file_gobgp_proto_rawDescGZIP(), []int{33} } -func (m *GetTableResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetTableResponse.Unmarshal(m, b) -} -func (m *GetTableResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetTableResponse.Marshal(b, m, deterministic) -} -func (m *GetTableResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetTableResponse.Merge(m, src) -} -func (m *GetTableResponse) XXX_Size() int { - return xxx_messageInfo_GetTableResponse.Size(m) -} -func (m *GetTableResponse) XXX_DiscardUnknown() { - xxx_messageInfo_GetTableResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_GetTableResponse proto.InternalMessageInfo - -func (m *GetTableResponse) GetNumDestination() uint64 { - if m != nil { - return m.NumDestination +func (x *GetTableResponse) GetNumDestination() uint64 { + if x != nil { + return x.NumDestination } return 0 } -func (m *GetTableResponse) GetNumPath() uint64 { - if m != nil { - return m.NumPath +func (x *GetTableResponse) GetNumPath() uint64 { + if x != nil { + return x.NumPath } return 0 } -func (m *GetTableResponse) GetNumAccepted() uint64 { - if m != nil { - return m.NumAccepted +func (x *GetTableResponse) GetNumAccepted() uint64 { + if x != nil { + return x.NumAccepted } return 0 } type MonitorTableRequest struct { - TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=gobgpapi.TableType" json:"table_type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` - Current bool `protobuf:"varint,4,opt,name=current,proto3" json:"current,omitempty"` - PostPolicy bool `protobuf:"varint,5,opt,name=post_policy,json=postPolicy,proto3" json:"post_policy,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` + Current bool `protobuf:"varint,4,opt,name=current,proto3" json:"current,omitempty"` + PostPolicy bool `protobuf:"varint,5,opt,name=post_policy,json=postPolicy,proto3" json:"post_policy,omitempty"` } -func (m *MonitorTableRequest) Reset() { *m = MonitorTableRequest{} } -func (m *MonitorTableRequest) String() string { return proto.CompactTextString(m) } -func (*MonitorTableRequest) ProtoMessage() {} +func (x *MonitorTableRequest) Reset() { + *x = MonitorTableRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorTableRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorTableRequest) ProtoMessage() {} + +func (x *MonitorTableRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[34] + 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 MonitorTableRequest.ProtoReflect.Descriptor instead. func (*MonitorTableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{34} + return file_gobgp_proto_rawDescGZIP(), []int{34} } -func (m *MonitorTableRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MonitorTableRequest.Unmarshal(m, b) -} -func (m *MonitorTableRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MonitorTableRequest.Marshal(b, m, deterministic) -} -func (m *MonitorTableRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MonitorTableRequest.Merge(m, src) -} -func (m *MonitorTableRequest) XXX_Size() int { - return xxx_messageInfo_MonitorTableRequest.Size(m) -} -func (m *MonitorTableRequest) XXX_DiscardUnknown() { - xxx_messageInfo_MonitorTableRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_MonitorTableRequest proto.InternalMessageInfo - -func (m *MonitorTableRequest) GetTableType() TableType { - if m != nil { - return m.TableType +func (x *MonitorTableRequest) GetTableType() TableType { + if x != nil { + return x.TableType } return TableType_GLOBAL } -func (m *MonitorTableRequest) GetName() string { - if m != nil { - return m.Name +func (x *MonitorTableRequest) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *MonitorTableRequest) GetFamily() *Family { - if m != nil { - return m.Family +func (x *MonitorTableRequest) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *MonitorTableRequest) GetCurrent() bool { - if m != nil { - return m.Current +func (x *MonitorTableRequest) GetCurrent() bool { + if x != nil { + return x.Current } return false } -func (m *MonitorTableRequest) GetPostPolicy() bool { - if m != nil { - return m.PostPolicy +func (x *MonitorTableRequest) GetPostPolicy() bool { + if x != nil { + return x.PostPolicy } return false } type MonitorTableResponse struct { - Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` } -func (m *MonitorTableResponse) Reset() { *m = MonitorTableResponse{} } -func (m *MonitorTableResponse) String() string { return proto.CompactTextString(m) } -func (*MonitorTableResponse) ProtoMessage() {} +func (x *MonitorTableResponse) Reset() { + *x = MonitorTableResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorTableResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorTableResponse) ProtoMessage() {} + +func (x *MonitorTableResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[35] + 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 MonitorTableResponse.ProtoReflect.Descriptor instead. func (*MonitorTableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{35} + return file_gobgp_proto_rawDescGZIP(), []int{35} } -func (m *MonitorTableResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MonitorTableResponse.Unmarshal(m, b) -} -func (m *MonitorTableResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MonitorTableResponse.Marshal(b, m, deterministic) -} -func (m *MonitorTableResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MonitorTableResponse.Merge(m, src) -} -func (m *MonitorTableResponse) XXX_Size() int { - return xxx_messageInfo_MonitorTableResponse.Size(m) -} -func (m *MonitorTableResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MonitorTableResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MonitorTableResponse proto.InternalMessageInfo - -func (m *MonitorTableResponse) GetPath() *Path { - if m != nil { - return m.Path +func (x *MonitorTableResponse) GetPath() *Path { + if x != nil { + return x.Path } return nil } type AddVrfRequest struct { - Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"` } -func (m *AddVrfRequest) Reset() { *m = AddVrfRequest{} } -func (m *AddVrfRequest) String() string { return proto.CompactTextString(m) } -func (*AddVrfRequest) ProtoMessage() {} +func (x *AddVrfRequest) Reset() { + *x = AddVrfRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddVrfRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddVrfRequest) ProtoMessage() {} + +func (x *AddVrfRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[36] + 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 AddVrfRequest.ProtoReflect.Descriptor instead. func (*AddVrfRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{36} + return file_gobgp_proto_rawDescGZIP(), []int{36} } -func (m *AddVrfRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddVrfRequest.Unmarshal(m, b) -} -func (m *AddVrfRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddVrfRequest.Marshal(b, m, deterministic) -} -func (m *AddVrfRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddVrfRequest.Merge(m, src) -} -func (m *AddVrfRequest) XXX_Size() int { - return xxx_messageInfo_AddVrfRequest.Size(m) -} -func (m *AddVrfRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddVrfRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddVrfRequest proto.InternalMessageInfo - -func (m *AddVrfRequest) GetVrf() *Vrf { - if m != nil { - return m.Vrf +func (x *AddVrfRequest) GetVrf() *Vrf { + if x != nil { + return x.Vrf } return nil } type DeleteVrfRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (m *DeleteVrfRequest) Reset() { *m = DeleteVrfRequest{} } -func (m *DeleteVrfRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteVrfRequest) ProtoMessage() {} +func (x *DeleteVrfRequest) Reset() { + *x = DeleteVrfRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteVrfRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteVrfRequest) ProtoMessage() {} + +func (x *DeleteVrfRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[37] + 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 DeleteVrfRequest.ProtoReflect.Descriptor instead. func (*DeleteVrfRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{37} + return file_gobgp_proto_rawDescGZIP(), []int{37} } -func (m *DeleteVrfRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteVrfRequest.Unmarshal(m, b) -} -func (m *DeleteVrfRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteVrfRequest.Marshal(b, m, deterministic) -} -func (m *DeleteVrfRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteVrfRequest.Merge(m, src) -} -func (m *DeleteVrfRequest) XXX_Size() int { - return xxx_messageInfo_DeleteVrfRequest.Size(m) -} -func (m *DeleteVrfRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteVrfRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteVrfRequest proto.InternalMessageInfo - -func (m *DeleteVrfRequest) GetName() string { - if m != nil { - return m.Name +func (x *DeleteVrfRequest) GetName() string { + if x != nil { + return x.Name } return "" } type ListVrfRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (m *ListVrfRequest) Reset() { *m = ListVrfRequest{} } -func (m *ListVrfRequest) String() string { return proto.CompactTextString(m) } -func (*ListVrfRequest) ProtoMessage() {} +func (x *ListVrfRequest) Reset() { + *x = ListVrfRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListVrfRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListVrfRequest) ProtoMessage() {} + +func (x *ListVrfRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[38] + 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 ListVrfRequest.ProtoReflect.Descriptor instead. func (*ListVrfRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{38} + return file_gobgp_proto_rawDescGZIP(), []int{38} } -func (m *ListVrfRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListVrfRequest.Unmarshal(m, b) -} -func (m *ListVrfRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListVrfRequest.Marshal(b, m, deterministic) -} -func (m *ListVrfRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListVrfRequest.Merge(m, src) -} -func (m *ListVrfRequest) XXX_Size() int { - return xxx_messageInfo_ListVrfRequest.Size(m) -} -func (m *ListVrfRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListVrfRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListVrfRequest proto.InternalMessageInfo - -func (m *ListVrfRequest) GetName() string { - if m != nil { - return m.Name +func (x *ListVrfRequest) GetName() string { + if x != nil { + return x.Name } return "" } type ListVrfResponse struct { - Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"` } -func (m *ListVrfResponse) Reset() { *m = ListVrfResponse{} } -func (m *ListVrfResponse) String() string { return proto.CompactTextString(m) } -func (*ListVrfResponse) ProtoMessage() {} +func (x *ListVrfResponse) Reset() { + *x = ListVrfResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListVrfResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListVrfResponse) ProtoMessage() {} + +func (x *ListVrfResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[39] + 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 ListVrfResponse.ProtoReflect.Descriptor instead. func (*ListVrfResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{39} + return file_gobgp_proto_rawDescGZIP(), []int{39} } -func (m *ListVrfResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListVrfResponse.Unmarshal(m, b) -} -func (m *ListVrfResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListVrfResponse.Marshal(b, m, deterministic) -} -func (m *ListVrfResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListVrfResponse.Merge(m, src) -} -func (m *ListVrfResponse) XXX_Size() int { - return xxx_messageInfo_ListVrfResponse.Size(m) -} -func (m *ListVrfResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListVrfResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListVrfResponse proto.InternalMessageInfo - -func (m *ListVrfResponse) GetVrf() *Vrf { - if m != nil { - return m.Vrf +func (x *ListVrfResponse) GetVrf() *Vrf { + if x != nil { + return x.Vrf } return nil } type AddPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` // if this flag is set, gobgpd won't define new statements // but refer existing statements using statement's names in this arguments. - ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements,proto3" json:"refer_existing_statements,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements,proto3" json:"refer_existing_statements,omitempty"` } -func (m *AddPolicyRequest) Reset() { *m = AddPolicyRequest{} } -func (m *AddPolicyRequest) String() string { return proto.CompactTextString(m) } -func (*AddPolicyRequest) ProtoMessage() {} +func (x *AddPolicyRequest) Reset() { + *x = AddPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPolicyRequest) ProtoMessage() {} + +func (x *AddPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[40] + 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 AddPolicyRequest.ProtoReflect.Descriptor instead. func (*AddPolicyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{40} + return file_gobgp_proto_rawDescGZIP(), []int{40} } -func (m *AddPolicyRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPolicyRequest.Unmarshal(m, b) -} -func (m *AddPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPolicyRequest.Marshal(b, m, deterministic) -} -func (m *AddPolicyRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPolicyRequest.Merge(m, src) -} -func (m *AddPolicyRequest) XXX_Size() int { - return xxx_messageInfo_AddPolicyRequest.Size(m) -} -func (m *AddPolicyRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddPolicyRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPolicyRequest proto.InternalMessageInfo - -func (m *AddPolicyRequest) GetPolicy() *Policy { - if m != nil { - return m.Policy +func (x *AddPolicyRequest) GetPolicy() *Policy { + if x != nil { + return x.Policy } return nil } -func (m *AddPolicyRequest) GetReferExistingStatements() bool { - if m != nil { - return m.ReferExistingStatements +func (x *AddPolicyRequest) GetReferExistingStatements() bool { + if x != nil { + return x.ReferExistingStatements } return false } type DeletePolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` // if this flag is set, gobgpd won't delete any statements // even if some statements get not used by any policy by this operation. - PreserveStatements bool `protobuf:"varint,2,opt,name=preserve_statements,json=preserveStatements,proto3" json:"preserve_statements,omitempty"` - All bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + PreserveStatements bool `protobuf:"varint,2,opt,name=preserve_statements,json=preserveStatements,proto3" json:"preserve_statements,omitempty"` + All bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"` } -func (m *DeletePolicyRequest) Reset() { *m = DeletePolicyRequest{} } -func (m *DeletePolicyRequest) String() string { return proto.CompactTextString(m) } -func (*DeletePolicyRequest) ProtoMessage() {} +func (x *DeletePolicyRequest) Reset() { + *x = DeletePolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePolicyRequest) ProtoMessage() {} + +func (x *DeletePolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[41] + 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 DeletePolicyRequest.ProtoReflect.Descriptor instead. func (*DeletePolicyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{41} + return file_gobgp_proto_rawDescGZIP(), []int{41} } -func (m *DeletePolicyRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeletePolicyRequest.Unmarshal(m, b) -} -func (m *DeletePolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeletePolicyRequest.Marshal(b, m, deterministic) -} -func (m *DeletePolicyRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeletePolicyRequest.Merge(m, src) -} -func (m *DeletePolicyRequest) XXX_Size() int { - return xxx_messageInfo_DeletePolicyRequest.Size(m) -} -func (m *DeletePolicyRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeletePolicyRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeletePolicyRequest proto.InternalMessageInfo - -func (m *DeletePolicyRequest) GetPolicy() *Policy { - if m != nil { - return m.Policy +func (x *DeletePolicyRequest) GetPolicy() *Policy { + if x != nil { + return x.Policy } return nil } -func (m *DeletePolicyRequest) GetPreserveStatements() bool { - if m != nil { - return m.PreserveStatements +func (x *DeletePolicyRequest) GetPreserveStatements() bool { + if x != nil { + return x.PreserveStatements } return false } -func (m *DeletePolicyRequest) GetAll() bool { - if m != nil { - return m.All +func (x *DeletePolicyRequest) GetAll() bool { + if x != nil { + return x.All } return false } type ListPolicyRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (m *ListPolicyRequest) Reset() { *m = ListPolicyRequest{} } -func (m *ListPolicyRequest) String() string { return proto.CompactTextString(m) } -func (*ListPolicyRequest) ProtoMessage() {} +func (x *ListPolicyRequest) Reset() { + *x = ListPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPolicyRequest) ProtoMessage() {} + +func (x *ListPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[42] + 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 ListPolicyRequest.ProtoReflect.Descriptor instead. func (*ListPolicyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{42} + return file_gobgp_proto_rawDescGZIP(), []int{42} } -func (m *ListPolicyRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPolicyRequest.Unmarshal(m, b) -} -func (m *ListPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPolicyRequest.Marshal(b, m, deterministic) -} -func (m *ListPolicyRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPolicyRequest.Merge(m, src) -} -func (m *ListPolicyRequest) XXX_Size() int { - return xxx_messageInfo_ListPolicyRequest.Size(m) -} -func (m *ListPolicyRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListPolicyRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPolicyRequest proto.InternalMessageInfo - -func (m *ListPolicyRequest) GetName() string { - if m != nil { - return m.Name +func (x *ListPolicyRequest) GetName() string { + if x != nil { + return x.Name } return "" } type ListPolicyResponse struct { - Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` } -func (m *ListPolicyResponse) Reset() { *m = ListPolicyResponse{} } -func (m *ListPolicyResponse) String() string { return proto.CompactTextString(m) } -func (*ListPolicyResponse) ProtoMessage() {} +func (x *ListPolicyResponse) Reset() { + *x = ListPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPolicyResponse) ProtoMessage() {} + +func (x *ListPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[43] + 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 ListPolicyResponse.ProtoReflect.Descriptor instead. func (*ListPolicyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{43} + return file_gobgp_proto_rawDescGZIP(), []int{43} } -func (m *ListPolicyResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPolicyResponse.Unmarshal(m, b) -} -func (m *ListPolicyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPolicyResponse.Marshal(b, m, deterministic) -} -func (m *ListPolicyResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPolicyResponse.Merge(m, src) -} -func (m *ListPolicyResponse) XXX_Size() int { - return xxx_messageInfo_ListPolicyResponse.Size(m) -} -func (m *ListPolicyResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListPolicyResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPolicyResponse proto.InternalMessageInfo - -func (m *ListPolicyResponse) GetPolicy() *Policy { - if m != nil { - return m.Policy +func (x *ListPolicyResponse) GetPolicy() *Policy { + if x != nil { + return x.Policy } return nil } type SetPoliciesRequest struct { - DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"` - Policies []*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"` - Assignments []*PolicyAssignment `protobuf:"bytes,3,rep,name=assignments,proto3" json:"assignments,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"` + Policies []*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"` + Assignments []*PolicyAssignment `protobuf:"bytes,3,rep,name=assignments,proto3" json:"assignments,omitempty"` } -func (m *SetPoliciesRequest) Reset() { *m = SetPoliciesRequest{} } -func (m *SetPoliciesRequest) String() string { return proto.CompactTextString(m) } -func (*SetPoliciesRequest) ProtoMessage() {} +func (x *SetPoliciesRequest) Reset() { + *x = SetPoliciesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetPoliciesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPoliciesRequest) ProtoMessage() {} + +func (x *SetPoliciesRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[44] + 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 SetPoliciesRequest.ProtoReflect.Descriptor instead. func (*SetPoliciesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{44} + return file_gobgp_proto_rawDescGZIP(), []int{44} } -func (m *SetPoliciesRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetPoliciesRequest.Unmarshal(m, b) -} -func (m *SetPoliciesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetPoliciesRequest.Marshal(b, m, deterministic) -} -func (m *SetPoliciesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetPoliciesRequest.Merge(m, src) -} -func (m *SetPoliciesRequest) XXX_Size() int { - return xxx_messageInfo_SetPoliciesRequest.Size(m) -} -func (m *SetPoliciesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SetPoliciesRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_SetPoliciesRequest proto.InternalMessageInfo - -func (m *SetPoliciesRequest) GetDefinedSets() []*DefinedSet { - if m != nil { - return m.DefinedSets +func (x *SetPoliciesRequest) GetDefinedSets() []*DefinedSet { + if x != nil { + return x.DefinedSets } return nil } -func (m *SetPoliciesRequest) GetPolicies() []*Policy { - if m != nil { - return m.Policies +func (x *SetPoliciesRequest) GetPolicies() []*Policy { + if x != nil { + return x.Policies } return nil } -func (m *SetPoliciesRequest) GetAssignments() []*PolicyAssignment { - if m != nil { - return m.Assignments +func (x *SetPoliciesRequest) GetAssignments() []*PolicyAssignment { + if x != nil { + return x.Assignments } return nil } type AddDefinedSetRequest struct { - DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` } -func (m *AddDefinedSetRequest) Reset() { *m = AddDefinedSetRequest{} } -func (m *AddDefinedSetRequest) String() string { return proto.CompactTextString(m) } -func (*AddDefinedSetRequest) ProtoMessage() {} +func (x *AddDefinedSetRequest) Reset() { + *x = AddDefinedSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddDefinedSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddDefinedSetRequest) ProtoMessage() {} + +func (x *AddDefinedSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[45] + 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 AddDefinedSetRequest.ProtoReflect.Descriptor instead. func (*AddDefinedSetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{45} + return file_gobgp_proto_rawDescGZIP(), []int{45} } -func (m *AddDefinedSetRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddDefinedSetRequest.Unmarshal(m, b) -} -func (m *AddDefinedSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddDefinedSetRequest.Marshal(b, m, deterministic) -} -func (m *AddDefinedSetRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddDefinedSetRequest.Merge(m, src) -} -func (m *AddDefinedSetRequest) XXX_Size() int { - return xxx_messageInfo_AddDefinedSetRequest.Size(m) -} -func (m *AddDefinedSetRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddDefinedSetRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddDefinedSetRequest proto.InternalMessageInfo - -func (m *AddDefinedSetRequest) GetDefinedSet() *DefinedSet { - if m != nil { - return m.DefinedSet +func (x *AddDefinedSetRequest) GetDefinedSet() *DefinedSet { + if x != nil { + return x.DefinedSet } return nil } type DeleteDefinedSetRequest struct { - DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` - All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` + All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` } -func (m *DeleteDefinedSetRequest) Reset() { *m = DeleteDefinedSetRequest{} } -func (m *DeleteDefinedSetRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteDefinedSetRequest) ProtoMessage() {} +func (x *DeleteDefinedSetRequest) Reset() { + *x = DeleteDefinedSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDefinedSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDefinedSetRequest) ProtoMessage() {} + +func (x *DeleteDefinedSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[46] + 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 DeleteDefinedSetRequest.ProtoReflect.Descriptor instead. func (*DeleteDefinedSetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{46} + return file_gobgp_proto_rawDescGZIP(), []int{46} } -func (m *DeleteDefinedSetRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteDefinedSetRequest.Unmarshal(m, b) -} -func (m *DeleteDefinedSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteDefinedSetRequest.Marshal(b, m, deterministic) -} -func (m *DeleteDefinedSetRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteDefinedSetRequest.Merge(m, src) -} -func (m *DeleteDefinedSetRequest) XXX_Size() int { - return xxx_messageInfo_DeleteDefinedSetRequest.Size(m) -} -func (m *DeleteDefinedSetRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteDefinedSetRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteDefinedSetRequest proto.InternalMessageInfo - -func (m *DeleteDefinedSetRequest) GetDefinedSet() *DefinedSet { - if m != nil { - return m.DefinedSet +func (x *DeleteDefinedSetRequest) GetDefinedSet() *DefinedSet { + if x != nil { + return x.DefinedSet } return nil } -func (m *DeleteDefinedSetRequest) GetAll() bool { - if m != nil { - return m.All +func (x *DeleteDefinedSetRequest) GetAll() bool { + if x != nil { + return x.All } return false } type ListDefinedSetRequest struct { - DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=gobgpapi.DefinedType" json:"defined_type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=apipb.DefinedType" json:"defined_type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (m *ListDefinedSetRequest) Reset() { *m = ListDefinedSetRequest{} } -func (m *ListDefinedSetRequest) String() string { return proto.CompactTextString(m) } -func (*ListDefinedSetRequest) ProtoMessage() {} +func (x *ListDefinedSetRequest) Reset() { + *x = ListDefinedSetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDefinedSetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDefinedSetRequest) ProtoMessage() {} + +func (x *ListDefinedSetRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[47] + 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 ListDefinedSetRequest.ProtoReflect.Descriptor instead. func (*ListDefinedSetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{47} + return file_gobgp_proto_rawDescGZIP(), []int{47} } -func (m *ListDefinedSetRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListDefinedSetRequest.Unmarshal(m, b) -} -func (m *ListDefinedSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListDefinedSetRequest.Marshal(b, m, deterministic) -} -func (m *ListDefinedSetRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListDefinedSetRequest.Merge(m, src) -} -func (m *ListDefinedSetRequest) XXX_Size() int { - return xxx_messageInfo_ListDefinedSetRequest.Size(m) -} -func (m *ListDefinedSetRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListDefinedSetRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListDefinedSetRequest proto.InternalMessageInfo - -func (m *ListDefinedSetRequest) GetDefinedType() DefinedType { - if m != nil { - return m.DefinedType +func (x *ListDefinedSetRequest) GetDefinedType() DefinedType { + if x != nil { + return x.DefinedType } return DefinedType_PREFIX } -func (m *ListDefinedSetRequest) GetName() string { - if m != nil { - return m.Name +func (x *ListDefinedSetRequest) GetName() string { + if x != nil { + return x.Name } return "" } type ListDefinedSetResponse struct { - DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` } -func (m *ListDefinedSetResponse) Reset() { *m = ListDefinedSetResponse{} } -func (m *ListDefinedSetResponse) String() string { return proto.CompactTextString(m) } -func (*ListDefinedSetResponse) ProtoMessage() {} +func (x *ListDefinedSetResponse) Reset() { + *x = ListDefinedSetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDefinedSetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDefinedSetResponse) ProtoMessage() {} + +func (x *ListDefinedSetResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[48] + 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 ListDefinedSetResponse.ProtoReflect.Descriptor instead. func (*ListDefinedSetResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{48} + return file_gobgp_proto_rawDescGZIP(), []int{48} } -func (m *ListDefinedSetResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListDefinedSetResponse.Unmarshal(m, b) -} -func (m *ListDefinedSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListDefinedSetResponse.Marshal(b, m, deterministic) -} -func (m *ListDefinedSetResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListDefinedSetResponse.Merge(m, src) -} -func (m *ListDefinedSetResponse) XXX_Size() int { - return xxx_messageInfo_ListDefinedSetResponse.Size(m) -} -func (m *ListDefinedSetResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListDefinedSetResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListDefinedSetResponse proto.InternalMessageInfo - -func (m *ListDefinedSetResponse) GetDefinedSet() *DefinedSet { - if m != nil { - return m.DefinedSet +func (x *ListDefinedSetResponse) GetDefinedSet() *DefinedSet { + if x != nil { + return x.DefinedSet } return nil } type AddStatementRequest struct { - Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` } -func (m *AddStatementRequest) Reset() { *m = AddStatementRequest{} } -func (m *AddStatementRequest) String() string { return proto.CompactTextString(m) } -func (*AddStatementRequest) ProtoMessage() {} +func (x *AddStatementRequest) Reset() { + *x = AddStatementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddStatementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddStatementRequest) ProtoMessage() {} + +func (x *AddStatementRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[49] + 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 AddStatementRequest.ProtoReflect.Descriptor instead. func (*AddStatementRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{49} + return file_gobgp_proto_rawDescGZIP(), []int{49} } -func (m *AddStatementRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddStatementRequest.Unmarshal(m, b) -} -func (m *AddStatementRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddStatementRequest.Marshal(b, m, deterministic) -} -func (m *AddStatementRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddStatementRequest.Merge(m, src) -} -func (m *AddStatementRequest) XXX_Size() int { - return xxx_messageInfo_AddStatementRequest.Size(m) -} -func (m *AddStatementRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddStatementRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddStatementRequest proto.InternalMessageInfo - -func (m *AddStatementRequest) GetStatement() *Statement { - if m != nil { - return m.Statement +func (x *AddStatementRequest) GetStatement() *Statement { + if x != nil { + return x.Statement } return nil } type DeleteStatementRequest struct { - Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` - All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` + All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` } -func (m *DeleteStatementRequest) Reset() { *m = DeleteStatementRequest{} } -func (m *DeleteStatementRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteStatementRequest) ProtoMessage() {} +func (x *DeleteStatementRequest) Reset() { + *x = DeleteStatementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteStatementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteStatementRequest) ProtoMessage() {} + +func (x *DeleteStatementRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[50] + 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 DeleteStatementRequest.ProtoReflect.Descriptor instead. func (*DeleteStatementRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{50} + return file_gobgp_proto_rawDescGZIP(), []int{50} } -func (m *DeleteStatementRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteStatementRequest.Unmarshal(m, b) -} -func (m *DeleteStatementRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteStatementRequest.Marshal(b, m, deterministic) -} -func (m *DeleteStatementRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteStatementRequest.Merge(m, src) -} -func (m *DeleteStatementRequest) XXX_Size() int { - return xxx_messageInfo_DeleteStatementRequest.Size(m) -} -func (m *DeleteStatementRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteStatementRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteStatementRequest proto.InternalMessageInfo - -func (m *DeleteStatementRequest) GetStatement() *Statement { - if m != nil { - return m.Statement +func (x *DeleteStatementRequest) GetStatement() *Statement { + if x != nil { + return x.Statement } return nil } -func (m *DeleteStatementRequest) GetAll() bool { - if m != nil { - return m.All +func (x *DeleteStatementRequest) GetAll() bool { + if x != nil { + return x.All } return false } type ListStatementRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (m *ListStatementRequest) Reset() { *m = ListStatementRequest{} } -func (m *ListStatementRequest) String() string { return proto.CompactTextString(m) } -func (*ListStatementRequest) ProtoMessage() {} +func (x *ListStatementRequest) Reset() { + *x = ListStatementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStatementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStatementRequest) ProtoMessage() {} + +func (x *ListStatementRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[51] + 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 ListStatementRequest.ProtoReflect.Descriptor instead. func (*ListStatementRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{51} + return file_gobgp_proto_rawDescGZIP(), []int{51} } -func (m *ListStatementRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListStatementRequest.Unmarshal(m, b) -} -func (m *ListStatementRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListStatementRequest.Marshal(b, m, deterministic) -} -func (m *ListStatementRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListStatementRequest.Merge(m, src) -} -func (m *ListStatementRequest) XXX_Size() int { - return xxx_messageInfo_ListStatementRequest.Size(m) -} -func (m *ListStatementRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListStatementRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListStatementRequest proto.InternalMessageInfo - -func (m *ListStatementRequest) GetName() string { - if m != nil { - return m.Name +func (x *ListStatementRequest) GetName() string { + if x != nil { + return x.Name } return "" } type ListStatementResponse struct { - Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` } -func (m *ListStatementResponse) Reset() { *m = ListStatementResponse{} } -func (m *ListStatementResponse) String() string { return proto.CompactTextString(m) } -func (*ListStatementResponse) ProtoMessage() {} +func (x *ListStatementResponse) Reset() { + *x = ListStatementResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStatementResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStatementResponse) ProtoMessage() {} + +func (x *ListStatementResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[52] + 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 ListStatementResponse.ProtoReflect.Descriptor instead. func (*ListStatementResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{52} + return file_gobgp_proto_rawDescGZIP(), []int{52} } -func (m *ListStatementResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListStatementResponse.Unmarshal(m, b) -} -func (m *ListStatementResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListStatementResponse.Marshal(b, m, deterministic) -} -func (m *ListStatementResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListStatementResponse.Merge(m, src) -} -func (m *ListStatementResponse) XXX_Size() int { - return xxx_messageInfo_ListStatementResponse.Size(m) -} -func (m *ListStatementResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListStatementResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListStatementResponse proto.InternalMessageInfo - -func (m *ListStatementResponse) GetStatement() *Statement { - if m != nil { - return m.Statement +func (x *ListStatementResponse) GetStatement() *Statement { + if x != nil { + return x.Statement } return nil } type AddPolicyAssignmentRequest struct { - Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` } -func (m *AddPolicyAssignmentRequest) Reset() { *m = AddPolicyAssignmentRequest{} } -func (m *AddPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } -func (*AddPolicyAssignmentRequest) ProtoMessage() {} +func (x *AddPolicyAssignmentRequest) Reset() { + *x = AddPolicyAssignmentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPolicyAssignmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPolicyAssignmentRequest) ProtoMessage() {} + +func (x *AddPolicyAssignmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[53] + 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 AddPolicyAssignmentRequest.ProtoReflect.Descriptor instead. func (*AddPolicyAssignmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{53} + return file_gobgp_proto_rawDescGZIP(), []int{53} } -func (m *AddPolicyAssignmentRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPolicyAssignmentRequest.Unmarshal(m, b) -} -func (m *AddPolicyAssignmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPolicyAssignmentRequest.Marshal(b, m, deterministic) -} -func (m *AddPolicyAssignmentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPolicyAssignmentRequest.Merge(m, src) -} -func (m *AddPolicyAssignmentRequest) XXX_Size() int { - return xxx_messageInfo_AddPolicyAssignmentRequest.Size(m) -} -func (m *AddPolicyAssignmentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddPolicyAssignmentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPolicyAssignmentRequest proto.InternalMessageInfo - -func (m *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { - if m != nil { - return m.Assignment +func (x *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { + if x != nil { + return x.Assignment } return nil } type DeletePolicyAssignmentRequest struct { - Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` - All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` + All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` } -func (m *DeletePolicyAssignmentRequest) Reset() { *m = DeletePolicyAssignmentRequest{} } -func (m *DeletePolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } -func (*DeletePolicyAssignmentRequest) ProtoMessage() {} +func (x *DeletePolicyAssignmentRequest) Reset() { + *x = DeletePolicyAssignmentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePolicyAssignmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePolicyAssignmentRequest) ProtoMessage() {} + +func (x *DeletePolicyAssignmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[54] + 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 DeletePolicyAssignmentRequest.ProtoReflect.Descriptor instead. func (*DeletePolicyAssignmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{54} + return file_gobgp_proto_rawDescGZIP(), []int{54} } -func (m *DeletePolicyAssignmentRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeletePolicyAssignmentRequest.Unmarshal(m, b) -} -func (m *DeletePolicyAssignmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeletePolicyAssignmentRequest.Marshal(b, m, deterministic) -} -func (m *DeletePolicyAssignmentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeletePolicyAssignmentRequest.Merge(m, src) -} -func (m *DeletePolicyAssignmentRequest) XXX_Size() int { - return xxx_messageInfo_DeletePolicyAssignmentRequest.Size(m) -} -func (m *DeletePolicyAssignmentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeletePolicyAssignmentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeletePolicyAssignmentRequest proto.InternalMessageInfo - -func (m *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { - if m != nil { - return m.Assignment +func (x *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { + if x != nil { + return x.Assignment } return nil } -func (m *DeletePolicyAssignmentRequest) GetAll() bool { - if m != nil { - return m.All +func (x *DeletePolicyAssignmentRequest) GetAll() bool { + if x != nil { + return x.All } return false } type ListPolicyAssignmentRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=gobgpapi.PolicyDirection" json:"direction,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=apipb.PolicyDirection" json:"direction,omitempty"` } -func (m *ListPolicyAssignmentRequest) Reset() { *m = ListPolicyAssignmentRequest{} } -func (m *ListPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } -func (*ListPolicyAssignmentRequest) ProtoMessage() {} +func (x *ListPolicyAssignmentRequest) Reset() { + *x = ListPolicyAssignmentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPolicyAssignmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPolicyAssignmentRequest) ProtoMessage() {} + +func (x *ListPolicyAssignmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[55] + 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 ListPolicyAssignmentRequest.ProtoReflect.Descriptor instead. func (*ListPolicyAssignmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{55} + return file_gobgp_proto_rawDescGZIP(), []int{55} } -func (m *ListPolicyAssignmentRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPolicyAssignmentRequest.Unmarshal(m, b) -} -func (m *ListPolicyAssignmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPolicyAssignmentRequest.Marshal(b, m, deterministic) -} -func (m *ListPolicyAssignmentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPolicyAssignmentRequest.Merge(m, src) -} -func (m *ListPolicyAssignmentRequest) XXX_Size() int { - return xxx_messageInfo_ListPolicyAssignmentRequest.Size(m) -} -func (m *ListPolicyAssignmentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListPolicyAssignmentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPolicyAssignmentRequest proto.InternalMessageInfo - -func (m *ListPolicyAssignmentRequest) GetName() string { - if m != nil { - return m.Name +func (x *ListPolicyAssignmentRequest) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *ListPolicyAssignmentRequest) GetDirection() PolicyDirection { - if m != nil { - return m.Direction +func (x *ListPolicyAssignmentRequest) GetDirection() PolicyDirection { + if x != nil { + return x.Direction } return PolicyDirection_UNKNOWN } type ListPolicyAssignmentResponse struct { - Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` } -func (m *ListPolicyAssignmentResponse) Reset() { *m = ListPolicyAssignmentResponse{} } -func (m *ListPolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } -func (*ListPolicyAssignmentResponse) ProtoMessage() {} +func (x *ListPolicyAssignmentResponse) Reset() { + *x = ListPolicyAssignmentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPolicyAssignmentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPolicyAssignmentResponse) ProtoMessage() {} + +func (x *ListPolicyAssignmentResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[56] + 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 ListPolicyAssignmentResponse.ProtoReflect.Descriptor instead. func (*ListPolicyAssignmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{56} + return file_gobgp_proto_rawDescGZIP(), []int{56} } -func (m *ListPolicyAssignmentResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListPolicyAssignmentResponse.Unmarshal(m, b) -} -func (m *ListPolicyAssignmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListPolicyAssignmentResponse.Marshal(b, m, deterministic) -} -func (m *ListPolicyAssignmentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListPolicyAssignmentResponse.Merge(m, src) -} -func (m *ListPolicyAssignmentResponse) XXX_Size() int { - return xxx_messageInfo_ListPolicyAssignmentResponse.Size(m) -} -func (m *ListPolicyAssignmentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListPolicyAssignmentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListPolicyAssignmentResponse proto.InternalMessageInfo - -func (m *ListPolicyAssignmentResponse) GetAssignment() *PolicyAssignment { - if m != nil { - return m.Assignment +func (x *ListPolicyAssignmentResponse) GetAssignment() *PolicyAssignment { + if x != nil { + return x.Assignment } return nil } type SetPolicyAssignmentRequest struct { - Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` } -func (m *SetPolicyAssignmentRequest) Reset() { *m = SetPolicyAssignmentRequest{} } -func (m *SetPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } -func (*SetPolicyAssignmentRequest) ProtoMessage() {} +func (x *SetPolicyAssignmentRequest) Reset() { + *x = SetPolicyAssignmentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetPolicyAssignmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPolicyAssignmentRequest) ProtoMessage() {} + +func (x *SetPolicyAssignmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[57] + 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 SetPolicyAssignmentRequest.ProtoReflect.Descriptor instead. func (*SetPolicyAssignmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{57} + return file_gobgp_proto_rawDescGZIP(), []int{57} } -func (m *SetPolicyAssignmentRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetPolicyAssignmentRequest.Unmarshal(m, b) -} -func (m *SetPolicyAssignmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetPolicyAssignmentRequest.Marshal(b, m, deterministic) -} -func (m *SetPolicyAssignmentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetPolicyAssignmentRequest.Merge(m, src) -} -func (m *SetPolicyAssignmentRequest) XXX_Size() int { - return xxx_messageInfo_SetPolicyAssignmentRequest.Size(m) -} -func (m *SetPolicyAssignmentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SetPolicyAssignmentRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_SetPolicyAssignmentRequest proto.InternalMessageInfo - -func (m *SetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { - if m != nil { - return m.Assignment +func (x *SetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { + if x != nil { + return x.Assignment } return nil } type AddRpkiRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - Lifetime int64 `protobuf:"varint,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Lifetime int64 `protobuf:"varint,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"` } -func (m *AddRpkiRequest) Reset() { *m = AddRpkiRequest{} } -func (m *AddRpkiRequest) String() string { return proto.CompactTextString(m) } -func (*AddRpkiRequest) ProtoMessage() {} +func (x *AddRpkiRequest) Reset() { + *x = AddRpkiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddRpkiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddRpkiRequest) ProtoMessage() {} + +func (x *AddRpkiRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[58] + 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 AddRpkiRequest.ProtoReflect.Descriptor instead. func (*AddRpkiRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{58} + return file_gobgp_proto_rawDescGZIP(), []int{58} } -func (m *AddRpkiRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddRpkiRequest.Unmarshal(m, b) -} -func (m *AddRpkiRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddRpkiRequest.Marshal(b, m, deterministic) -} -func (m *AddRpkiRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddRpkiRequest.Merge(m, src) -} -func (m *AddRpkiRequest) XXX_Size() int { - return xxx_messageInfo_AddRpkiRequest.Size(m) -} -func (m *AddRpkiRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddRpkiRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddRpkiRequest proto.InternalMessageInfo - -func (m *AddRpkiRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *AddRpkiRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *AddRpkiRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *AddRpkiRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } -func (m *AddRpkiRequest) GetLifetime() int64 { - if m != nil { - return m.Lifetime +func (x *AddRpkiRequest) GetLifetime() int64 { + if x != nil { + return x.Lifetime } return 0 } type DeleteRpkiRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` } -func (m *DeleteRpkiRequest) Reset() { *m = DeleteRpkiRequest{} } -func (m *DeleteRpkiRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteRpkiRequest) ProtoMessage() {} +func (x *DeleteRpkiRequest) Reset() { + *x = DeleteRpkiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteRpkiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRpkiRequest) ProtoMessage() {} + +func (x *DeleteRpkiRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[59] + 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 DeleteRpkiRequest.ProtoReflect.Descriptor instead. func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{59} + return file_gobgp_proto_rawDescGZIP(), []int{59} } -func (m *DeleteRpkiRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteRpkiRequest.Unmarshal(m, b) -} -func (m *DeleteRpkiRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteRpkiRequest.Marshal(b, m, deterministic) -} -func (m *DeleteRpkiRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteRpkiRequest.Merge(m, src) -} -func (m *DeleteRpkiRequest) XXX_Size() int { - return xxx_messageInfo_DeleteRpkiRequest.Size(m) -} -func (m *DeleteRpkiRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteRpkiRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteRpkiRequest proto.InternalMessageInfo - -func (m *DeleteRpkiRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *DeleteRpkiRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *DeleteRpkiRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *DeleteRpkiRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } type ListRpkiRequest struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` } -func (m *ListRpkiRequest) Reset() { *m = ListRpkiRequest{} } -func (m *ListRpkiRequest) String() string { return proto.CompactTextString(m) } -func (*ListRpkiRequest) ProtoMessage() {} +func (x *ListRpkiRequest) Reset() { + *x = ListRpkiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRpkiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRpkiRequest) ProtoMessage() {} + +func (x *ListRpkiRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[60] + 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 ListRpkiRequest.ProtoReflect.Descriptor instead. func (*ListRpkiRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{60} + return file_gobgp_proto_rawDescGZIP(), []int{60} } -func (m *ListRpkiRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListRpkiRequest.Unmarshal(m, b) -} -func (m *ListRpkiRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListRpkiRequest.Marshal(b, m, deterministic) -} -func (m *ListRpkiRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListRpkiRequest.Merge(m, src) -} -func (m *ListRpkiRequest) XXX_Size() int { - return xxx_messageInfo_ListRpkiRequest.Size(m) -} -func (m *ListRpkiRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListRpkiRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListRpkiRequest proto.InternalMessageInfo - -func (m *ListRpkiRequest) GetFamily() *Family { - if m != nil { - return m.Family +func (x *ListRpkiRequest) GetFamily() *Family { + if x != nil { + return x.Family } return nil } type ListRpkiResponse struct { - Server *Rpki `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Server *Rpki `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` } -func (m *ListRpkiResponse) Reset() { *m = ListRpkiResponse{} } -func (m *ListRpkiResponse) String() string { return proto.CompactTextString(m) } -func (*ListRpkiResponse) ProtoMessage() {} +func (x *ListRpkiResponse) Reset() { + *x = ListRpkiResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRpkiResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRpkiResponse) ProtoMessage() {} + +func (x *ListRpkiResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[61] + 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 ListRpkiResponse.ProtoReflect.Descriptor instead. func (*ListRpkiResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{61} + return file_gobgp_proto_rawDescGZIP(), []int{61} } -func (m *ListRpkiResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListRpkiResponse.Unmarshal(m, b) -} -func (m *ListRpkiResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListRpkiResponse.Marshal(b, m, deterministic) -} -func (m *ListRpkiResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListRpkiResponse.Merge(m, src) -} -func (m *ListRpkiResponse) XXX_Size() int { - return xxx_messageInfo_ListRpkiResponse.Size(m) -} -func (m *ListRpkiResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListRpkiResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListRpkiResponse proto.InternalMessageInfo - -func (m *ListRpkiResponse) GetServer() *Rpki { - if m != nil { - return m.Server +func (x *ListRpkiResponse) GetServer() *Rpki { + if x != nil { + return x.Server } return nil } type EnableRpkiRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` } -func (m *EnableRpkiRequest) Reset() { *m = EnableRpkiRequest{} } -func (m *EnableRpkiRequest) String() string { return proto.CompactTextString(m) } -func (*EnableRpkiRequest) ProtoMessage() {} +func (x *EnableRpkiRequest) Reset() { + *x = EnableRpkiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableRpkiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableRpkiRequest) ProtoMessage() {} + +func (x *EnableRpkiRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[62] + 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 EnableRpkiRequest.ProtoReflect.Descriptor instead. func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{62} + return file_gobgp_proto_rawDescGZIP(), []int{62} } -func (m *EnableRpkiRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EnableRpkiRequest.Unmarshal(m, b) -} -func (m *EnableRpkiRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EnableRpkiRequest.Marshal(b, m, deterministic) -} -func (m *EnableRpkiRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnableRpkiRequest.Merge(m, src) -} -func (m *EnableRpkiRequest) XXX_Size() int { - return xxx_messageInfo_EnableRpkiRequest.Size(m) -} -func (m *EnableRpkiRequest) XXX_DiscardUnknown() { - xxx_messageInfo_EnableRpkiRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_EnableRpkiRequest proto.InternalMessageInfo - -func (m *EnableRpkiRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *EnableRpkiRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *EnableRpkiRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *EnableRpkiRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } type DisableRpkiRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` } -func (m *DisableRpkiRequest) Reset() { *m = DisableRpkiRequest{} } -func (m *DisableRpkiRequest) String() string { return proto.CompactTextString(m) } -func (*DisableRpkiRequest) ProtoMessage() {} +func (x *DisableRpkiRequest) Reset() { + *x = DisableRpkiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableRpkiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableRpkiRequest) ProtoMessage() {} + +func (x *DisableRpkiRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[63] + 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 DisableRpkiRequest.ProtoReflect.Descriptor instead. func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{63} + return file_gobgp_proto_rawDescGZIP(), []int{63} } -func (m *DisableRpkiRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DisableRpkiRequest.Unmarshal(m, b) -} -func (m *DisableRpkiRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DisableRpkiRequest.Marshal(b, m, deterministic) -} -func (m *DisableRpkiRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DisableRpkiRequest.Merge(m, src) -} -func (m *DisableRpkiRequest) XXX_Size() int { - return xxx_messageInfo_DisableRpkiRequest.Size(m) -} -func (m *DisableRpkiRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DisableRpkiRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DisableRpkiRequest proto.InternalMessageInfo - -func (m *DisableRpkiRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *DisableRpkiRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *DisableRpkiRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *DisableRpkiRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } type ResetRpkiRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - Soft bool `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Soft bool `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"` } -func (m *ResetRpkiRequest) Reset() { *m = ResetRpkiRequest{} } -func (m *ResetRpkiRequest) String() string { return proto.CompactTextString(m) } -func (*ResetRpkiRequest) ProtoMessage() {} +func (x *ResetRpkiRequest) Reset() { + *x = ResetRpkiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetRpkiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetRpkiRequest) ProtoMessage() {} + +func (x *ResetRpkiRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[64] + 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 ResetRpkiRequest.ProtoReflect.Descriptor instead. func (*ResetRpkiRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{64} + return file_gobgp_proto_rawDescGZIP(), []int{64} } -func (m *ResetRpkiRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResetRpkiRequest.Unmarshal(m, b) -} -func (m *ResetRpkiRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResetRpkiRequest.Marshal(b, m, deterministic) -} -func (m *ResetRpkiRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResetRpkiRequest.Merge(m, src) -} -func (m *ResetRpkiRequest) XXX_Size() int { - return xxx_messageInfo_ResetRpkiRequest.Size(m) -} -func (m *ResetRpkiRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ResetRpkiRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ResetRpkiRequest proto.InternalMessageInfo - -func (m *ResetRpkiRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *ResetRpkiRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *ResetRpkiRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *ResetRpkiRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } -func (m *ResetRpkiRequest) GetSoft() bool { - if m != nil { - return m.Soft +func (x *ResetRpkiRequest) GetSoft() bool { + if x != nil { + return x.Soft } return false } type ListRpkiTableRequest struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` } -func (m *ListRpkiTableRequest) Reset() { *m = ListRpkiTableRequest{} } -func (m *ListRpkiTableRequest) String() string { return proto.CompactTextString(m) } -func (*ListRpkiTableRequest) ProtoMessage() {} +func (x *ListRpkiTableRequest) Reset() { + *x = ListRpkiTableRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRpkiTableRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRpkiTableRequest) ProtoMessage() {} + +func (x *ListRpkiTableRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[65] + 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 ListRpkiTableRequest.ProtoReflect.Descriptor instead. func (*ListRpkiTableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{65} + return file_gobgp_proto_rawDescGZIP(), []int{65} } -func (m *ListRpkiTableRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListRpkiTableRequest.Unmarshal(m, b) -} -func (m *ListRpkiTableRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListRpkiTableRequest.Marshal(b, m, deterministic) -} -func (m *ListRpkiTableRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListRpkiTableRequest.Merge(m, src) -} -func (m *ListRpkiTableRequest) XXX_Size() int { - return xxx_messageInfo_ListRpkiTableRequest.Size(m) -} -func (m *ListRpkiTableRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ListRpkiTableRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_ListRpkiTableRequest proto.InternalMessageInfo - -func (m *ListRpkiTableRequest) GetFamily() *Family { - if m != nil { - return m.Family +func (x *ListRpkiTableRequest) GetFamily() *Family { + if x != nil { + return x.Family } return nil } type ListRpkiTableResponse struct { - Roa *Roa `protobuf:"bytes,1,opt,name=roa,proto3" json:"roa,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roa *Roa `protobuf:"bytes,1,opt,name=roa,proto3" json:"roa,omitempty"` } -func (m *ListRpkiTableResponse) Reset() { *m = ListRpkiTableResponse{} } -func (m *ListRpkiTableResponse) String() string { return proto.CompactTextString(m) } -func (*ListRpkiTableResponse) ProtoMessage() {} +func (x *ListRpkiTableResponse) Reset() { + *x = ListRpkiTableResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRpkiTableResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRpkiTableResponse) ProtoMessage() {} + +func (x *ListRpkiTableResponse) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[66] + 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 ListRpkiTableResponse.ProtoReflect.Descriptor instead. func (*ListRpkiTableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{66} + return file_gobgp_proto_rawDescGZIP(), []int{66} } -func (m *ListRpkiTableResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ListRpkiTableResponse.Unmarshal(m, b) -} -func (m *ListRpkiTableResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ListRpkiTableResponse.Marshal(b, m, deterministic) -} -func (m *ListRpkiTableResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListRpkiTableResponse.Merge(m, src) -} -func (m *ListRpkiTableResponse) XXX_Size() int { - return xxx_messageInfo_ListRpkiTableResponse.Size(m) -} -func (m *ListRpkiTableResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ListRpkiTableResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_ListRpkiTableResponse proto.InternalMessageInfo - -func (m *ListRpkiTableResponse) GetRoa() *Roa { - if m != nil { - return m.Roa +func (x *ListRpkiTableResponse) GetRoa() *Roa { + if x != nil { + return x.Roa } return nil } type EnableZebraRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` RouteTypes []string `protobuf:"bytes,2,rep,name=route_types,json=routeTypes,proto3" json:"route_types,omitempty"` Version uint32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` @@ -3798,424 +4836,479 @@ type EnableZebraRequest struct { NexthopTriggerDelay uint32 `protobuf:"varint,5,opt,name=nexthop_trigger_delay,json=nexthopTriggerDelay,proto3" json:"nexthop_trigger_delay,omitempty"` MplsLabelRangeSize uint32 `protobuf:"varint,6,opt,name=mpls_label_range_size,json=mplsLabelRangeSize,proto3" json:"mpls_label_range_size,omitempty"` SoftwareName string `protobuf:"bytes,7,opt,name=software_name,json=softwareName,proto3" json:"software_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *EnableZebraRequest) Reset() { *m = EnableZebraRequest{} } -func (m *EnableZebraRequest) String() string { return proto.CompactTextString(m) } -func (*EnableZebraRequest) ProtoMessage() {} +func (x *EnableZebraRequest) Reset() { + *x = EnableZebraRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableZebraRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableZebraRequest) ProtoMessage() {} + +func (x *EnableZebraRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[67] + 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 EnableZebraRequest.ProtoReflect.Descriptor instead. func (*EnableZebraRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{67} + return file_gobgp_proto_rawDescGZIP(), []int{67} } -func (m *EnableZebraRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EnableZebraRequest.Unmarshal(m, b) -} -func (m *EnableZebraRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EnableZebraRequest.Marshal(b, m, deterministic) -} -func (m *EnableZebraRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnableZebraRequest.Merge(m, src) -} -func (m *EnableZebraRequest) XXX_Size() int { - return xxx_messageInfo_EnableZebraRequest.Size(m) -} -func (m *EnableZebraRequest) XXX_DiscardUnknown() { - xxx_messageInfo_EnableZebraRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_EnableZebraRequest proto.InternalMessageInfo - -func (m *EnableZebraRequest) GetUrl() string { - if m != nil { - return m.Url +func (x *EnableZebraRequest) GetUrl() string { + if x != nil { + return x.Url } return "" } -func (m *EnableZebraRequest) GetRouteTypes() []string { - if m != nil { - return m.RouteTypes +func (x *EnableZebraRequest) GetRouteTypes() []string { + if x != nil { + return x.RouteTypes } return nil } -func (m *EnableZebraRequest) GetVersion() uint32 { - if m != nil { - return m.Version +func (x *EnableZebraRequest) GetVersion() uint32 { + if x != nil { + return x.Version } return 0 } -func (m *EnableZebraRequest) GetNexthopTriggerEnable() bool { - if m != nil { - return m.NexthopTriggerEnable +func (x *EnableZebraRequest) GetNexthopTriggerEnable() bool { + if x != nil { + return x.NexthopTriggerEnable } return false } -func (m *EnableZebraRequest) GetNexthopTriggerDelay() uint32 { - if m != nil { - return m.NexthopTriggerDelay +func (x *EnableZebraRequest) GetNexthopTriggerDelay() uint32 { + if x != nil { + return x.NexthopTriggerDelay } return 0 } -func (m *EnableZebraRequest) GetMplsLabelRangeSize() uint32 { - if m != nil { - return m.MplsLabelRangeSize +func (x *EnableZebraRequest) GetMplsLabelRangeSize() uint32 { + if x != nil { + return x.MplsLabelRangeSize } return 0 } -func (m *EnableZebraRequest) GetSoftwareName() string { - if m != nil { - return m.SoftwareName +func (x *EnableZebraRequest) GetSoftwareName() string { + if x != nil { + return x.SoftwareName } return "" } type EnableMrtRequest struct { - DumpType int32 `protobuf:"varint,1,opt,name=dump_type,json=dumpType,proto3" json:"dump_type,omitempty"` - Filename string `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"` - DumpInterval uint64 `protobuf:"varint,3,opt,name=dump_interval,json=dumpInterval,proto3" json:"dump_interval,omitempty"` - RotationInterval uint64 `protobuf:"varint,4,opt,name=rotation_interval,json=rotationInterval,proto3" json:"rotation_interval,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DumpType int32 `protobuf:"varint,1,opt,name=dump_type,json=dumpType,proto3" json:"dump_type,omitempty"` + Filename string `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"` + DumpInterval uint64 `protobuf:"varint,3,opt,name=dump_interval,json=dumpInterval,proto3" json:"dump_interval,omitempty"` + RotationInterval uint64 `protobuf:"varint,4,opt,name=rotation_interval,json=rotationInterval,proto3" json:"rotation_interval,omitempty"` } -func (m *EnableMrtRequest) Reset() { *m = EnableMrtRequest{} } -func (m *EnableMrtRequest) String() string { return proto.CompactTextString(m) } -func (*EnableMrtRequest) ProtoMessage() {} +func (x *EnableMrtRequest) Reset() { + *x = EnableMrtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnableMrtRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableMrtRequest) ProtoMessage() {} + +func (x *EnableMrtRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[68] + 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 EnableMrtRequest.ProtoReflect.Descriptor instead. func (*EnableMrtRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{68} + return file_gobgp_proto_rawDescGZIP(), []int{68} } -func (m *EnableMrtRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EnableMrtRequest.Unmarshal(m, b) -} -func (m *EnableMrtRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EnableMrtRequest.Marshal(b, m, deterministic) -} -func (m *EnableMrtRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnableMrtRequest.Merge(m, src) -} -func (m *EnableMrtRequest) XXX_Size() int { - return xxx_messageInfo_EnableMrtRequest.Size(m) -} -func (m *EnableMrtRequest) XXX_DiscardUnknown() { - xxx_messageInfo_EnableMrtRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_EnableMrtRequest proto.InternalMessageInfo - -func (m *EnableMrtRequest) GetDumpType() int32 { - if m != nil { - return m.DumpType +func (x *EnableMrtRequest) GetDumpType() int32 { + if x != nil { + return x.DumpType } return 0 } -func (m *EnableMrtRequest) GetFilename() string { - if m != nil { - return m.Filename +func (x *EnableMrtRequest) GetFilename() string { + if x != nil { + return x.Filename } return "" } -func (m *EnableMrtRequest) GetDumpInterval() uint64 { - if m != nil { - return m.DumpInterval +func (x *EnableMrtRequest) GetDumpInterval() uint64 { + if x != nil { + return x.DumpInterval } return 0 } -func (m *EnableMrtRequest) GetRotationInterval() uint64 { - if m != nil { - return m.RotationInterval +func (x *EnableMrtRequest) GetRotationInterval() uint64 { + if x != nil { + return x.RotationInterval } return 0 } type DisableMrtRequest struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *DisableMrtRequest) Reset() { *m = DisableMrtRequest{} } -func (m *DisableMrtRequest) String() string { return proto.CompactTextString(m) } -func (*DisableMrtRequest) ProtoMessage() {} +func (x *DisableMrtRequest) Reset() { + *x = DisableMrtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisableMrtRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableMrtRequest) ProtoMessage() {} + +func (x *DisableMrtRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[69] + 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 DisableMrtRequest.ProtoReflect.Descriptor instead. func (*DisableMrtRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{69} + return file_gobgp_proto_rawDescGZIP(), []int{69} } -func (m *DisableMrtRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DisableMrtRequest.Unmarshal(m, b) -} -func (m *DisableMrtRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DisableMrtRequest.Marshal(b, m, deterministic) -} -func (m *DisableMrtRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DisableMrtRequest.Merge(m, src) -} -func (m *DisableMrtRequest) XXX_Size() int { - return xxx_messageInfo_DisableMrtRequest.Size(m) -} -func (m *DisableMrtRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DisableMrtRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DisableMrtRequest proto.InternalMessageInfo - type AddBmpRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - Policy AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=policy,proto3,enum=gobgpapi.AddBmpRequest_MonitoringPolicy" json:"policy,omitempty"` - StatisticsTimeout int32 `protobuf:"varint,4,opt,name=StatisticsTimeout,proto3" json:"StatisticsTimeout,omitempty"` - SysName string `protobuf:"bytes,5,opt,name=SysName,proto3" json:"SysName,omitempty"` - SysDescr string `protobuf:"bytes,6,opt,name=SysDescr,proto3" json:"SysDescr,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Policy AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=policy,proto3,enum=apipb.AddBmpRequest_MonitoringPolicy" json:"policy,omitempty"` + StatisticsTimeout int32 `protobuf:"varint,4,opt,name=StatisticsTimeout,proto3" json:"StatisticsTimeout,omitempty"` + SysName string `protobuf:"bytes,5,opt,name=SysName,proto3" json:"SysName,omitempty"` + SysDescr string `protobuf:"bytes,6,opt,name=SysDescr,proto3" json:"SysDescr,omitempty"` } -func (m *AddBmpRequest) Reset() { *m = AddBmpRequest{} } -func (m *AddBmpRequest) String() string { return proto.CompactTextString(m) } -func (*AddBmpRequest) ProtoMessage() {} +func (x *AddBmpRequest) Reset() { + *x = AddBmpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddBmpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddBmpRequest) ProtoMessage() {} + +func (x *AddBmpRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[70] + 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 AddBmpRequest.ProtoReflect.Descriptor instead. func (*AddBmpRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{70} + return file_gobgp_proto_rawDescGZIP(), []int{70} } -func (m *AddBmpRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddBmpRequest.Unmarshal(m, b) -} -func (m *AddBmpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddBmpRequest.Marshal(b, m, deterministic) -} -func (m *AddBmpRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddBmpRequest.Merge(m, src) -} -func (m *AddBmpRequest) XXX_Size() int { - return xxx_messageInfo_AddBmpRequest.Size(m) -} -func (m *AddBmpRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddBmpRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_AddBmpRequest proto.InternalMessageInfo - -func (m *AddBmpRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *AddBmpRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *AddBmpRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *AddBmpRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } -func (m *AddBmpRequest) GetPolicy() AddBmpRequest_MonitoringPolicy { - if m != nil { - return m.Policy +func (x *AddBmpRequest) GetPolicy() AddBmpRequest_MonitoringPolicy { + if x != nil { + return x.Policy } return AddBmpRequest_PRE } -func (m *AddBmpRequest) GetStatisticsTimeout() int32 { - if m != nil { - return m.StatisticsTimeout +func (x *AddBmpRequest) GetStatisticsTimeout() int32 { + if x != nil { + return x.StatisticsTimeout } return 0 } -func (m *AddBmpRequest) GetSysName() string { - if m != nil { - return m.SysName +func (x *AddBmpRequest) GetSysName() string { + if x != nil { + return x.SysName } return "" } -func (m *AddBmpRequest) GetSysDescr() string { - if m != nil { - return m.SysDescr +func (x *AddBmpRequest) GetSysDescr() string { + if x != nil { + return x.SysDescr } return "" } type DeleteBmpRequest struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` } -func (m *DeleteBmpRequest) Reset() { *m = DeleteBmpRequest{} } -func (m *DeleteBmpRequest) String() string { return proto.CompactTextString(m) } -func (*DeleteBmpRequest) ProtoMessage() {} +func (x *DeleteBmpRequest) Reset() { + *x = DeleteBmpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBmpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBmpRequest) ProtoMessage() {} + +func (x *DeleteBmpRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[71] + 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 DeleteBmpRequest.ProtoReflect.Descriptor instead. func (*DeleteBmpRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{71} + return file_gobgp_proto_rawDescGZIP(), []int{71} } -func (m *DeleteBmpRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteBmpRequest.Unmarshal(m, b) -} -func (m *DeleteBmpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteBmpRequest.Marshal(b, m, deterministic) -} -func (m *DeleteBmpRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteBmpRequest.Merge(m, src) -} -func (m *DeleteBmpRequest) XXX_Size() int { - return xxx_messageInfo_DeleteBmpRequest.Size(m) -} -func (m *DeleteBmpRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteBmpRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteBmpRequest proto.InternalMessageInfo - -func (m *DeleteBmpRequest) GetAddress() string { - if m != nil { - return m.Address +func (x *DeleteBmpRequest) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *DeleteBmpRequest) GetPort() uint32 { - if m != nil { - return m.Port +func (x *DeleteBmpRequest) GetPort() uint32 { + if x != nil { + return x.Port } return 0 } type Family struct { - Afi Family_Afi `protobuf:"varint,1,opt,name=afi,proto3,enum=gobgpapi.Family_Afi" json:"afi,omitempty"` - Safi Family_Safi `protobuf:"varint,2,opt,name=safi,proto3,enum=gobgpapi.Family_Safi" json:"safi,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Afi Family_Afi `protobuf:"varint,1,opt,name=afi,proto3,enum=apipb.Family_Afi" json:"afi,omitempty"` + Safi Family_Safi `protobuf:"varint,2,opt,name=safi,proto3,enum=apipb.Family_Safi" json:"safi,omitempty"` } -func (m *Family) Reset() { *m = Family{} } -func (m *Family) String() string { return proto.CompactTextString(m) } -func (*Family) ProtoMessage() {} +func (x *Family) Reset() { + *x = Family{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Family) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Family) ProtoMessage() {} + +func (x *Family) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[72] + 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 Family.ProtoReflect.Descriptor instead. func (*Family) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{72} + return file_gobgp_proto_rawDescGZIP(), []int{72} } -func (m *Family) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Family.Unmarshal(m, b) -} -func (m *Family) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Family.Marshal(b, m, deterministic) -} -func (m *Family) XXX_Merge(src proto.Message) { - xxx_messageInfo_Family.Merge(m, src) -} -func (m *Family) XXX_Size() int { - return xxx_messageInfo_Family.Size(m) -} -func (m *Family) XXX_DiscardUnknown() { - xxx_messageInfo_Family.DiscardUnknown(m) -} - -var xxx_messageInfo_Family proto.InternalMessageInfo - -func (m *Family) GetAfi() Family_Afi { - if m != nil { - return m.Afi +func (x *Family) GetAfi() Family_Afi { + if x != nil { + return x.Afi } return Family_AFI_UNKNOWN } -func (m *Family) GetSafi() Family_Safi { - if m != nil { - return m.Safi +func (x *Family) GetSafi() Family_Safi { + if x != nil { + return x.Safi } return Family_SAFI_UNKNOWN } type Validation struct { - State Validation_State `protobuf:"varint,1,opt,name=state,proto3,enum=gobgpapi.Validation_State" json:"state,omitempty"` - Reason Validation_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=gobgpapi.Validation_Reason" json:"reason,omitempty"` - Matched []*Roa `protobuf:"bytes,3,rep,name=matched,proto3" json:"matched,omitempty"` - UnmatchedAs []*Roa `protobuf:"bytes,4,rep,name=unmatched_as,json=unmatchedAs,proto3" json:"unmatched_as,omitempty"` - UnmatchedLength []*Roa `protobuf:"bytes,5,rep,name=unmatched_length,json=unmatchedLength,proto3" json:"unmatched_length,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State Validation_State `protobuf:"varint,1,opt,name=state,proto3,enum=apipb.Validation_State" json:"state,omitempty"` + Reason Validation_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=apipb.Validation_Reason" json:"reason,omitempty"` + Matched []*Roa `protobuf:"bytes,3,rep,name=matched,proto3" json:"matched,omitempty"` + UnmatchedAs []*Roa `protobuf:"bytes,4,rep,name=unmatched_as,json=unmatchedAs,proto3" json:"unmatched_as,omitempty"` + UnmatchedLength []*Roa `protobuf:"bytes,5,rep,name=unmatched_length,json=unmatchedLength,proto3" json:"unmatched_length,omitempty"` } -func (m *Validation) Reset() { *m = Validation{} } -func (m *Validation) String() string { return proto.CompactTextString(m) } -func (*Validation) ProtoMessage() {} +func (x *Validation) Reset() { + *x = Validation{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Validation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Validation) ProtoMessage() {} + +func (x *Validation) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[73] + 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 Validation.ProtoReflect.Descriptor instead. func (*Validation) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{73} + return file_gobgp_proto_rawDescGZIP(), []int{73} } -func (m *Validation) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Validation.Unmarshal(m, b) -} -func (m *Validation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Validation.Marshal(b, m, deterministic) -} -func (m *Validation) XXX_Merge(src proto.Message) { - xxx_messageInfo_Validation.Merge(m, src) -} -func (m *Validation) XXX_Size() int { - return xxx_messageInfo_Validation.Size(m) -} -func (m *Validation) XXX_DiscardUnknown() { - xxx_messageInfo_Validation.DiscardUnknown(m) -} - -var xxx_messageInfo_Validation proto.InternalMessageInfo - -func (m *Validation) GetState() Validation_State { - if m != nil { - return m.State +func (x *Validation) GetState() Validation_State { + if x != nil { + return x.State } return Validation_STATE_NONE } -func (m *Validation) GetReason() Validation_Reason { - if m != nil { - return m.Reason +func (x *Validation) GetReason() Validation_Reason { + if x != nil { + return x.Reason } return Validation_REASOT_NONE } -func (m *Validation) GetMatched() []*Roa { - if m != nil { - return m.Matched +func (x *Validation) GetMatched() []*Roa { + if x != nil { + return x.Matched } return nil } -func (m *Validation) GetUnmatchedAs() []*Roa { - if m != nil { - return m.UnmatchedAs +func (x *Validation) GetUnmatchedAs() []*Roa { + if x != nil { + return x.UnmatchedAs } return nil } -func (m *Validation) GetUnmatchedLength() []*Roa { - if m != nil { - return m.UnmatchedLength +func (x *Validation) GetUnmatchedLength() []*Roa { + if x != nil { + return x.UnmatchedLength } return nil } type Path struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of the following defined in "api/attribute.proto": // - IPAddressPrefix // - LabeledIPAddressPrefix @@ -4233,1203 +5326,1315 @@ type Path struct { // - OpaqueNLRI // - LsAddrPrefix // - SRPolicyNLRI - Nlri *any.Any `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"` + Nlri *anypb.Any `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"` // Each attribute must be one of *Attribute defined in // "api/attribute.proto". - Pattrs []*any.Any `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"` - Age *timestamp.Timestamp `protobuf:"bytes,3,opt,name=age,proto3" json:"age,omitempty"` - Best bool `protobuf:"varint,4,opt,name=best,proto3" json:"best,omitempty"` - IsWithdraw bool `protobuf:"varint,5,opt,name=is_withdraw,json=isWithdraw,proto3" json:"is_withdraw,omitempty"` - Validation *Validation `protobuf:"bytes,7,opt,name=validation,proto3" json:"validation,omitempty"` - NoImplicitWithdraw bool `protobuf:"varint,8,opt,name=no_implicit_withdraw,json=noImplicitWithdraw,proto3" json:"no_implicit_withdraw,omitempty"` - Family *Family `protobuf:"bytes,9,opt,name=family,proto3" json:"family,omitempty"` - SourceAsn uint32 `protobuf:"varint,10,opt,name=source_asn,json=sourceAsn,proto3" json:"source_asn,omitempty"` - SourceId string `protobuf:"bytes,11,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` - Filtered bool `protobuf:"varint,12,opt,name=filtered,proto3" json:"filtered,omitempty"` - Stale bool `protobuf:"varint,13,opt,name=stale,proto3" json:"stale,omitempty"` - IsFromExternal bool `protobuf:"varint,14,opt,name=is_from_external,json=isFromExternal,proto3" json:"is_from_external,omitempty"` - NeighborIp string `protobuf:"bytes,15,opt,name=neighbor_ip,json=neighborIp,proto3" json:"neighbor_ip,omitempty"` - Uuid []byte `protobuf:"bytes,16,opt,name=uuid,proto3" json:"uuid,omitempty"` - IsNexthopInvalid bool `protobuf:"varint,17,opt,name=is_nexthop_invalid,json=isNexthopInvalid,proto3" json:"is_nexthop_invalid,omitempty"` - Identifier uint32 `protobuf:"varint,18,opt,name=identifier,proto3" json:"identifier,omitempty"` - LocalIdentifier uint32 `protobuf:"varint,19,opt,name=local_identifier,json=localIdentifier,proto3" json:"local_identifier,omitempty"` - NlriBinary []byte `protobuf:"bytes,20,opt,name=nlri_binary,json=nlriBinary,proto3" json:"nlri_binary,omitempty"` - PattrsBinary [][]byte `protobuf:"bytes,21,rep,name=pattrs_binary,json=pattrsBinary,proto3" json:"pattrs_binary,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Pattrs []*anypb.Any `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"` + Age *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=age,proto3" json:"age,omitempty"` + Best bool `protobuf:"varint,4,opt,name=best,proto3" json:"best,omitempty"` + IsWithdraw bool `protobuf:"varint,5,opt,name=is_withdraw,json=isWithdraw,proto3" json:"is_withdraw,omitempty"` + Validation *Validation `protobuf:"bytes,7,opt,name=validation,proto3" json:"validation,omitempty"` + NoImplicitWithdraw bool `protobuf:"varint,8,opt,name=no_implicit_withdraw,json=noImplicitWithdraw,proto3" json:"no_implicit_withdraw,omitempty"` + Family *Family `protobuf:"bytes,9,opt,name=family,proto3" json:"family,omitempty"` + SourceAsn uint32 `protobuf:"varint,10,opt,name=source_asn,json=sourceAsn,proto3" json:"source_asn,omitempty"` + SourceId string `protobuf:"bytes,11,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` + Filtered bool `protobuf:"varint,12,opt,name=filtered,proto3" json:"filtered,omitempty"` + Stale bool `protobuf:"varint,13,opt,name=stale,proto3" json:"stale,omitempty"` + IsFromExternal bool `protobuf:"varint,14,opt,name=is_from_external,json=isFromExternal,proto3" json:"is_from_external,omitempty"` + NeighborIp string `protobuf:"bytes,15,opt,name=neighbor_ip,json=neighborIp,proto3" json:"neighbor_ip,omitempty"` + Uuid []byte `protobuf:"bytes,16,opt,name=uuid,proto3" json:"uuid,omitempty"` // only paths installed by AddPath API have this + IsNexthopInvalid bool `protobuf:"varint,17,opt,name=is_nexthop_invalid,json=isNexthopInvalid,proto3" json:"is_nexthop_invalid,omitempty"` + Identifier uint32 `protobuf:"varint,18,opt,name=identifier,proto3" json:"identifier,omitempty"` + LocalIdentifier uint32 `protobuf:"varint,19,opt,name=local_identifier,json=localIdentifier,proto3" json:"local_identifier,omitempty"` + NlriBinary []byte `protobuf:"bytes,20,opt,name=nlri_binary,json=nlriBinary,proto3" json:"nlri_binary,omitempty"` + PattrsBinary [][]byte `protobuf:"bytes,21,rep,name=pattrs_binary,json=pattrsBinary,proto3" json:"pattrs_binary,omitempty"` } -func (m *Path) Reset() { *m = Path{} } -func (m *Path) String() string { return proto.CompactTextString(m) } -func (*Path) ProtoMessage() {} +func (x *Path) Reset() { + *x = Path{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Path) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Path) ProtoMessage() {} + +func (x *Path) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[74] + 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 Path.ProtoReflect.Descriptor instead. func (*Path) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{74} + return file_gobgp_proto_rawDescGZIP(), []int{74} } -func (m *Path) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Path.Unmarshal(m, b) -} -func (m *Path) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Path.Marshal(b, m, deterministic) -} -func (m *Path) XXX_Merge(src proto.Message) { - xxx_messageInfo_Path.Merge(m, src) -} -func (m *Path) XXX_Size() int { - return xxx_messageInfo_Path.Size(m) -} -func (m *Path) XXX_DiscardUnknown() { - xxx_messageInfo_Path.DiscardUnknown(m) -} - -var xxx_messageInfo_Path proto.InternalMessageInfo - -func (m *Path) GetNlri() *any.Any { - if m != nil { - return m.Nlri +func (x *Path) GetNlri() *anypb.Any { + if x != nil { + return x.Nlri } return nil } -func (m *Path) GetPattrs() []*any.Any { - if m != nil { - return m.Pattrs +func (x *Path) GetPattrs() []*anypb.Any { + if x != nil { + return x.Pattrs } return nil } -func (m *Path) GetAge() *timestamp.Timestamp { - if m != nil { - return m.Age +func (x *Path) GetAge() *timestamppb.Timestamp { + if x != nil { + return x.Age } return nil } -func (m *Path) GetBest() bool { - if m != nil { - return m.Best +func (x *Path) GetBest() bool { + if x != nil { + return x.Best } return false } -func (m *Path) GetIsWithdraw() bool { - if m != nil { - return m.IsWithdraw +func (x *Path) GetIsWithdraw() bool { + if x != nil { + return x.IsWithdraw } return false } -func (m *Path) GetValidation() *Validation { - if m != nil { - return m.Validation +func (x *Path) GetValidation() *Validation { + if x != nil { + return x.Validation } return nil } -func (m *Path) GetNoImplicitWithdraw() bool { - if m != nil { - return m.NoImplicitWithdraw +func (x *Path) GetNoImplicitWithdraw() bool { + if x != nil { + return x.NoImplicitWithdraw } return false } -func (m *Path) GetFamily() *Family { - if m != nil { - return m.Family +func (x *Path) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *Path) GetSourceAsn() uint32 { - if m != nil { - return m.SourceAsn +func (x *Path) GetSourceAsn() uint32 { + if x != nil { + return x.SourceAsn } return 0 } -func (m *Path) GetSourceId() string { - if m != nil { - return m.SourceId +func (x *Path) GetSourceId() string { + if x != nil { + return x.SourceId } return "" } -func (m *Path) GetFiltered() bool { - if m != nil { - return m.Filtered +func (x *Path) GetFiltered() bool { + if x != nil { + return x.Filtered } return false } -func (m *Path) GetStale() bool { - if m != nil { - return m.Stale +func (x *Path) GetStale() bool { + if x != nil { + return x.Stale } return false } -func (m *Path) GetIsFromExternal() bool { - if m != nil { - return m.IsFromExternal +func (x *Path) GetIsFromExternal() bool { + if x != nil { + return x.IsFromExternal } return false } -func (m *Path) GetNeighborIp() string { - if m != nil { - return m.NeighborIp +func (x *Path) GetNeighborIp() string { + if x != nil { + return x.NeighborIp } return "" } -func (m *Path) GetUuid() []byte { - if m != nil { - return m.Uuid +func (x *Path) GetUuid() []byte { + if x != nil { + return x.Uuid } return nil } -func (m *Path) GetIsNexthopInvalid() bool { - if m != nil { - return m.IsNexthopInvalid +func (x *Path) GetIsNexthopInvalid() bool { + if x != nil { + return x.IsNexthopInvalid } return false } -func (m *Path) GetIdentifier() uint32 { - if m != nil { - return m.Identifier +func (x *Path) GetIdentifier() uint32 { + if x != nil { + return x.Identifier } return 0 } -func (m *Path) GetLocalIdentifier() uint32 { - if m != nil { - return m.LocalIdentifier +func (x *Path) GetLocalIdentifier() uint32 { + if x != nil { + return x.LocalIdentifier } return 0 } -func (m *Path) GetNlriBinary() []byte { - if m != nil { - return m.NlriBinary +func (x *Path) GetNlriBinary() []byte { + if x != nil { + return x.NlriBinary } return nil } -func (m *Path) GetPattrsBinary() [][]byte { - if m != nil { - return m.PattrsBinary +func (x *Path) GetPattrsBinary() [][]byte { + if x != nil { + return x.PattrsBinary } return nil } type Destination struct { - Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` - Paths []*Path `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` + Paths []*Path `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` } -func (m *Destination) Reset() { *m = Destination{} } -func (m *Destination) String() string { return proto.CompactTextString(m) } -func (*Destination) ProtoMessage() {} +func (x *Destination) Reset() { + *x = Destination{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Destination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Destination) ProtoMessage() {} + +func (x *Destination) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[75] + 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 Destination.ProtoReflect.Descriptor instead. func (*Destination) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{75} + return file_gobgp_proto_rawDescGZIP(), []int{75} } -func (m *Destination) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Destination.Unmarshal(m, b) -} -func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Destination.Marshal(b, m, deterministic) -} -func (m *Destination) XXX_Merge(src proto.Message) { - xxx_messageInfo_Destination.Merge(m, src) -} -func (m *Destination) XXX_Size() int { - return xxx_messageInfo_Destination.Size(m) -} -func (m *Destination) XXX_DiscardUnknown() { - xxx_messageInfo_Destination.DiscardUnknown(m) -} - -var xxx_messageInfo_Destination proto.InternalMessageInfo - -func (m *Destination) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *Destination) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } -func (m *Destination) GetPaths() []*Path { - if m != nil { - return m.Paths +func (x *Destination) GetPaths() []*Path { + if x != nil { + return x.Paths } return nil } // API representation of table.LookupPrefix type TableLookupPrefix struct { - Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` - LookupOption TableLookupOption `protobuf:"varint,2,opt,name=lookup_option,json=lookupOption,proto3,enum=gobgpapi.TableLookupOption" json:"lookup_option,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` + LookupOption TableLookupOption `protobuf:"varint,2,opt,name=lookup_option,json=lookupOption,proto3,enum=apipb.TableLookupOption" json:"lookup_option,omitempty"` } -func (m *TableLookupPrefix) Reset() { *m = TableLookupPrefix{} } -func (m *TableLookupPrefix) String() string { return proto.CompactTextString(m) } -func (*TableLookupPrefix) ProtoMessage() {} +func (x *TableLookupPrefix) Reset() { + *x = TableLookupPrefix{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TableLookupPrefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TableLookupPrefix) ProtoMessage() {} + +func (x *TableLookupPrefix) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[76] + 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 TableLookupPrefix.ProtoReflect.Descriptor instead. func (*TableLookupPrefix) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{76} + return file_gobgp_proto_rawDescGZIP(), []int{76} } -func (m *TableLookupPrefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TableLookupPrefix.Unmarshal(m, b) -} -func (m *TableLookupPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TableLookupPrefix.Marshal(b, m, deterministic) -} -func (m *TableLookupPrefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_TableLookupPrefix.Merge(m, src) -} -func (m *TableLookupPrefix) XXX_Size() int { - return xxx_messageInfo_TableLookupPrefix.Size(m) -} -func (m *TableLookupPrefix) XXX_DiscardUnknown() { - xxx_messageInfo_TableLookupPrefix.DiscardUnknown(m) -} - -var xxx_messageInfo_TableLookupPrefix proto.InternalMessageInfo - -func (m *TableLookupPrefix) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *TableLookupPrefix) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } -func (m *TableLookupPrefix) GetLookupOption() TableLookupOption { - if m != nil { - return m.LookupOption +func (x *TableLookupPrefix) GetLookupOption() TableLookupOption { + if x != nil { + return x.LookupOption } return TableLookupOption_LOOKUP_EXACT } type Peer struct { - ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` - Conf *PeerConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` - EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"` - RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"` - State *PeerState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` - Timers *Timers `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"` - Transport *Transport `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"` - RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"` - GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` - AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"` - TtlSecurity *TtlSecurity `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` + Conf *PeerConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` + EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"` + RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"` + State *PeerState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` + Timers *Timers `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"` + Transport *Transport `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"` + RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"` + GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` + AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"` + TtlSecurity *TtlSecurity `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"` } -func (m *Peer) Reset() { *m = Peer{} } -func (m *Peer) String() string { return proto.CompactTextString(m) } -func (*Peer) ProtoMessage() {} +func (x *Peer) Reset() { + *x = Peer{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Peer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Peer) ProtoMessage() {} + +func (x *Peer) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[77] + 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 Peer.ProtoReflect.Descriptor instead. func (*Peer) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{77} + return file_gobgp_proto_rawDescGZIP(), []int{77} } -func (m *Peer) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Peer.Unmarshal(m, b) -} -func (m *Peer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Peer.Marshal(b, m, deterministic) -} -func (m *Peer) XXX_Merge(src proto.Message) { - xxx_messageInfo_Peer.Merge(m, src) -} -func (m *Peer) XXX_Size() int { - return xxx_messageInfo_Peer.Size(m) -} -func (m *Peer) XXX_DiscardUnknown() { - xxx_messageInfo_Peer.DiscardUnknown(m) -} - -var xxx_messageInfo_Peer proto.InternalMessageInfo - -func (m *Peer) GetApplyPolicy() *ApplyPolicy { - if m != nil { - return m.ApplyPolicy +func (x *Peer) GetApplyPolicy() *ApplyPolicy { + if x != nil { + return x.ApplyPolicy } return nil } -func (m *Peer) GetConf() *PeerConf { - if m != nil { - return m.Conf +func (x *Peer) GetConf() *PeerConf { + if x != nil { + return x.Conf } return nil } -func (m *Peer) GetEbgpMultihop() *EbgpMultihop { - if m != nil { - return m.EbgpMultihop +func (x *Peer) GetEbgpMultihop() *EbgpMultihop { + if x != nil { + return x.EbgpMultihop } return nil } -func (m *Peer) GetRouteReflector() *RouteReflector { - if m != nil { - return m.RouteReflector +func (x *Peer) GetRouteReflector() *RouteReflector { + if x != nil { + return x.RouteReflector } return nil } -func (m *Peer) GetState() *PeerState { - if m != nil { - return m.State +func (x *Peer) GetState() *PeerState { + if x != nil { + return x.State } return nil } -func (m *Peer) GetTimers() *Timers { - if m != nil { - return m.Timers +func (x *Peer) GetTimers() *Timers { + if x != nil { + return x.Timers } return nil } -func (m *Peer) GetTransport() *Transport { - if m != nil { - return m.Transport +func (x *Peer) GetTransport() *Transport { + if x != nil { + return x.Transport } return nil } -func (m *Peer) GetRouteServer() *RouteServer { - if m != nil { - return m.RouteServer +func (x *Peer) GetRouteServer() *RouteServer { + if x != nil { + return x.RouteServer } return nil } -func (m *Peer) GetGracefulRestart() *GracefulRestart { - if m != nil { - return m.GracefulRestart +func (x *Peer) GetGracefulRestart() *GracefulRestart { + if x != nil { + return x.GracefulRestart } return nil } -func (m *Peer) GetAfiSafis() []*AfiSafi { - if m != nil { - return m.AfiSafis +func (x *Peer) GetAfiSafis() []*AfiSafi { + if x != nil { + return x.AfiSafis } return nil } -func (m *Peer) GetTtlSecurity() *TtlSecurity { - if m != nil { - return m.TtlSecurity +func (x *Peer) GetTtlSecurity() *TtlSecurity { + if x != nil { + return x.TtlSecurity } return nil } type PeerGroup struct { - ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` - Conf *PeerGroupConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` - EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"` - RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"` - Info *PeerGroupState `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"` - Timers *Timers `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"` - Transport *Transport `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"` - RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"` - GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` - AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"` - TtlSecurity *TtlSecurity `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` + Conf *PeerGroupConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` + EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"` + RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"` + Info *PeerGroupState `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"` + Timers *Timers `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"` + Transport *Transport `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"` + RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"` + GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` + AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"` + TtlSecurity *TtlSecurity `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"` } -func (m *PeerGroup) Reset() { *m = PeerGroup{} } -func (m *PeerGroup) String() string { return proto.CompactTextString(m) } -func (*PeerGroup) ProtoMessage() {} +func (x *PeerGroup) Reset() { + *x = PeerGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerGroup) ProtoMessage() {} + +func (x *PeerGroup) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[78] + 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 PeerGroup.ProtoReflect.Descriptor instead. func (*PeerGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{78} + return file_gobgp_proto_rawDescGZIP(), []int{78} } -func (m *PeerGroup) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PeerGroup.Unmarshal(m, b) -} -func (m *PeerGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PeerGroup.Marshal(b, m, deterministic) -} -func (m *PeerGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_PeerGroup.Merge(m, src) -} -func (m *PeerGroup) XXX_Size() int { - return xxx_messageInfo_PeerGroup.Size(m) -} -func (m *PeerGroup) XXX_DiscardUnknown() { - xxx_messageInfo_PeerGroup.DiscardUnknown(m) -} - -var xxx_messageInfo_PeerGroup proto.InternalMessageInfo - -func (m *PeerGroup) GetApplyPolicy() *ApplyPolicy { - if m != nil { - return m.ApplyPolicy +func (x *PeerGroup) GetApplyPolicy() *ApplyPolicy { + if x != nil { + return x.ApplyPolicy } return nil } -func (m *PeerGroup) GetConf() *PeerGroupConf { - if m != nil { - return m.Conf +func (x *PeerGroup) GetConf() *PeerGroupConf { + if x != nil { + return x.Conf } return nil } -func (m *PeerGroup) GetEbgpMultihop() *EbgpMultihop { - if m != nil { - return m.EbgpMultihop +func (x *PeerGroup) GetEbgpMultihop() *EbgpMultihop { + if x != nil { + return x.EbgpMultihop } return nil } -func (m *PeerGroup) GetRouteReflector() *RouteReflector { - if m != nil { - return m.RouteReflector +func (x *PeerGroup) GetRouteReflector() *RouteReflector { + if x != nil { + return x.RouteReflector } return nil } -func (m *PeerGroup) GetInfo() *PeerGroupState { - if m != nil { - return m.Info +func (x *PeerGroup) GetInfo() *PeerGroupState { + if x != nil { + return x.Info } return nil } -func (m *PeerGroup) GetTimers() *Timers { - if m != nil { - return m.Timers +func (x *PeerGroup) GetTimers() *Timers { + if x != nil { + return x.Timers } return nil } -func (m *PeerGroup) GetTransport() *Transport { - if m != nil { - return m.Transport +func (x *PeerGroup) GetTransport() *Transport { + if x != nil { + return x.Transport } return nil } -func (m *PeerGroup) GetRouteServer() *RouteServer { - if m != nil { - return m.RouteServer +func (x *PeerGroup) GetRouteServer() *RouteServer { + if x != nil { + return x.RouteServer } return nil } -func (m *PeerGroup) GetGracefulRestart() *GracefulRestart { - if m != nil { - return m.GracefulRestart +func (x *PeerGroup) GetGracefulRestart() *GracefulRestart { + if x != nil { + return x.GracefulRestart } return nil } -func (m *PeerGroup) GetAfiSafis() []*AfiSafi { - if m != nil { - return m.AfiSafis +func (x *PeerGroup) GetAfiSafis() []*AfiSafi { + if x != nil { + return x.AfiSafis } return nil } -func (m *PeerGroup) GetTtlSecurity() *TtlSecurity { - if m != nil { - return m.TtlSecurity +func (x *PeerGroup) GetTtlSecurity() *TtlSecurity { + if x != nil { + return x.TtlSecurity } return nil } type DynamicNeighbor struct { - Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` - PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` + PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` } -func (m *DynamicNeighbor) Reset() { *m = DynamicNeighbor{} } -func (m *DynamicNeighbor) String() string { return proto.CompactTextString(m) } -func (*DynamicNeighbor) ProtoMessage() {} +func (x *DynamicNeighbor) Reset() { + *x = DynamicNeighbor{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DynamicNeighbor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DynamicNeighbor) ProtoMessage() {} + +func (x *DynamicNeighbor) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[79] + 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 DynamicNeighbor.ProtoReflect.Descriptor instead. func (*DynamicNeighbor) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{79} + return file_gobgp_proto_rawDescGZIP(), []int{79} } -func (m *DynamicNeighbor) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DynamicNeighbor.Unmarshal(m, b) -} -func (m *DynamicNeighbor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DynamicNeighbor.Marshal(b, m, deterministic) -} -func (m *DynamicNeighbor) XXX_Merge(src proto.Message) { - xxx_messageInfo_DynamicNeighbor.Merge(m, src) -} -func (m *DynamicNeighbor) XXX_Size() int { - return xxx_messageInfo_DynamicNeighbor.Size(m) -} -func (m *DynamicNeighbor) XXX_DiscardUnknown() { - xxx_messageInfo_DynamicNeighbor.DiscardUnknown(m) -} - -var xxx_messageInfo_DynamicNeighbor proto.InternalMessageInfo - -func (m *DynamicNeighbor) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *DynamicNeighbor) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } -func (m *DynamicNeighbor) GetPeerGroup() string { - if m != nil { - return m.PeerGroup +func (x *DynamicNeighbor) GetPeerGroup() string { + if x != nil { + return x.PeerGroup } return "" } type ApplyPolicy struct { - InPolicy *PolicyAssignment `protobuf:"bytes,1,opt,name=in_policy,json=inPolicy,proto3" json:"in_policy,omitempty"` - ExportPolicy *PolicyAssignment `protobuf:"bytes,2,opt,name=export_policy,json=exportPolicy,proto3" json:"export_policy,omitempty"` - ImportPolicy *PolicyAssignment `protobuf:"bytes,3,opt,name=import_policy,json=importPolicy,proto3" json:"import_policy,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InPolicy *PolicyAssignment `protobuf:"bytes,1,opt,name=in_policy,json=inPolicy,proto3" json:"in_policy,omitempty"` + ExportPolicy *PolicyAssignment `protobuf:"bytes,2,opt,name=export_policy,json=exportPolicy,proto3" json:"export_policy,omitempty"` + ImportPolicy *PolicyAssignment `protobuf:"bytes,3,opt,name=import_policy,json=importPolicy,proto3" json:"import_policy,omitempty"` } -func (m *ApplyPolicy) Reset() { *m = ApplyPolicy{} } -func (m *ApplyPolicy) String() string { return proto.CompactTextString(m) } -func (*ApplyPolicy) ProtoMessage() {} +func (x *ApplyPolicy) Reset() { + *x = ApplyPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyPolicy) ProtoMessage() {} + +func (x *ApplyPolicy) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[80] + 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 ApplyPolicy.ProtoReflect.Descriptor instead. func (*ApplyPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{80} + return file_gobgp_proto_rawDescGZIP(), []int{80} } -func (m *ApplyPolicy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ApplyPolicy.Unmarshal(m, b) -} -func (m *ApplyPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ApplyPolicy.Marshal(b, m, deterministic) -} -func (m *ApplyPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_ApplyPolicy.Merge(m, src) -} -func (m *ApplyPolicy) XXX_Size() int { - return xxx_messageInfo_ApplyPolicy.Size(m) -} -func (m *ApplyPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_ApplyPolicy.DiscardUnknown(m) -} - -var xxx_messageInfo_ApplyPolicy proto.InternalMessageInfo - -func (m *ApplyPolicy) GetInPolicy() *PolicyAssignment { - if m != nil { - return m.InPolicy +func (x *ApplyPolicy) GetInPolicy() *PolicyAssignment { + if x != nil { + return x.InPolicy } return nil } -func (m *ApplyPolicy) GetExportPolicy() *PolicyAssignment { - if m != nil { - return m.ExportPolicy +func (x *ApplyPolicy) GetExportPolicy() *PolicyAssignment { + if x != nil { + return x.ExportPolicy } return nil } -func (m *ApplyPolicy) GetImportPolicy() *PolicyAssignment { - if m != nil { - return m.ImportPolicy +func (x *ApplyPolicy) GetImportPolicy() *PolicyAssignment { + if x != nil { + return x.ImportPolicy } return nil } type PrefixLimit struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - MaxPrefixes uint32 `protobuf:"varint,2,opt,name=max_prefixes,json=maxPrefixes,proto3" json:"max_prefixes,omitempty"` - ShutdownThresholdPct uint32 `protobuf:"varint,3,opt,name=shutdown_threshold_pct,json=shutdownThresholdPct,proto3" json:"shutdown_threshold_pct,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` + MaxPrefixes uint32 `protobuf:"varint,2,opt,name=max_prefixes,json=maxPrefixes,proto3" json:"max_prefixes,omitempty"` + ShutdownThresholdPct uint32 `protobuf:"varint,3,opt,name=shutdown_threshold_pct,json=shutdownThresholdPct,proto3" json:"shutdown_threshold_pct,omitempty"` } -func (m *PrefixLimit) Reset() { *m = PrefixLimit{} } -func (m *PrefixLimit) String() string { return proto.CompactTextString(m) } -func (*PrefixLimit) ProtoMessage() {} +func (x *PrefixLimit) Reset() { + *x = PrefixLimit{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixLimit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixLimit) ProtoMessage() {} + +func (x *PrefixLimit) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[81] + 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 PrefixLimit.ProtoReflect.Descriptor instead. func (*PrefixLimit) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{81} + return file_gobgp_proto_rawDescGZIP(), []int{81} } -func (m *PrefixLimit) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PrefixLimit.Unmarshal(m, b) -} -func (m *PrefixLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PrefixLimit.Marshal(b, m, deterministic) -} -func (m *PrefixLimit) XXX_Merge(src proto.Message) { - xxx_messageInfo_PrefixLimit.Merge(m, src) -} -func (m *PrefixLimit) XXX_Size() int { - return xxx_messageInfo_PrefixLimit.Size(m) -} -func (m *PrefixLimit) XXX_DiscardUnknown() { - xxx_messageInfo_PrefixLimit.DiscardUnknown(m) -} - -var xxx_messageInfo_PrefixLimit proto.InternalMessageInfo - -func (m *PrefixLimit) GetFamily() *Family { - if m != nil { - return m.Family +func (x *PrefixLimit) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *PrefixLimit) GetMaxPrefixes() uint32 { - if m != nil { - return m.MaxPrefixes +func (x *PrefixLimit) GetMaxPrefixes() uint32 { + if x != nil { + return x.MaxPrefixes } return 0 } -func (m *PrefixLimit) GetShutdownThresholdPct() uint32 { - if m != nil { - return m.ShutdownThresholdPct +func (x *PrefixLimit) GetShutdownThresholdPct() uint32 { + if x != nil { + return x.ShutdownThresholdPct } return 0 } type PeerConf struct { - AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` - NeighborAddress string `protobuf:"bytes,4,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"` - PeerAs uint32 `protobuf:"varint,5,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` - PeerGroup string `protobuf:"bytes,6,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` - PeerType uint32 `protobuf:"varint,7,opt,name=peer_type,json=peerType,proto3" json:"peer_type,omitempty"` - RemovePrivateAs PeerConf_RemovePrivateAs `protobuf:"varint,8,opt,name=remove_private_as,json=removePrivateAs,proto3,enum=gobgpapi.PeerConf_RemovePrivateAs" json:"remove_private_as,omitempty"` - RouteFlapDamping bool `protobuf:"varint,9,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` - SendCommunity uint32 `protobuf:"varint,10,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` - NeighborInterface string `protobuf:"bytes,11,opt,name=neighbor_interface,json=neighborInterface,proto3" json:"neighbor_interface,omitempty"` - Vrf string `protobuf:"bytes,12,opt,name=vrf,proto3" json:"vrf,omitempty"` - AllowOwnAs uint32 `protobuf:"varint,13,opt,name=allow_own_as,json=allowOwnAs,proto3" json:"allow_own_as,omitempty"` - ReplacePeerAs bool `protobuf:"varint,14,opt,name=replace_peer_as,json=replacePeerAs,proto3" json:"replace_peer_as,omitempty"` - AdminDown bool `protobuf:"varint,15,opt,name=admin_down,json=adminDown,proto3" json:"admin_down,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` + NeighborAddress string `protobuf:"bytes,4,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"` + PeerAs uint32 `protobuf:"varint,5,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` + PeerGroup string `protobuf:"bytes,6,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` + PeerType uint32 `protobuf:"varint,7,opt,name=peer_type,json=peerType,proto3" json:"peer_type,omitempty"` + RemovePrivateAs PeerConf_RemovePrivateAs `protobuf:"varint,8,opt,name=remove_private_as,json=removePrivateAs,proto3,enum=apipb.PeerConf_RemovePrivateAs" json:"remove_private_as,omitempty"` + RouteFlapDamping bool `protobuf:"varint,9,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` + SendCommunity uint32 `protobuf:"varint,10,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` + NeighborInterface string `protobuf:"bytes,11,opt,name=neighbor_interface,json=neighborInterface,proto3" json:"neighbor_interface,omitempty"` + Vrf string `protobuf:"bytes,12,opt,name=vrf,proto3" json:"vrf,omitempty"` + AllowOwnAs uint32 `protobuf:"varint,13,opt,name=allow_own_as,json=allowOwnAs,proto3" json:"allow_own_as,omitempty"` + ReplacePeerAs bool `protobuf:"varint,14,opt,name=replace_peer_as,json=replacePeerAs,proto3" json:"replace_peer_as,omitempty"` + AdminDown bool `protobuf:"varint,15,opt,name=admin_down,json=adminDown,proto3" json:"admin_down,omitempty"` } -func (m *PeerConf) Reset() { *m = PeerConf{} } -func (m *PeerConf) String() string { return proto.CompactTextString(m) } -func (*PeerConf) ProtoMessage() {} +func (x *PeerConf) Reset() { + *x = PeerConf{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerConf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerConf) ProtoMessage() {} + +func (x *PeerConf) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[82] + 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 PeerConf.ProtoReflect.Descriptor instead. func (*PeerConf) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{82} + return file_gobgp_proto_rawDescGZIP(), []int{82} } -func (m *PeerConf) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PeerConf.Unmarshal(m, b) -} -func (m *PeerConf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PeerConf.Marshal(b, m, deterministic) -} -func (m *PeerConf) XXX_Merge(src proto.Message) { - xxx_messageInfo_PeerConf.Merge(m, src) -} -func (m *PeerConf) XXX_Size() int { - return xxx_messageInfo_PeerConf.Size(m) -} -func (m *PeerConf) XXX_DiscardUnknown() { - xxx_messageInfo_PeerConf.DiscardUnknown(m) -} - -var xxx_messageInfo_PeerConf proto.InternalMessageInfo - -func (m *PeerConf) GetAuthPassword() string { - if m != nil { - return m.AuthPassword +func (x *PeerConf) GetAuthPassword() string { + if x != nil { + return x.AuthPassword } return "" } -func (m *PeerConf) GetDescription() string { - if m != nil { - return m.Description +func (x *PeerConf) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *PeerConf) GetLocalAs() uint32 { - if m != nil { - return m.LocalAs +func (x *PeerConf) GetLocalAs() uint32 { + if x != nil { + return x.LocalAs } return 0 } -func (m *PeerConf) GetNeighborAddress() string { - if m != nil { - return m.NeighborAddress +func (x *PeerConf) GetNeighborAddress() string { + if x != nil { + return x.NeighborAddress } return "" } -func (m *PeerConf) GetPeerAs() uint32 { - if m != nil { - return m.PeerAs +func (x *PeerConf) GetPeerAs() uint32 { + if x != nil { + return x.PeerAs } return 0 } -func (m *PeerConf) GetPeerGroup() string { - if m != nil { - return m.PeerGroup +func (x *PeerConf) GetPeerGroup() string { + if x != nil { + return x.PeerGroup } return "" } -func (m *PeerConf) GetPeerType() uint32 { - if m != nil { - return m.PeerType +func (x *PeerConf) GetPeerType() uint32 { + if x != nil { + return x.PeerType } return 0 } -func (m *PeerConf) GetRemovePrivateAs() PeerConf_RemovePrivateAs { - if m != nil { - return m.RemovePrivateAs +func (x *PeerConf) GetRemovePrivateAs() PeerConf_RemovePrivateAs { + if x != nil { + return x.RemovePrivateAs } return PeerConf_NONE } -func (m *PeerConf) GetRouteFlapDamping() bool { - if m != nil { - return m.RouteFlapDamping +func (x *PeerConf) GetRouteFlapDamping() bool { + if x != nil { + return x.RouteFlapDamping } return false } -func (m *PeerConf) GetSendCommunity() uint32 { - if m != nil { - return m.SendCommunity +func (x *PeerConf) GetSendCommunity() uint32 { + if x != nil { + return x.SendCommunity } return 0 } -func (m *PeerConf) GetNeighborInterface() string { - if m != nil { - return m.NeighborInterface +func (x *PeerConf) GetNeighborInterface() string { + if x != nil { + return x.NeighborInterface } return "" } -func (m *PeerConf) GetVrf() string { - if m != nil { - return m.Vrf +func (x *PeerConf) GetVrf() string { + if x != nil { + return x.Vrf } return "" } -func (m *PeerConf) GetAllowOwnAs() uint32 { - if m != nil { - return m.AllowOwnAs +func (x *PeerConf) GetAllowOwnAs() uint32 { + if x != nil { + return x.AllowOwnAs } return 0 } -func (m *PeerConf) GetReplacePeerAs() bool { - if m != nil { - return m.ReplacePeerAs +func (x *PeerConf) GetReplacePeerAs() bool { + if x != nil { + return x.ReplacePeerAs } return false } -func (m *PeerConf) GetAdminDown() bool { - if m != nil { - return m.AdminDown +func (x *PeerConf) GetAdminDown() bool { + if x != nil { + return x.AdminDown } return false } type PeerGroupConf struct { - AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` - PeerAs uint32 `protobuf:"varint,4,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` - PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` - PeerType uint32 `protobuf:"varint,6,opt,name=peer_type,json=peerType,proto3" json:"peer_type,omitempty"` - RemovePrivateAs PeerGroupConf_RemovePrivateAs `protobuf:"varint,7,opt,name=remove_private_as,json=removePrivateAs,proto3,enum=gobgpapi.PeerGroupConf_RemovePrivateAs" json:"remove_private_as,omitempty"` - RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` - SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` + PeerAs uint32 `protobuf:"varint,4,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` + PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` + PeerType uint32 `protobuf:"varint,6,opt,name=peer_type,json=peerType,proto3" json:"peer_type,omitempty"` + RemovePrivateAs PeerGroupConf_RemovePrivateAs `protobuf:"varint,7,opt,name=remove_private_as,json=removePrivateAs,proto3,enum=apipb.PeerGroupConf_RemovePrivateAs" json:"remove_private_as,omitempty"` + RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` + SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` } -func (m *PeerGroupConf) Reset() { *m = PeerGroupConf{} } -func (m *PeerGroupConf) String() string { return proto.CompactTextString(m) } -func (*PeerGroupConf) ProtoMessage() {} +func (x *PeerGroupConf) Reset() { + *x = PeerGroupConf{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerGroupConf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerGroupConf) ProtoMessage() {} + +func (x *PeerGroupConf) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[83] + 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 PeerGroupConf.ProtoReflect.Descriptor instead. func (*PeerGroupConf) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{83} + return file_gobgp_proto_rawDescGZIP(), []int{83} } -func (m *PeerGroupConf) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PeerGroupConf.Unmarshal(m, b) -} -func (m *PeerGroupConf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PeerGroupConf.Marshal(b, m, deterministic) -} -func (m *PeerGroupConf) XXX_Merge(src proto.Message) { - xxx_messageInfo_PeerGroupConf.Merge(m, src) -} -func (m *PeerGroupConf) XXX_Size() int { - return xxx_messageInfo_PeerGroupConf.Size(m) -} -func (m *PeerGroupConf) XXX_DiscardUnknown() { - xxx_messageInfo_PeerGroupConf.DiscardUnknown(m) -} - -var xxx_messageInfo_PeerGroupConf proto.InternalMessageInfo - -func (m *PeerGroupConf) GetAuthPassword() string { - if m != nil { - return m.AuthPassword +func (x *PeerGroupConf) GetAuthPassword() string { + if x != nil { + return x.AuthPassword } return "" } -func (m *PeerGroupConf) GetDescription() string { - if m != nil { - return m.Description +func (x *PeerGroupConf) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *PeerGroupConf) GetLocalAs() uint32 { - if m != nil { - return m.LocalAs +func (x *PeerGroupConf) GetLocalAs() uint32 { + if x != nil { + return x.LocalAs } return 0 } -func (m *PeerGroupConf) GetPeerAs() uint32 { - if m != nil { - return m.PeerAs +func (x *PeerGroupConf) GetPeerAs() uint32 { + if x != nil { + return x.PeerAs } return 0 } -func (m *PeerGroupConf) GetPeerGroupName() string { - if m != nil { - return m.PeerGroupName +func (x *PeerGroupConf) GetPeerGroupName() string { + if x != nil { + return x.PeerGroupName } return "" } -func (m *PeerGroupConf) GetPeerType() uint32 { - if m != nil { - return m.PeerType +func (x *PeerGroupConf) GetPeerType() uint32 { + if x != nil { + return x.PeerType } return 0 } -func (m *PeerGroupConf) GetRemovePrivateAs() PeerGroupConf_RemovePrivateAs { - if m != nil { - return m.RemovePrivateAs +func (x *PeerGroupConf) GetRemovePrivateAs() PeerGroupConf_RemovePrivateAs { + if x != nil { + return x.RemovePrivateAs } return PeerGroupConf_NONE } -func (m *PeerGroupConf) GetRouteFlapDamping() bool { - if m != nil { - return m.RouteFlapDamping +func (x *PeerGroupConf) GetRouteFlapDamping() bool { + if x != nil { + return x.RouteFlapDamping } return false } -func (m *PeerGroupConf) GetSendCommunity() uint32 { - if m != nil { - return m.SendCommunity +func (x *PeerGroupConf) GetSendCommunity() uint32 { + if x != nil { + return x.SendCommunity } return 0 } type PeerGroupState struct { - AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` - PeerAs uint32 `protobuf:"varint,4,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` - PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` - PeerType uint32 `protobuf:"varint,6,opt,name=peer_type,json=peerType,proto3" json:"peer_type,omitempty"` - RemovePrivateAs PeerGroupState_RemovePrivateAs `protobuf:"varint,7,opt,name=remove_private_as,json=removePrivateAs,proto3,enum=gobgpapi.PeerGroupState_RemovePrivateAs" json:"remove_private_as,omitempty"` - RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` - SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` - TotalPaths uint32 `protobuf:"varint,10,opt,name=total_paths,json=totalPaths,proto3" json:"total_paths,omitempty"` - TotalPrefixes uint32 `protobuf:"varint,11,opt,name=total_prefixes,json=totalPrefixes,proto3" json:"total_prefixes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` + PeerAs uint32 `protobuf:"varint,4,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` + PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` + PeerType uint32 `protobuf:"varint,6,opt,name=peer_type,json=peerType,proto3" json:"peer_type,omitempty"` + RemovePrivateAs PeerGroupState_RemovePrivateAs `protobuf:"varint,7,opt,name=remove_private_as,json=removePrivateAs,proto3,enum=apipb.PeerGroupState_RemovePrivateAs" json:"remove_private_as,omitempty"` + RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` + SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` + TotalPaths uint32 `protobuf:"varint,10,opt,name=total_paths,json=totalPaths,proto3" json:"total_paths,omitempty"` + TotalPrefixes uint32 `protobuf:"varint,11,opt,name=total_prefixes,json=totalPrefixes,proto3" json:"total_prefixes,omitempty"` } -func (m *PeerGroupState) Reset() { *m = PeerGroupState{} } -func (m *PeerGroupState) String() string { return proto.CompactTextString(m) } -func (*PeerGroupState) ProtoMessage() {} +func (x *PeerGroupState) Reset() { + *x = PeerGroupState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerGroupState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerGroupState) ProtoMessage() {} + +func (x *PeerGroupState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[84] + 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 PeerGroupState.ProtoReflect.Descriptor instead. func (*PeerGroupState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{84} + return file_gobgp_proto_rawDescGZIP(), []int{84} } -func (m *PeerGroupState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PeerGroupState.Unmarshal(m, b) -} -func (m *PeerGroupState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PeerGroupState.Marshal(b, m, deterministic) -} -func (m *PeerGroupState) XXX_Merge(src proto.Message) { - xxx_messageInfo_PeerGroupState.Merge(m, src) -} -func (m *PeerGroupState) XXX_Size() int { - return xxx_messageInfo_PeerGroupState.Size(m) -} -func (m *PeerGroupState) XXX_DiscardUnknown() { - xxx_messageInfo_PeerGroupState.DiscardUnknown(m) -} - -var xxx_messageInfo_PeerGroupState proto.InternalMessageInfo - -func (m *PeerGroupState) GetAuthPassword() string { - if m != nil { - return m.AuthPassword +func (x *PeerGroupState) GetAuthPassword() string { + if x != nil { + return x.AuthPassword } return "" } -func (m *PeerGroupState) GetDescription() string { - if m != nil { - return m.Description +func (x *PeerGroupState) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *PeerGroupState) GetLocalAs() uint32 { - if m != nil { - return m.LocalAs +func (x *PeerGroupState) GetLocalAs() uint32 { + if x != nil { + return x.LocalAs } return 0 } -func (m *PeerGroupState) GetPeerAs() uint32 { - if m != nil { - return m.PeerAs +func (x *PeerGroupState) GetPeerAs() uint32 { + if x != nil { + return x.PeerAs } return 0 } -func (m *PeerGroupState) GetPeerGroupName() string { - if m != nil { - return m.PeerGroupName +func (x *PeerGroupState) GetPeerGroupName() string { + if x != nil { + return x.PeerGroupName } return "" } -func (m *PeerGroupState) GetPeerType() uint32 { - if m != nil { - return m.PeerType +func (x *PeerGroupState) GetPeerType() uint32 { + if x != nil { + return x.PeerType } return 0 } -func (m *PeerGroupState) GetRemovePrivateAs() PeerGroupState_RemovePrivateAs { - if m != nil { - return m.RemovePrivateAs +func (x *PeerGroupState) GetRemovePrivateAs() PeerGroupState_RemovePrivateAs { + if x != nil { + return x.RemovePrivateAs } return PeerGroupState_NONE } -func (m *PeerGroupState) GetRouteFlapDamping() bool { - if m != nil { - return m.RouteFlapDamping +func (x *PeerGroupState) GetRouteFlapDamping() bool { + if x != nil { + return x.RouteFlapDamping } return false } -func (m *PeerGroupState) GetSendCommunity() uint32 { - if m != nil { - return m.SendCommunity +func (x *PeerGroupState) GetSendCommunity() uint32 { + if x != nil { + return x.SendCommunity } return 0 } -func (m *PeerGroupState) GetTotalPaths() uint32 { - if m != nil { - return m.TotalPaths +func (x *PeerGroupState) GetTotalPaths() uint32 { + if x != nil { + return x.TotalPaths } return 0 } -func (m *PeerGroupState) GetTotalPrefixes() uint32 { - if m != nil { - return m.TotalPrefixes +func (x *PeerGroupState) GetTotalPrefixes() uint32 { + if x != nil { + return x.TotalPrefixes } return 0 } type TtlSecurity struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - TtlMin uint32 `protobuf:"varint,2,opt,name=ttl_min,json=ttlMin,proto3" json:"ttl_min,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + TtlMin uint32 `protobuf:"varint,2,opt,name=ttl_min,json=ttlMin,proto3" json:"ttl_min,omitempty"` } -func (m *TtlSecurity) Reset() { *m = TtlSecurity{} } -func (m *TtlSecurity) String() string { return proto.CompactTextString(m) } -func (*TtlSecurity) ProtoMessage() {} +func (x *TtlSecurity) Reset() { + *x = TtlSecurity{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TtlSecurity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TtlSecurity) ProtoMessage() {} + +func (x *TtlSecurity) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[85] + 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 TtlSecurity.ProtoReflect.Descriptor instead. func (*TtlSecurity) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{85} + return file_gobgp_proto_rawDescGZIP(), []int{85} } -func (m *TtlSecurity) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TtlSecurity.Unmarshal(m, b) -} -func (m *TtlSecurity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TtlSecurity.Marshal(b, m, deterministic) -} -func (m *TtlSecurity) XXX_Merge(src proto.Message) { - xxx_messageInfo_TtlSecurity.Merge(m, src) -} -func (m *TtlSecurity) XXX_Size() int { - return xxx_messageInfo_TtlSecurity.Size(m) -} -func (m *TtlSecurity) XXX_DiscardUnknown() { - xxx_messageInfo_TtlSecurity.DiscardUnknown(m) -} - -var xxx_messageInfo_TtlSecurity proto.InternalMessageInfo - -func (m *TtlSecurity) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *TtlSecurity) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *TtlSecurity) GetTtlMin() uint32 { - if m != nil { - return m.TtlMin +func (x *TtlSecurity) GetTtlMin() uint32 { + if x != nil { + return x.TtlMin } return 0 } type EbgpMultihop struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - MultihopTtl uint32 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl,proto3" json:"multihop_ttl,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + MultihopTtl uint32 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl,proto3" json:"multihop_ttl,omitempty"` } -func (m *EbgpMultihop) Reset() { *m = EbgpMultihop{} } -func (m *EbgpMultihop) String() string { return proto.CompactTextString(m) } -func (*EbgpMultihop) ProtoMessage() {} +func (x *EbgpMultihop) Reset() { + *x = EbgpMultihop{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EbgpMultihop) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EbgpMultihop) ProtoMessage() {} + +func (x *EbgpMultihop) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[86] + 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 EbgpMultihop.ProtoReflect.Descriptor instead. func (*EbgpMultihop) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{86} + return file_gobgp_proto_rawDescGZIP(), []int{86} } -func (m *EbgpMultihop) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EbgpMultihop.Unmarshal(m, b) -} -func (m *EbgpMultihop) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EbgpMultihop.Marshal(b, m, deterministic) -} -func (m *EbgpMultihop) XXX_Merge(src proto.Message) { - xxx_messageInfo_EbgpMultihop.Merge(m, src) -} -func (m *EbgpMultihop) XXX_Size() int { - return xxx_messageInfo_EbgpMultihop.Size(m) -} -func (m *EbgpMultihop) XXX_DiscardUnknown() { - xxx_messageInfo_EbgpMultihop.DiscardUnknown(m) -} - -var xxx_messageInfo_EbgpMultihop proto.InternalMessageInfo - -func (m *EbgpMultihop) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *EbgpMultihop) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *EbgpMultihop) GetMultihopTtl() uint32 { - if m != nil { - return m.MultihopTtl +func (x *EbgpMultihop) GetMultihopTtl() uint32 { + if x != nil { + return x.MultihopTtl } return 0 } type RouteReflector struct { - RouteReflectorClient bool `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient,proto3" json:"route_reflector_client,omitempty"` - RouteReflectorClusterId string `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId,proto3" json:"route_reflector_cluster_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RouteReflectorClient bool `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient,proto3" json:"route_reflector_client,omitempty"` + RouteReflectorClusterId string `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId,proto3" json:"route_reflector_cluster_id,omitempty"` } -func (m *RouteReflector) Reset() { *m = RouteReflector{} } -func (m *RouteReflector) String() string { return proto.CompactTextString(m) } -func (*RouteReflector) ProtoMessage() {} +func (x *RouteReflector) Reset() { + *x = RouteReflector{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteReflector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteReflector) ProtoMessage() {} + +func (x *RouteReflector) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[87] + 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 RouteReflector.ProtoReflect.Descriptor instead. func (*RouteReflector) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{87} + return file_gobgp_proto_rawDescGZIP(), []int{87} } -func (m *RouteReflector) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteReflector.Unmarshal(m, b) -} -func (m *RouteReflector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteReflector.Marshal(b, m, deterministic) -} -func (m *RouteReflector) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteReflector.Merge(m, src) -} -func (m *RouteReflector) XXX_Size() int { - return xxx_messageInfo_RouteReflector.Size(m) -} -func (m *RouteReflector) XXX_DiscardUnknown() { - xxx_messageInfo_RouteReflector.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteReflector proto.InternalMessageInfo - -func (m *RouteReflector) GetRouteReflectorClient() bool { - if m != nil { - return m.RouteReflectorClient +func (x *RouteReflector) GetRouteReflectorClient() bool { + if x != nil { + return x.RouteReflectorClient } return false } -func (m *RouteReflector) GetRouteReflectorClusterId() string { - if m != nil { - return m.RouteReflectorClusterId +func (x *RouteReflector) GetRouteReflectorClusterId() string { + if x != nil { + return x.RouteReflectorClusterId } return "" } type PeerState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` @@ -5442,2035 +6647,2299 @@ type PeerState struct { RemovePrivateAs uint32 `protobuf:"varint,10,opt,name=remove_private_as,json=removePrivateAs,proto3" json:"remove_private_as,omitempty"` RouteFlapDamping bool `protobuf:"varint,11,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` SendCommunity uint32 `protobuf:"varint,12,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` - SessionState PeerState_SessionState `protobuf:"varint,13,opt,name=session_state,json=sessionState,proto3,enum=gobgpapi.PeerState_SessionState" json:"session_state,omitempty"` - AdminState PeerState_AdminState `protobuf:"varint,15,opt,name=admin_state,json=adminState,proto3,enum=gobgpapi.PeerState_AdminState" json:"admin_state,omitempty"` + SessionState PeerState_SessionState `protobuf:"varint,13,opt,name=session_state,json=sessionState,proto3,enum=apipb.PeerState_SessionState" json:"session_state,omitempty"` + AdminState PeerState_AdminState `protobuf:"varint,15,opt,name=admin_state,json=adminState,proto3,enum=apipb.PeerState_AdminState" json:"admin_state,omitempty"` OutQ uint32 `protobuf:"varint,16,opt,name=out_q,json=outQ,proto3" json:"out_q,omitempty"` Flops uint32 `protobuf:"varint,17,opt,name=flops,proto3" json:"flops,omitempty"` // Each attribute must be one of *Capability defined in // "api/capability.proto". - RemoteCap []*any.Any `protobuf:"bytes,18,rep,name=remote_cap,json=remoteCap,proto3" json:"remote_cap,omitempty"` - LocalCap []*any.Any `protobuf:"bytes,19,rep,name=local_cap,json=localCap,proto3" json:"local_cap,omitempty"` - RouterId string `protobuf:"bytes,20,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + RemoteCap []*anypb.Any `protobuf:"bytes,18,rep,name=remote_cap,json=remoteCap,proto3" json:"remote_cap,omitempty"` + LocalCap []*anypb.Any `protobuf:"bytes,19,rep,name=local_cap,json=localCap,proto3" json:"local_cap,omitempty"` + RouterId string `protobuf:"bytes,20,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` } -func (m *PeerState) Reset() { *m = PeerState{} } -func (m *PeerState) String() string { return proto.CompactTextString(m) } -func (*PeerState) ProtoMessage() {} +func (x *PeerState) Reset() { + *x = PeerState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerState) ProtoMessage() {} + +func (x *PeerState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[88] + 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 PeerState.ProtoReflect.Descriptor instead. func (*PeerState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{88} + return file_gobgp_proto_rawDescGZIP(), []int{88} } -func (m *PeerState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PeerState.Unmarshal(m, b) -} -func (m *PeerState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PeerState.Marshal(b, m, deterministic) -} -func (m *PeerState) XXX_Merge(src proto.Message) { - xxx_messageInfo_PeerState.Merge(m, src) -} -func (m *PeerState) XXX_Size() int { - return xxx_messageInfo_PeerState.Size(m) -} -func (m *PeerState) XXX_DiscardUnknown() { - xxx_messageInfo_PeerState.DiscardUnknown(m) -} - -var xxx_messageInfo_PeerState proto.InternalMessageInfo - -func (m *PeerState) GetAuthPassword() string { - if m != nil { - return m.AuthPassword +func (x *PeerState) GetAuthPassword() string { + if x != nil { + return x.AuthPassword } return "" } -func (m *PeerState) GetDescription() string { - if m != nil { - return m.Description +func (x *PeerState) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (m *PeerState) GetLocalAs() uint32 { - if m != nil { - return m.LocalAs +func (x *PeerState) GetLocalAs() uint32 { + if x != nil { + return x.LocalAs } return 0 } -func (m *PeerState) GetMessages() *Messages { - if m != nil { - return m.Messages +func (x *PeerState) GetMessages() *Messages { + if x != nil { + return x.Messages } return nil } -func (m *PeerState) GetNeighborAddress() string { - if m != nil { - return m.NeighborAddress +func (x *PeerState) GetNeighborAddress() string { + if x != nil { + return x.NeighborAddress } return "" } -func (m *PeerState) GetPeerAs() uint32 { - if m != nil { - return m.PeerAs +func (x *PeerState) GetPeerAs() uint32 { + if x != nil { + return x.PeerAs } return 0 } -func (m *PeerState) GetPeerGroup() string { - if m != nil { - return m.PeerGroup +func (x *PeerState) GetPeerGroup() string { + if x != nil { + return x.PeerGroup } return "" } -func (m *PeerState) GetPeerType() uint32 { - if m != nil { - return m.PeerType +func (x *PeerState) GetPeerType() uint32 { + if x != nil { + return x.PeerType } return 0 } -func (m *PeerState) GetQueues() *Queues { - if m != nil { - return m.Queues +func (x *PeerState) GetQueues() *Queues { + if x != nil { + return x.Queues } return nil } -func (m *PeerState) GetRemovePrivateAs() uint32 { - if m != nil { - return m.RemovePrivateAs +func (x *PeerState) GetRemovePrivateAs() uint32 { + if x != nil { + return x.RemovePrivateAs } return 0 } -func (m *PeerState) GetRouteFlapDamping() bool { - if m != nil { - return m.RouteFlapDamping +func (x *PeerState) GetRouteFlapDamping() bool { + if x != nil { + return x.RouteFlapDamping } return false } -func (m *PeerState) GetSendCommunity() uint32 { - if m != nil { - return m.SendCommunity +func (x *PeerState) GetSendCommunity() uint32 { + if x != nil { + return x.SendCommunity } return 0 } -func (m *PeerState) GetSessionState() PeerState_SessionState { - if m != nil { - return m.SessionState +func (x *PeerState) GetSessionState() PeerState_SessionState { + if x != nil { + return x.SessionState } return PeerState_UNKNOWN } -func (m *PeerState) GetAdminState() PeerState_AdminState { - if m != nil { - return m.AdminState +func (x *PeerState) GetAdminState() PeerState_AdminState { + if x != nil { + return x.AdminState } return PeerState_UP } -func (m *PeerState) GetOutQ() uint32 { - if m != nil { - return m.OutQ +func (x *PeerState) GetOutQ() uint32 { + if x != nil { + return x.OutQ } return 0 } -func (m *PeerState) GetFlops() uint32 { - if m != nil { - return m.Flops +func (x *PeerState) GetFlops() uint32 { + if x != nil { + return x.Flops } return 0 } -func (m *PeerState) GetRemoteCap() []*any.Any { - if m != nil { - return m.RemoteCap +func (x *PeerState) GetRemoteCap() []*anypb.Any { + if x != nil { + return x.RemoteCap } return nil } -func (m *PeerState) GetLocalCap() []*any.Any { - if m != nil { - return m.LocalCap +func (x *PeerState) GetLocalCap() []*anypb.Any { + if x != nil { + return x.LocalCap } return nil } -func (m *PeerState) GetRouterId() string { - if m != nil { - return m.RouterId +func (x *PeerState) GetRouterId() string { + if x != nil { + return x.RouterId } return "" } type Messages struct { - Received *Message `protobuf:"bytes,1,opt,name=received,proto3" json:"received,omitempty"` - Sent *Message `protobuf:"bytes,2,opt,name=sent,proto3" json:"sent,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Received *Message `protobuf:"bytes,1,opt,name=received,proto3" json:"received,omitempty"` + Sent *Message `protobuf:"bytes,2,opt,name=sent,proto3" json:"sent,omitempty"` } -func (m *Messages) Reset() { *m = Messages{} } -func (m *Messages) String() string { return proto.CompactTextString(m) } -func (*Messages) ProtoMessage() {} +func (x *Messages) Reset() { + *x = Messages{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Messages) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Messages) ProtoMessage() {} + +func (x *Messages) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[89] + 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 Messages.ProtoReflect.Descriptor instead. func (*Messages) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{89} + return file_gobgp_proto_rawDescGZIP(), []int{89} } -func (m *Messages) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Messages.Unmarshal(m, b) -} -func (m *Messages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Messages.Marshal(b, m, deterministic) -} -func (m *Messages) XXX_Merge(src proto.Message) { - xxx_messageInfo_Messages.Merge(m, src) -} -func (m *Messages) XXX_Size() int { - return xxx_messageInfo_Messages.Size(m) -} -func (m *Messages) XXX_DiscardUnknown() { - xxx_messageInfo_Messages.DiscardUnknown(m) -} - -var xxx_messageInfo_Messages proto.InternalMessageInfo - -func (m *Messages) GetReceived() *Message { - if m != nil { - return m.Received +func (x *Messages) GetReceived() *Message { + if x != nil { + return x.Received } return nil } -func (m *Messages) GetSent() *Message { - if m != nil { - return m.Sent +func (x *Messages) GetSent() *Message { + if x != nil { + return x.Sent } return nil } type Message struct { - Notification uint64 `protobuf:"varint,1,opt,name=notification,proto3" json:"notification,omitempty"` - Update uint64 `protobuf:"varint,2,opt,name=update,proto3" json:"update,omitempty"` - Open uint64 `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"` - Keepalive uint64 `protobuf:"varint,4,opt,name=keepalive,proto3" json:"keepalive,omitempty"` - Refresh uint64 `protobuf:"varint,5,opt,name=refresh,proto3" json:"refresh,omitempty"` - Discarded uint64 `protobuf:"varint,6,opt,name=discarded,proto3" json:"discarded,omitempty"` - Total uint64 `protobuf:"varint,7,opt,name=total,proto3" json:"total,omitempty"` - WithdrawUpdate uint64 `protobuf:"varint,8,opt,name=withdraw_update,json=withdrawUpdate,proto3" json:"withdraw_update,omitempty"` - WithdrawPrefix uint64 `protobuf:"varint,9,opt,name=withdraw_prefix,json=withdrawPrefix,proto3" json:"withdraw_prefix,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Notification uint64 `protobuf:"varint,1,opt,name=notification,proto3" json:"notification,omitempty"` + Update uint64 `protobuf:"varint,2,opt,name=update,proto3" json:"update,omitempty"` + Open uint64 `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"` + Keepalive uint64 `protobuf:"varint,4,opt,name=keepalive,proto3" json:"keepalive,omitempty"` + Refresh uint64 `protobuf:"varint,5,opt,name=refresh,proto3" json:"refresh,omitempty"` + Discarded uint64 `protobuf:"varint,6,opt,name=discarded,proto3" json:"discarded,omitempty"` + Total uint64 `protobuf:"varint,7,opt,name=total,proto3" json:"total,omitempty"` + WithdrawUpdate uint64 `protobuf:"varint,8,opt,name=withdraw_update,json=withdrawUpdate,proto3" json:"withdraw_update,omitempty"` + WithdrawPrefix uint64 `protobuf:"varint,9,opt,name=withdraw_prefix,json=withdrawPrefix,proto3" json:"withdraw_prefix,omitempty"` } -func (m *Message) Reset() { *m = Message{} } -func (m *Message) String() string { return proto.CompactTextString(m) } -func (*Message) ProtoMessage() {} +func (x *Message) Reset() { + *x = Message{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Message) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Message) ProtoMessage() {} + +func (x *Message) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[90] + 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 Message.ProtoReflect.Descriptor instead. func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{90} + return file_gobgp_proto_rawDescGZIP(), []int{90} } -func (m *Message) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Message.Unmarshal(m, b) -} -func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Message.Marshal(b, m, deterministic) -} -func (m *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(m, src) -} -func (m *Message) XXX_Size() int { - return xxx_messageInfo_Message.Size(m) -} -func (m *Message) XXX_DiscardUnknown() { - xxx_messageInfo_Message.DiscardUnknown(m) -} - -var xxx_messageInfo_Message proto.InternalMessageInfo - -func (m *Message) GetNotification() uint64 { - if m != nil { - return m.Notification +func (x *Message) GetNotification() uint64 { + if x != nil { + return x.Notification } return 0 } -func (m *Message) GetUpdate() uint64 { - if m != nil { - return m.Update +func (x *Message) GetUpdate() uint64 { + if x != nil { + return x.Update } return 0 } -func (m *Message) GetOpen() uint64 { - if m != nil { - return m.Open +func (x *Message) GetOpen() uint64 { + if x != nil { + return x.Open } return 0 } -func (m *Message) GetKeepalive() uint64 { - if m != nil { - return m.Keepalive +func (x *Message) GetKeepalive() uint64 { + if x != nil { + return x.Keepalive } return 0 } -func (m *Message) GetRefresh() uint64 { - if m != nil { - return m.Refresh +func (x *Message) GetRefresh() uint64 { + if x != nil { + return x.Refresh } return 0 } -func (m *Message) GetDiscarded() uint64 { - if m != nil { - return m.Discarded +func (x *Message) GetDiscarded() uint64 { + if x != nil { + return x.Discarded } return 0 } -func (m *Message) GetTotal() uint64 { - if m != nil { - return m.Total +func (x *Message) GetTotal() uint64 { + if x != nil { + return x.Total } return 0 } -func (m *Message) GetWithdrawUpdate() uint64 { - if m != nil { - return m.WithdrawUpdate +func (x *Message) GetWithdrawUpdate() uint64 { + if x != nil { + return x.WithdrawUpdate } return 0 } -func (m *Message) GetWithdrawPrefix() uint64 { - if m != nil { - return m.WithdrawPrefix +func (x *Message) GetWithdrawPrefix() uint64 { + if x != nil { + return x.WithdrawPrefix } return 0 } type Queues struct { - Input uint32 `protobuf:"varint,1,opt,name=input,proto3" json:"input,omitempty"` - Output uint32 `protobuf:"varint,2,opt,name=output,proto3" json:"output,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Input uint32 `protobuf:"varint,1,opt,name=input,proto3" json:"input,omitempty"` + Output uint32 `protobuf:"varint,2,opt,name=output,proto3" json:"output,omitempty"` } -func (m *Queues) Reset() { *m = Queues{} } -func (m *Queues) String() string { return proto.CompactTextString(m) } -func (*Queues) ProtoMessage() {} +func (x *Queues) Reset() { + *x = Queues{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Queues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Queues) ProtoMessage() {} + +func (x *Queues) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[91] + 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 Queues.ProtoReflect.Descriptor instead. func (*Queues) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{91} + return file_gobgp_proto_rawDescGZIP(), []int{91} } -func (m *Queues) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Queues.Unmarshal(m, b) -} -func (m *Queues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Queues.Marshal(b, m, deterministic) -} -func (m *Queues) XXX_Merge(src proto.Message) { - xxx_messageInfo_Queues.Merge(m, src) -} -func (m *Queues) XXX_Size() int { - return xxx_messageInfo_Queues.Size(m) -} -func (m *Queues) XXX_DiscardUnknown() { - xxx_messageInfo_Queues.DiscardUnknown(m) -} - -var xxx_messageInfo_Queues proto.InternalMessageInfo - -func (m *Queues) GetInput() uint32 { - if m != nil { - return m.Input +func (x *Queues) GetInput() uint32 { + if x != nil { + return x.Input } return 0 } -func (m *Queues) GetOutput() uint32 { - if m != nil { - return m.Output +func (x *Queues) GetOutput() uint32 { + if x != nil { + return x.Output } return 0 } type Timers struct { - Config *TimersConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *TimersState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *TimersConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *TimersState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *Timers) Reset() { *m = Timers{} } -func (m *Timers) String() string { return proto.CompactTextString(m) } -func (*Timers) ProtoMessage() {} +func (x *Timers) Reset() { + *x = Timers{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timers) ProtoMessage() {} + +func (x *Timers) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[92] + 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 Timers.ProtoReflect.Descriptor instead. func (*Timers) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{92} + return file_gobgp_proto_rawDescGZIP(), []int{92} } -func (m *Timers) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Timers.Unmarshal(m, b) -} -func (m *Timers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Timers.Marshal(b, m, deterministic) -} -func (m *Timers) XXX_Merge(src proto.Message) { - xxx_messageInfo_Timers.Merge(m, src) -} -func (m *Timers) XXX_Size() int { - return xxx_messageInfo_Timers.Size(m) -} -func (m *Timers) XXX_DiscardUnknown() { - xxx_messageInfo_Timers.DiscardUnknown(m) -} - -var xxx_messageInfo_Timers proto.InternalMessageInfo - -func (m *Timers) GetConfig() *TimersConfig { - if m != nil { - return m.Config +func (x *Timers) GetConfig() *TimersConfig { + if x != nil { + return x.Config } return nil } -func (m *Timers) GetState() *TimersState { - if m != nil { - return m.State +func (x *Timers) GetState() *TimersState { + if x != nil { + return x.State } return nil } type TimersConfig struct { - ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` - HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` - KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` - MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"` - IdleHoldTimeAfterReset uint64 `protobuf:"varint,5,opt,name=idle_hold_time_after_reset,json=idleHoldTimeAfterReset,proto3" json:"idle_hold_time_after_reset,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` + HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` + KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` + MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"` + IdleHoldTimeAfterReset uint64 `protobuf:"varint,5,opt,name=idle_hold_time_after_reset,json=idleHoldTimeAfterReset,proto3" json:"idle_hold_time_after_reset,omitempty"` } -func (m *TimersConfig) Reset() { *m = TimersConfig{} } -func (m *TimersConfig) String() string { return proto.CompactTextString(m) } -func (*TimersConfig) ProtoMessage() {} +func (x *TimersConfig) Reset() { + *x = TimersConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimersConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimersConfig) ProtoMessage() {} + +func (x *TimersConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[93] + 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 TimersConfig.ProtoReflect.Descriptor instead. func (*TimersConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{93} + return file_gobgp_proto_rawDescGZIP(), []int{93} } -func (m *TimersConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TimersConfig.Unmarshal(m, b) -} -func (m *TimersConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TimersConfig.Marshal(b, m, deterministic) -} -func (m *TimersConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_TimersConfig.Merge(m, src) -} -func (m *TimersConfig) XXX_Size() int { - return xxx_messageInfo_TimersConfig.Size(m) -} -func (m *TimersConfig) XXX_DiscardUnknown() { - xxx_messageInfo_TimersConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_TimersConfig proto.InternalMessageInfo - -func (m *TimersConfig) GetConnectRetry() uint64 { - if m != nil { - return m.ConnectRetry +func (x *TimersConfig) GetConnectRetry() uint64 { + if x != nil { + return x.ConnectRetry } return 0 } -func (m *TimersConfig) GetHoldTime() uint64 { - if m != nil { - return m.HoldTime +func (x *TimersConfig) GetHoldTime() uint64 { + if x != nil { + return x.HoldTime } return 0 } -func (m *TimersConfig) GetKeepaliveInterval() uint64 { - if m != nil { - return m.KeepaliveInterval +func (x *TimersConfig) GetKeepaliveInterval() uint64 { + if x != nil { + return x.KeepaliveInterval } return 0 } -func (m *TimersConfig) GetMinimumAdvertisementInterval() uint64 { - if m != nil { - return m.MinimumAdvertisementInterval +func (x *TimersConfig) GetMinimumAdvertisementInterval() uint64 { + if x != nil { + return x.MinimumAdvertisementInterval } return 0 } -func (m *TimersConfig) GetIdleHoldTimeAfterReset() uint64 { - if m != nil { - return m.IdleHoldTimeAfterReset +func (x *TimersConfig) GetIdleHoldTimeAfterReset() uint64 { + if x != nil { + return x.IdleHoldTimeAfterReset } return 0 } type TimersState struct { - ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` - HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` - KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` - MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"` - NegotiatedHoldTime uint64 `protobuf:"varint,5,opt,name=negotiated_hold_time,json=negotiatedHoldTime,proto3" json:"negotiated_hold_time,omitempty"` - Uptime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=uptime,proto3" json:"uptime,omitempty"` - Downtime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=downtime,proto3" json:"downtime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` + HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` + KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` + MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"` + NegotiatedHoldTime uint64 `protobuf:"varint,5,opt,name=negotiated_hold_time,json=negotiatedHoldTime,proto3" json:"negotiated_hold_time,omitempty"` + Uptime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=uptime,proto3" json:"uptime,omitempty"` + Downtime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=downtime,proto3" json:"downtime,omitempty"` } -func (m *TimersState) Reset() { *m = TimersState{} } -func (m *TimersState) String() string { return proto.CompactTextString(m) } -func (*TimersState) ProtoMessage() {} +func (x *TimersState) Reset() { + *x = TimersState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimersState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimersState) ProtoMessage() {} + +func (x *TimersState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[94] + 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 TimersState.ProtoReflect.Descriptor instead. func (*TimersState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{94} + return file_gobgp_proto_rawDescGZIP(), []int{94} } -func (m *TimersState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TimersState.Unmarshal(m, b) -} -func (m *TimersState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TimersState.Marshal(b, m, deterministic) -} -func (m *TimersState) XXX_Merge(src proto.Message) { - xxx_messageInfo_TimersState.Merge(m, src) -} -func (m *TimersState) XXX_Size() int { - return xxx_messageInfo_TimersState.Size(m) -} -func (m *TimersState) XXX_DiscardUnknown() { - xxx_messageInfo_TimersState.DiscardUnknown(m) -} - -var xxx_messageInfo_TimersState proto.InternalMessageInfo - -func (m *TimersState) GetConnectRetry() uint64 { - if m != nil { - return m.ConnectRetry +func (x *TimersState) GetConnectRetry() uint64 { + if x != nil { + return x.ConnectRetry } return 0 } -func (m *TimersState) GetHoldTime() uint64 { - if m != nil { - return m.HoldTime +func (x *TimersState) GetHoldTime() uint64 { + if x != nil { + return x.HoldTime } return 0 } -func (m *TimersState) GetKeepaliveInterval() uint64 { - if m != nil { - return m.KeepaliveInterval +func (x *TimersState) GetKeepaliveInterval() uint64 { + if x != nil { + return x.KeepaliveInterval } return 0 } -func (m *TimersState) GetMinimumAdvertisementInterval() uint64 { - if m != nil { - return m.MinimumAdvertisementInterval +func (x *TimersState) GetMinimumAdvertisementInterval() uint64 { + if x != nil { + return x.MinimumAdvertisementInterval } return 0 } -func (m *TimersState) GetNegotiatedHoldTime() uint64 { - if m != nil { - return m.NegotiatedHoldTime +func (x *TimersState) GetNegotiatedHoldTime() uint64 { + if x != nil { + return x.NegotiatedHoldTime } return 0 } -func (m *TimersState) GetUptime() *timestamp.Timestamp { - if m != nil { - return m.Uptime +func (x *TimersState) GetUptime() *timestamppb.Timestamp { + if x != nil { + return x.Uptime } return nil } -func (m *TimersState) GetDowntime() *timestamp.Timestamp { - if m != nil { - return m.Downtime +func (x *TimersState) GetDowntime() *timestamppb.Timestamp { + if x != nil { + return x.Downtime } return nil } type Transport struct { - LocalAddress string `protobuf:"bytes,1,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` - LocalPort uint32 `protobuf:"varint,2,opt,name=local_port,json=localPort,proto3" json:"local_port,omitempty"` - MtuDiscovery bool `protobuf:"varint,3,opt,name=mtu_discovery,json=mtuDiscovery,proto3" json:"mtu_discovery,omitempty"` - PassiveMode bool `protobuf:"varint,4,opt,name=passive_mode,json=passiveMode,proto3" json:"passive_mode,omitempty"` - RemoteAddress string `protobuf:"bytes,5,opt,name=remote_address,json=remoteAddress,proto3" json:"remote_address,omitempty"` - RemotePort uint32 `protobuf:"varint,6,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"` - TcpMss uint32 `protobuf:"varint,7,opt,name=tcp_mss,json=tcpMss,proto3" json:"tcp_mss,omitempty"` - BindInterface string `protobuf:"bytes,8,opt,name=bind_interface,json=bindInterface,proto3" json:"bind_interface,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocalAddress string `protobuf:"bytes,1,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` + LocalPort uint32 `protobuf:"varint,2,opt,name=local_port,json=localPort,proto3" json:"local_port,omitempty"` + MtuDiscovery bool `protobuf:"varint,3,opt,name=mtu_discovery,json=mtuDiscovery,proto3" json:"mtu_discovery,omitempty"` + PassiveMode bool `protobuf:"varint,4,opt,name=passive_mode,json=passiveMode,proto3" json:"passive_mode,omitempty"` + RemoteAddress string `protobuf:"bytes,5,opt,name=remote_address,json=remoteAddress,proto3" json:"remote_address,omitempty"` + RemotePort uint32 `protobuf:"varint,6,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"` + TcpMss uint32 `protobuf:"varint,7,opt,name=tcp_mss,json=tcpMss,proto3" json:"tcp_mss,omitempty"` + BindInterface string `protobuf:"bytes,8,opt,name=bind_interface,json=bindInterface,proto3" json:"bind_interface,omitempty"` } -func (m *Transport) Reset() { *m = Transport{} } -func (m *Transport) String() string { return proto.CompactTextString(m) } -func (*Transport) ProtoMessage() {} +func (x *Transport) Reset() { + *x = Transport{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Transport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Transport) ProtoMessage() {} + +func (x *Transport) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[95] + 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 Transport.ProtoReflect.Descriptor instead. func (*Transport) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{95} + return file_gobgp_proto_rawDescGZIP(), []int{95} } -func (m *Transport) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Transport.Unmarshal(m, b) -} -func (m *Transport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Transport.Marshal(b, m, deterministic) -} -func (m *Transport) XXX_Merge(src proto.Message) { - xxx_messageInfo_Transport.Merge(m, src) -} -func (m *Transport) XXX_Size() int { - return xxx_messageInfo_Transport.Size(m) -} -func (m *Transport) XXX_DiscardUnknown() { - xxx_messageInfo_Transport.DiscardUnknown(m) -} - -var xxx_messageInfo_Transport proto.InternalMessageInfo - -func (m *Transport) GetLocalAddress() string { - if m != nil { - return m.LocalAddress +func (x *Transport) GetLocalAddress() string { + if x != nil { + return x.LocalAddress } return "" } -func (m *Transport) GetLocalPort() uint32 { - if m != nil { - return m.LocalPort +func (x *Transport) GetLocalPort() uint32 { + if x != nil { + return x.LocalPort } return 0 } -func (m *Transport) GetMtuDiscovery() bool { - if m != nil { - return m.MtuDiscovery +func (x *Transport) GetMtuDiscovery() bool { + if x != nil { + return x.MtuDiscovery } return false } -func (m *Transport) GetPassiveMode() bool { - if m != nil { - return m.PassiveMode +func (x *Transport) GetPassiveMode() bool { + if x != nil { + return x.PassiveMode } return false } -func (m *Transport) GetRemoteAddress() string { - if m != nil { - return m.RemoteAddress +func (x *Transport) GetRemoteAddress() string { + if x != nil { + return x.RemoteAddress } return "" } -func (m *Transport) GetRemotePort() uint32 { - if m != nil { - return m.RemotePort +func (x *Transport) GetRemotePort() uint32 { + if x != nil { + return x.RemotePort } return 0 } -func (m *Transport) GetTcpMss() uint32 { - if m != nil { - return m.TcpMss +func (x *Transport) GetTcpMss() uint32 { + if x != nil { + return x.TcpMss } return 0 } -func (m *Transport) GetBindInterface() string { - if m != nil { - return m.BindInterface +func (x *Transport) GetBindInterface() string { + if x != nil { + return x.BindInterface } return "" } type RouteServer struct { - RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient,proto3" json:"route_server_client,omitempty"` - SecondaryRoute bool `protobuf:"varint,2,opt,name=secondary_route,json=secondaryRoute,proto3" json:"secondary_route,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient,proto3" json:"route_server_client,omitempty"` + SecondaryRoute bool `protobuf:"varint,2,opt,name=secondary_route,json=secondaryRoute,proto3" json:"secondary_route,omitempty"` } -func (m *RouteServer) Reset() { *m = RouteServer{} } -func (m *RouteServer) String() string { return proto.CompactTextString(m) } -func (*RouteServer) ProtoMessage() {} +func (x *RouteServer) Reset() { + *x = RouteServer{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteServer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteServer) ProtoMessage() {} + +func (x *RouteServer) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[96] + 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 RouteServer.ProtoReflect.Descriptor instead. func (*RouteServer) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{96} + return file_gobgp_proto_rawDescGZIP(), []int{96} } -func (m *RouteServer) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteServer.Unmarshal(m, b) -} -func (m *RouteServer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteServer.Marshal(b, m, deterministic) -} -func (m *RouteServer) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteServer.Merge(m, src) -} -func (m *RouteServer) XXX_Size() int { - return xxx_messageInfo_RouteServer.Size(m) -} -func (m *RouteServer) XXX_DiscardUnknown() { - xxx_messageInfo_RouteServer.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteServer proto.InternalMessageInfo - -func (m *RouteServer) GetRouteServerClient() bool { - if m != nil { - return m.RouteServerClient +func (x *RouteServer) GetRouteServerClient() bool { + if x != nil { + return x.RouteServerClient } return false } -func (m *RouteServer) GetSecondaryRoute() bool { - if m != nil { - return m.SecondaryRoute +func (x *RouteServer) GetSecondaryRoute() bool { + if x != nil { + return x.SecondaryRoute } return false } type GracefulRestart struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` - HelperOnly bool `protobuf:"varint,3,opt,name=helper_only,json=helperOnly,proto3" json:"helper_only,omitempty"` - DeferralTime uint32 `protobuf:"varint,4,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` - NotificationEnabled bool `protobuf:"varint,5,opt,name=notification_enabled,json=notificationEnabled,proto3" json:"notification_enabled,omitempty"` - LonglivedEnabled bool `protobuf:"varint,6,opt,name=longlived_enabled,json=longlivedEnabled,proto3" json:"longlived_enabled,omitempty"` - StaleRoutesTime uint32 `protobuf:"varint,7,opt,name=stale_routes_time,json=staleRoutesTime,proto3" json:"stale_routes_time,omitempty"` - PeerRestartTime uint32 `protobuf:"varint,8,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"` - PeerRestarting bool `protobuf:"varint,9,opt,name=peer_restarting,json=peerRestarting,proto3" json:"peer_restarting,omitempty"` - LocalRestarting bool `protobuf:"varint,10,opt,name=local_restarting,json=localRestarting,proto3" json:"local_restarting,omitempty"` - Mode string `protobuf:"bytes,11,opt,name=mode,proto3" json:"mode,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` + HelperOnly bool `protobuf:"varint,3,opt,name=helper_only,json=helperOnly,proto3" json:"helper_only,omitempty"` + DeferralTime uint32 `protobuf:"varint,4,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` + NotificationEnabled bool `protobuf:"varint,5,opt,name=notification_enabled,json=notificationEnabled,proto3" json:"notification_enabled,omitempty"` + LonglivedEnabled bool `protobuf:"varint,6,opt,name=longlived_enabled,json=longlivedEnabled,proto3" json:"longlived_enabled,omitempty"` + StaleRoutesTime uint32 `protobuf:"varint,7,opt,name=stale_routes_time,json=staleRoutesTime,proto3" json:"stale_routes_time,omitempty"` + PeerRestartTime uint32 `protobuf:"varint,8,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"` + PeerRestarting bool `protobuf:"varint,9,opt,name=peer_restarting,json=peerRestarting,proto3" json:"peer_restarting,omitempty"` + LocalRestarting bool `protobuf:"varint,10,opt,name=local_restarting,json=localRestarting,proto3" json:"local_restarting,omitempty"` + Mode string `protobuf:"bytes,11,opt,name=mode,proto3" json:"mode,omitempty"` } -func (m *GracefulRestart) Reset() { *m = GracefulRestart{} } -func (m *GracefulRestart) String() string { return proto.CompactTextString(m) } -func (*GracefulRestart) ProtoMessage() {} +func (x *GracefulRestart) Reset() { + *x = GracefulRestart{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GracefulRestart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GracefulRestart) ProtoMessage() {} + +func (x *GracefulRestart) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[97] + 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 GracefulRestart.ProtoReflect.Descriptor instead. func (*GracefulRestart) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{97} + return file_gobgp_proto_rawDescGZIP(), []int{97} } -func (m *GracefulRestart) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GracefulRestart.Unmarshal(m, b) -} -func (m *GracefulRestart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GracefulRestart.Marshal(b, m, deterministic) -} -func (m *GracefulRestart) XXX_Merge(src proto.Message) { - xxx_messageInfo_GracefulRestart.Merge(m, src) -} -func (m *GracefulRestart) XXX_Size() int { - return xxx_messageInfo_GracefulRestart.Size(m) -} -func (m *GracefulRestart) XXX_DiscardUnknown() { - xxx_messageInfo_GracefulRestart.DiscardUnknown(m) -} - -var xxx_messageInfo_GracefulRestart proto.InternalMessageInfo - -func (m *GracefulRestart) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *GracefulRestart) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *GracefulRestart) GetRestartTime() uint32 { - if m != nil { - return m.RestartTime +func (x *GracefulRestart) GetRestartTime() uint32 { + if x != nil { + return x.RestartTime } return 0 } -func (m *GracefulRestart) GetHelperOnly() bool { - if m != nil { - return m.HelperOnly +func (x *GracefulRestart) GetHelperOnly() bool { + if x != nil { + return x.HelperOnly } return false } -func (m *GracefulRestart) GetDeferralTime() uint32 { - if m != nil { - return m.DeferralTime +func (x *GracefulRestart) GetDeferralTime() uint32 { + if x != nil { + return x.DeferralTime } return 0 } -func (m *GracefulRestart) GetNotificationEnabled() bool { - if m != nil { - return m.NotificationEnabled +func (x *GracefulRestart) GetNotificationEnabled() bool { + if x != nil { + return x.NotificationEnabled } return false } -func (m *GracefulRestart) GetLonglivedEnabled() bool { - if m != nil { - return m.LonglivedEnabled +func (x *GracefulRestart) GetLonglivedEnabled() bool { + if x != nil { + return x.LonglivedEnabled } return false } -func (m *GracefulRestart) GetStaleRoutesTime() uint32 { - if m != nil { - return m.StaleRoutesTime +func (x *GracefulRestart) GetStaleRoutesTime() uint32 { + if x != nil { + return x.StaleRoutesTime } return 0 } -func (m *GracefulRestart) GetPeerRestartTime() uint32 { - if m != nil { - return m.PeerRestartTime +func (x *GracefulRestart) GetPeerRestartTime() uint32 { + if x != nil { + return x.PeerRestartTime } return 0 } -func (m *GracefulRestart) GetPeerRestarting() bool { - if m != nil { - return m.PeerRestarting +func (x *GracefulRestart) GetPeerRestarting() bool { + if x != nil { + return x.PeerRestarting } return false } -func (m *GracefulRestart) GetLocalRestarting() bool { - if m != nil { - return m.LocalRestarting +func (x *GracefulRestart) GetLocalRestarting() bool { + if x != nil { + return x.LocalRestarting } return false } -func (m *GracefulRestart) GetMode() string { - if m != nil { - return m.Mode +func (x *GracefulRestart) GetMode() string { + if x != nil { + return x.Mode } return "" } type MpGracefulRestartConfig struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` } -func (m *MpGracefulRestartConfig) Reset() { *m = MpGracefulRestartConfig{} } -func (m *MpGracefulRestartConfig) String() string { return proto.CompactTextString(m) } -func (*MpGracefulRestartConfig) ProtoMessage() {} +func (x *MpGracefulRestartConfig) Reset() { + *x = MpGracefulRestartConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MpGracefulRestartConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MpGracefulRestartConfig) ProtoMessage() {} + +func (x *MpGracefulRestartConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[98] + 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 MpGracefulRestartConfig.ProtoReflect.Descriptor instead. func (*MpGracefulRestartConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{98} + return file_gobgp_proto_rawDescGZIP(), []int{98} } -func (m *MpGracefulRestartConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MpGracefulRestartConfig.Unmarshal(m, b) -} -func (m *MpGracefulRestartConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MpGracefulRestartConfig.Marshal(b, m, deterministic) -} -func (m *MpGracefulRestartConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_MpGracefulRestartConfig.Merge(m, src) -} -func (m *MpGracefulRestartConfig) XXX_Size() int { - return xxx_messageInfo_MpGracefulRestartConfig.Size(m) -} -func (m *MpGracefulRestartConfig) XXX_DiscardUnknown() { - xxx_messageInfo_MpGracefulRestartConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_MpGracefulRestartConfig proto.InternalMessageInfo - -func (m *MpGracefulRestartConfig) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *MpGracefulRestartConfig) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } type MpGracefulRestartState struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Received bool `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"` - Advertised bool `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"` - EndOfRibReceived bool `protobuf:"varint,4,opt,name=end_of_rib_received,json=endOfRibReceived,proto3" json:"end_of_rib_received,omitempty"` - EndOfRibSent bool `protobuf:"varint,5,opt,name=end_of_rib_sent,json=endOfRibSent,proto3" json:"end_of_rib_sent,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Received bool `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"` + Advertised bool `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"` + EndOfRibReceived bool `protobuf:"varint,4,opt,name=end_of_rib_received,json=endOfRibReceived,proto3" json:"end_of_rib_received,omitempty"` + EndOfRibSent bool `protobuf:"varint,5,opt,name=end_of_rib_sent,json=endOfRibSent,proto3" json:"end_of_rib_sent,omitempty"` } -func (m *MpGracefulRestartState) Reset() { *m = MpGracefulRestartState{} } -func (m *MpGracefulRestartState) String() string { return proto.CompactTextString(m) } -func (*MpGracefulRestartState) ProtoMessage() {} +func (x *MpGracefulRestartState) Reset() { + *x = MpGracefulRestartState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MpGracefulRestartState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MpGracefulRestartState) ProtoMessage() {} + +func (x *MpGracefulRestartState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[99] + 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 MpGracefulRestartState.ProtoReflect.Descriptor instead. func (*MpGracefulRestartState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{99} + return file_gobgp_proto_rawDescGZIP(), []int{99} } -func (m *MpGracefulRestartState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MpGracefulRestartState.Unmarshal(m, b) -} -func (m *MpGracefulRestartState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MpGracefulRestartState.Marshal(b, m, deterministic) -} -func (m *MpGracefulRestartState) XXX_Merge(src proto.Message) { - xxx_messageInfo_MpGracefulRestartState.Merge(m, src) -} -func (m *MpGracefulRestartState) XXX_Size() int { - return xxx_messageInfo_MpGracefulRestartState.Size(m) -} -func (m *MpGracefulRestartState) XXX_DiscardUnknown() { - xxx_messageInfo_MpGracefulRestartState.DiscardUnknown(m) -} - -var xxx_messageInfo_MpGracefulRestartState proto.InternalMessageInfo - -func (m *MpGracefulRestartState) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *MpGracefulRestartState) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *MpGracefulRestartState) GetReceived() bool { - if m != nil { - return m.Received +func (x *MpGracefulRestartState) GetReceived() bool { + if x != nil { + return x.Received } return false } -func (m *MpGracefulRestartState) GetAdvertised() bool { - if m != nil { - return m.Advertised +func (x *MpGracefulRestartState) GetAdvertised() bool { + if x != nil { + return x.Advertised } return false } -func (m *MpGracefulRestartState) GetEndOfRibReceived() bool { - if m != nil { - return m.EndOfRibReceived +func (x *MpGracefulRestartState) GetEndOfRibReceived() bool { + if x != nil { + return x.EndOfRibReceived } return false } -func (m *MpGracefulRestartState) GetEndOfRibSent() bool { - if m != nil { - return m.EndOfRibSent +func (x *MpGracefulRestartState) GetEndOfRibSent() bool { + if x != nil { + return x.EndOfRibSent } return false } type MpGracefulRestart struct { - Config *MpGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *MpGracefulRestartState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *MpGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *MpGracefulRestartState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *MpGracefulRestart) Reset() { *m = MpGracefulRestart{} } -func (m *MpGracefulRestart) String() string { return proto.CompactTextString(m) } -func (*MpGracefulRestart) ProtoMessage() {} +func (x *MpGracefulRestart) Reset() { + *x = MpGracefulRestart{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MpGracefulRestart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MpGracefulRestart) ProtoMessage() {} + +func (x *MpGracefulRestart) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[100] + 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 MpGracefulRestart.ProtoReflect.Descriptor instead. func (*MpGracefulRestart) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{100} + return file_gobgp_proto_rawDescGZIP(), []int{100} } -func (m *MpGracefulRestart) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MpGracefulRestart.Unmarshal(m, b) -} -func (m *MpGracefulRestart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MpGracefulRestart.Marshal(b, m, deterministic) -} -func (m *MpGracefulRestart) XXX_Merge(src proto.Message) { - xxx_messageInfo_MpGracefulRestart.Merge(m, src) -} -func (m *MpGracefulRestart) XXX_Size() int { - return xxx_messageInfo_MpGracefulRestart.Size(m) -} -func (m *MpGracefulRestart) XXX_DiscardUnknown() { - xxx_messageInfo_MpGracefulRestart.DiscardUnknown(m) -} - -var xxx_messageInfo_MpGracefulRestart proto.InternalMessageInfo - -func (m *MpGracefulRestart) GetConfig() *MpGracefulRestartConfig { - if m != nil { - return m.Config +func (x *MpGracefulRestart) GetConfig() *MpGracefulRestartConfig { + if x != nil { + return x.Config } return nil } -func (m *MpGracefulRestart) GetState() *MpGracefulRestartState { - if m != nil { - return m.State +func (x *MpGracefulRestart) GetState() *MpGracefulRestartState { + if x != nil { + return x.State } return nil } type AfiSafiConfig struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` + Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` } -func (m *AfiSafiConfig) Reset() { *m = AfiSafiConfig{} } -func (m *AfiSafiConfig) String() string { return proto.CompactTextString(m) } -func (*AfiSafiConfig) ProtoMessage() {} +func (x *AfiSafiConfig) Reset() { + *x = AfiSafiConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AfiSafiConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AfiSafiConfig) ProtoMessage() {} + +func (x *AfiSafiConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[101] + 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 AfiSafiConfig.ProtoReflect.Descriptor instead. func (*AfiSafiConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{101} + return file_gobgp_proto_rawDescGZIP(), []int{101} } -func (m *AfiSafiConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AfiSafiConfig.Unmarshal(m, b) -} -func (m *AfiSafiConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AfiSafiConfig.Marshal(b, m, deterministic) -} -func (m *AfiSafiConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_AfiSafiConfig.Merge(m, src) -} -func (m *AfiSafiConfig) XXX_Size() int { - return xxx_messageInfo_AfiSafiConfig.Size(m) -} -func (m *AfiSafiConfig) XXX_DiscardUnknown() { - xxx_messageInfo_AfiSafiConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_AfiSafiConfig proto.InternalMessageInfo - -func (m *AfiSafiConfig) GetFamily() *Family { - if m != nil { - return m.Family +func (x *AfiSafiConfig) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *AfiSafiConfig) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *AfiSafiConfig) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } type AfiSafiState struct { - Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` - Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` - Received uint64 `protobuf:"varint,3,opt,name=received,proto3" json:"received,omitempty"` - Accepted uint64 `protobuf:"varint,4,opt,name=accepted,proto3" json:"accepted,omitempty"` - Advertised uint64 `protobuf:"varint,5,opt,name=advertised,proto3" json:"advertised,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` + Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` + Received uint64 `protobuf:"varint,3,opt,name=received,proto3" json:"received,omitempty"` + Accepted uint64 `protobuf:"varint,4,opt,name=accepted,proto3" json:"accepted,omitempty"` + Advertised uint64 `protobuf:"varint,5,opt,name=advertised,proto3" json:"advertised,omitempty"` } -func (m *AfiSafiState) Reset() { *m = AfiSafiState{} } -func (m *AfiSafiState) String() string { return proto.CompactTextString(m) } -func (*AfiSafiState) ProtoMessage() {} +func (x *AfiSafiState) Reset() { + *x = AfiSafiState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AfiSafiState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AfiSafiState) ProtoMessage() {} + +func (x *AfiSafiState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[102] + 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 AfiSafiState.ProtoReflect.Descriptor instead. func (*AfiSafiState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{102} + return file_gobgp_proto_rawDescGZIP(), []int{102} } -func (m *AfiSafiState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AfiSafiState.Unmarshal(m, b) -} -func (m *AfiSafiState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AfiSafiState.Marshal(b, m, deterministic) -} -func (m *AfiSafiState) XXX_Merge(src proto.Message) { - xxx_messageInfo_AfiSafiState.Merge(m, src) -} -func (m *AfiSafiState) XXX_Size() int { - return xxx_messageInfo_AfiSafiState.Size(m) -} -func (m *AfiSafiState) XXX_DiscardUnknown() { - xxx_messageInfo_AfiSafiState.DiscardUnknown(m) -} - -var xxx_messageInfo_AfiSafiState proto.InternalMessageInfo - -func (m *AfiSafiState) GetFamily() *Family { - if m != nil { - return m.Family +func (x *AfiSafiState) GetFamily() *Family { + if x != nil { + return x.Family } return nil } -func (m *AfiSafiState) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *AfiSafiState) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *AfiSafiState) GetReceived() uint64 { - if m != nil { - return m.Received +func (x *AfiSafiState) GetReceived() uint64 { + if x != nil { + return x.Received } return 0 } -func (m *AfiSafiState) GetAccepted() uint64 { - if m != nil { - return m.Accepted +func (x *AfiSafiState) GetAccepted() uint64 { + if x != nil { + return x.Accepted } return 0 } -func (m *AfiSafiState) GetAdvertised() uint64 { - if m != nil { - return m.Advertised +func (x *AfiSafiState) GetAdvertised() uint64 { + if x != nil { + return x.Advertised } return 0 } type RouteSelectionOptionsConfig struct { - AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"` - IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"` - ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"` - AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"` - EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"` - IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"` - DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"` + IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"` + ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"` + AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"` + EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"` + IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"` + DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"` } -func (m *RouteSelectionOptionsConfig) Reset() { *m = RouteSelectionOptionsConfig{} } -func (m *RouteSelectionOptionsConfig) String() string { return proto.CompactTextString(m) } -func (*RouteSelectionOptionsConfig) ProtoMessage() {} +func (x *RouteSelectionOptionsConfig) Reset() { + *x = RouteSelectionOptionsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteSelectionOptionsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteSelectionOptionsConfig) ProtoMessage() {} + +func (x *RouteSelectionOptionsConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[103] + 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 RouteSelectionOptionsConfig.ProtoReflect.Descriptor instead. func (*RouteSelectionOptionsConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{103} + return file_gobgp_proto_rawDescGZIP(), []int{103} } -func (m *RouteSelectionOptionsConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteSelectionOptionsConfig.Unmarshal(m, b) -} -func (m *RouteSelectionOptionsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteSelectionOptionsConfig.Marshal(b, m, deterministic) -} -func (m *RouteSelectionOptionsConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteSelectionOptionsConfig.Merge(m, src) -} -func (m *RouteSelectionOptionsConfig) XXX_Size() int { - return xxx_messageInfo_RouteSelectionOptionsConfig.Size(m) -} -func (m *RouteSelectionOptionsConfig) XXX_DiscardUnknown() { - xxx_messageInfo_RouteSelectionOptionsConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteSelectionOptionsConfig proto.InternalMessageInfo - -func (m *RouteSelectionOptionsConfig) GetAlwaysCompareMed() bool { - if m != nil { - return m.AlwaysCompareMed +func (x *RouteSelectionOptionsConfig) GetAlwaysCompareMed() bool { + if x != nil { + return x.AlwaysCompareMed } return false } -func (m *RouteSelectionOptionsConfig) GetIgnoreAsPathLength() bool { - if m != nil { - return m.IgnoreAsPathLength +func (x *RouteSelectionOptionsConfig) GetIgnoreAsPathLength() bool { + if x != nil { + return x.IgnoreAsPathLength } return false } -func (m *RouteSelectionOptionsConfig) GetExternalCompareRouterId() bool { - if m != nil { - return m.ExternalCompareRouterId +func (x *RouteSelectionOptionsConfig) GetExternalCompareRouterId() bool { + if x != nil { + return x.ExternalCompareRouterId } return false } -func (m *RouteSelectionOptionsConfig) GetAdvertiseInactiveRoutes() bool { - if m != nil { - return m.AdvertiseInactiveRoutes +func (x *RouteSelectionOptionsConfig) GetAdvertiseInactiveRoutes() bool { + if x != nil { + return x.AdvertiseInactiveRoutes } return false } -func (m *RouteSelectionOptionsConfig) GetEnableAigp() bool { - if m != nil { - return m.EnableAigp +func (x *RouteSelectionOptionsConfig) GetEnableAigp() bool { + if x != nil { + return x.EnableAigp } return false } -func (m *RouteSelectionOptionsConfig) GetIgnoreNextHopIgpMetric() bool { - if m != nil { - return m.IgnoreNextHopIgpMetric +func (x *RouteSelectionOptionsConfig) GetIgnoreNextHopIgpMetric() bool { + if x != nil { + return x.IgnoreNextHopIgpMetric } return false } -func (m *RouteSelectionOptionsConfig) GetDisableBestPathSelection() bool { - if m != nil { - return m.DisableBestPathSelection +func (x *RouteSelectionOptionsConfig) GetDisableBestPathSelection() bool { + if x != nil { + return x.DisableBestPathSelection } return false } type RouteSelectionOptionsState struct { - AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"` - IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"` - ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"` - AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"` - EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"` - IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"` - DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"` + IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"` + ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"` + AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"` + EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"` + IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"` + DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"` } -func (m *RouteSelectionOptionsState) Reset() { *m = RouteSelectionOptionsState{} } -func (m *RouteSelectionOptionsState) String() string { return proto.CompactTextString(m) } -func (*RouteSelectionOptionsState) ProtoMessage() {} +func (x *RouteSelectionOptionsState) Reset() { + *x = RouteSelectionOptionsState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteSelectionOptionsState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteSelectionOptionsState) ProtoMessage() {} + +func (x *RouteSelectionOptionsState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[104] + 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 RouteSelectionOptionsState.ProtoReflect.Descriptor instead. func (*RouteSelectionOptionsState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{104} + return file_gobgp_proto_rawDescGZIP(), []int{104} } -func (m *RouteSelectionOptionsState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteSelectionOptionsState.Unmarshal(m, b) -} -func (m *RouteSelectionOptionsState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteSelectionOptionsState.Marshal(b, m, deterministic) -} -func (m *RouteSelectionOptionsState) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteSelectionOptionsState.Merge(m, src) -} -func (m *RouteSelectionOptionsState) XXX_Size() int { - return xxx_messageInfo_RouteSelectionOptionsState.Size(m) -} -func (m *RouteSelectionOptionsState) XXX_DiscardUnknown() { - xxx_messageInfo_RouteSelectionOptionsState.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteSelectionOptionsState proto.InternalMessageInfo - -func (m *RouteSelectionOptionsState) GetAlwaysCompareMed() bool { - if m != nil { - return m.AlwaysCompareMed +func (x *RouteSelectionOptionsState) GetAlwaysCompareMed() bool { + if x != nil { + return x.AlwaysCompareMed } return false } -func (m *RouteSelectionOptionsState) GetIgnoreAsPathLength() bool { - if m != nil { - return m.IgnoreAsPathLength +func (x *RouteSelectionOptionsState) GetIgnoreAsPathLength() bool { + if x != nil { + return x.IgnoreAsPathLength } return false } -func (m *RouteSelectionOptionsState) GetExternalCompareRouterId() bool { - if m != nil { - return m.ExternalCompareRouterId +func (x *RouteSelectionOptionsState) GetExternalCompareRouterId() bool { + if x != nil { + return x.ExternalCompareRouterId } return false } -func (m *RouteSelectionOptionsState) GetAdvertiseInactiveRoutes() bool { - if m != nil { - return m.AdvertiseInactiveRoutes +func (x *RouteSelectionOptionsState) GetAdvertiseInactiveRoutes() bool { + if x != nil { + return x.AdvertiseInactiveRoutes } return false } -func (m *RouteSelectionOptionsState) GetEnableAigp() bool { - if m != nil { - return m.EnableAigp +func (x *RouteSelectionOptionsState) GetEnableAigp() bool { + if x != nil { + return x.EnableAigp } return false } -func (m *RouteSelectionOptionsState) GetIgnoreNextHopIgpMetric() bool { - if m != nil { - return m.IgnoreNextHopIgpMetric +func (x *RouteSelectionOptionsState) GetIgnoreNextHopIgpMetric() bool { + if x != nil { + return x.IgnoreNextHopIgpMetric } return false } -func (m *RouteSelectionOptionsState) GetDisableBestPathSelection() bool { - if m != nil { - return m.DisableBestPathSelection +func (x *RouteSelectionOptionsState) GetDisableBestPathSelection() bool { + if x != nil { + return x.DisableBestPathSelection } return false } type RouteSelectionOptions struct { - Config *RouteSelectionOptionsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *RouteSelectionOptionsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *RouteSelectionOptionsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *RouteSelectionOptionsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *RouteSelectionOptions) Reset() { *m = RouteSelectionOptions{} } -func (m *RouteSelectionOptions) String() string { return proto.CompactTextString(m) } -func (*RouteSelectionOptions) ProtoMessage() {} +func (x *RouteSelectionOptions) Reset() { + *x = RouteSelectionOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteSelectionOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteSelectionOptions) ProtoMessage() {} + +func (x *RouteSelectionOptions) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[105] + 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 RouteSelectionOptions.ProtoReflect.Descriptor instead. func (*RouteSelectionOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{105} + return file_gobgp_proto_rawDescGZIP(), []int{105} } -func (m *RouteSelectionOptions) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteSelectionOptions.Unmarshal(m, b) -} -func (m *RouteSelectionOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteSelectionOptions.Marshal(b, m, deterministic) -} -func (m *RouteSelectionOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteSelectionOptions.Merge(m, src) -} -func (m *RouteSelectionOptions) XXX_Size() int { - return xxx_messageInfo_RouteSelectionOptions.Size(m) -} -func (m *RouteSelectionOptions) XXX_DiscardUnknown() { - xxx_messageInfo_RouteSelectionOptions.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteSelectionOptions proto.InternalMessageInfo - -func (m *RouteSelectionOptions) GetConfig() *RouteSelectionOptionsConfig { - if m != nil { - return m.Config +func (x *RouteSelectionOptions) GetConfig() *RouteSelectionOptionsConfig { + if x != nil { + return x.Config } return nil } -func (m *RouteSelectionOptions) GetState() *RouteSelectionOptionsState { - if m != nil { - return m.State +func (x *RouteSelectionOptions) GetState() *RouteSelectionOptionsState { + if x != nil { + return x.State } return nil } type UseMultiplePathsConfig struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` } -func (m *UseMultiplePathsConfig) Reset() { *m = UseMultiplePathsConfig{} } -func (m *UseMultiplePathsConfig) String() string { return proto.CompactTextString(m) } -func (*UseMultiplePathsConfig) ProtoMessage() {} +func (x *UseMultiplePathsConfig) Reset() { + *x = UseMultiplePathsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UseMultiplePathsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UseMultiplePathsConfig) ProtoMessage() {} + +func (x *UseMultiplePathsConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[106] + 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 UseMultiplePathsConfig.ProtoReflect.Descriptor instead. func (*UseMultiplePathsConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{106} + return file_gobgp_proto_rawDescGZIP(), []int{106} } -func (m *UseMultiplePathsConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UseMultiplePathsConfig.Unmarshal(m, b) -} -func (m *UseMultiplePathsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UseMultiplePathsConfig.Marshal(b, m, deterministic) -} -func (m *UseMultiplePathsConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_UseMultiplePathsConfig.Merge(m, src) -} -func (m *UseMultiplePathsConfig) XXX_Size() int { - return xxx_messageInfo_UseMultiplePathsConfig.Size(m) -} -func (m *UseMultiplePathsConfig) XXX_DiscardUnknown() { - xxx_messageInfo_UseMultiplePathsConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_UseMultiplePathsConfig proto.InternalMessageInfo - -func (m *UseMultiplePathsConfig) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *UseMultiplePathsConfig) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } type UseMultiplePathsState struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` } -func (m *UseMultiplePathsState) Reset() { *m = UseMultiplePathsState{} } -func (m *UseMultiplePathsState) String() string { return proto.CompactTextString(m) } -func (*UseMultiplePathsState) ProtoMessage() {} +func (x *UseMultiplePathsState) Reset() { + *x = UseMultiplePathsState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UseMultiplePathsState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UseMultiplePathsState) ProtoMessage() {} + +func (x *UseMultiplePathsState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[107] + 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 UseMultiplePathsState.ProtoReflect.Descriptor instead. func (*UseMultiplePathsState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{107} + return file_gobgp_proto_rawDescGZIP(), []int{107} } -func (m *UseMultiplePathsState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UseMultiplePathsState.Unmarshal(m, b) -} -func (m *UseMultiplePathsState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UseMultiplePathsState.Marshal(b, m, deterministic) -} -func (m *UseMultiplePathsState) XXX_Merge(src proto.Message) { - xxx_messageInfo_UseMultiplePathsState.Merge(m, src) -} -func (m *UseMultiplePathsState) XXX_Size() int { - return xxx_messageInfo_UseMultiplePathsState.Size(m) -} -func (m *UseMultiplePathsState) XXX_DiscardUnknown() { - xxx_messageInfo_UseMultiplePathsState.DiscardUnknown(m) -} - -var xxx_messageInfo_UseMultiplePathsState proto.InternalMessageInfo - -func (m *UseMultiplePathsState) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *UseMultiplePathsState) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } type EbgpConfig struct { - AllowMultipleAs bool `protobuf:"varint,1,opt,name=allow_multiple_as,json=allowMultipleAs,proto3" json:"allow_multiple_as,omitempty"` - MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AllowMultipleAs bool `protobuf:"varint,1,opt,name=allow_multiple_as,json=allowMultipleAs,proto3" json:"allow_multiple_as,omitempty"` + MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` } -func (m *EbgpConfig) Reset() { *m = EbgpConfig{} } -func (m *EbgpConfig) String() string { return proto.CompactTextString(m) } -func (*EbgpConfig) ProtoMessage() {} +func (x *EbgpConfig) Reset() { + *x = EbgpConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EbgpConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EbgpConfig) ProtoMessage() {} + +func (x *EbgpConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[108] + 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 EbgpConfig.ProtoReflect.Descriptor instead. func (*EbgpConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{108} + return file_gobgp_proto_rawDescGZIP(), []int{108} } -func (m *EbgpConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EbgpConfig.Unmarshal(m, b) -} -func (m *EbgpConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EbgpConfig.Marshal(b, m, deterministic) -} -func (m *EbgpConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_EbgpConfig.Merge(m, src) -} -func (m *EbgpConfig) XXX_Size() int { - return xxx_messageInfo_EbgpConfig.Size(m) -} -func (m *EbgpConfig) XXX_DiscardUnknown() { - xxx_messageInfo_EbgpConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_EbgpConfig proto.InternalMessageInfo - -func (m *EbgpConfig) GetAllowMultipleAs() bool { - if m != nil { - return m.AllowMultipleAs +func (x *EbgpConfig) GetAllowMultipleAs() bool { + if x != nil { + return x.AllowMultipleAs } return false } -func (m *EbgpConfig) GetMaximumPaths() uint32 { - if m != nil { - return m.MaximumPaths +func (x *EbgpConfig) GetMaximumPaths() uint32 { + if x != nil { + return x.MaximumPaths } return 0 } type EbgpState struct { - AllowMultipleAs bool `protobuf:"varint,1,opt,name=allow_multiple_as,json=allowMultipleAs,proto3" json:"allow_multiple_as,omitempty"` - MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AllowMultipleAs bool `protobuf:"varint,1,opt,name=allow_multiple_as,json=allowMultipleAs,proto3" json:"allow_multiple_as,omitempty"` + MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` } -func (m *EbgpState) Reset() { *m = EbgpState{} } -func (m *EbgpState) String() string { return proto.CompactTextString(m) } -func (*EbgpState) ProtoMessage() {} +func (x *EbgpState) Reset() { + *x = EbgpState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EbgpState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EbgpState) ProtoMessage() {} + +func (x *EbgpState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[109] + 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 EbgpState.ProtoReflect.Descriptor instead. func (*EbgpState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{109} + return file_gobgp_proto_rawDescGZIP(), []int{109} } -func (m *EbgpState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EbgpState.Unmarshal(m, b) -} -func (m *EbgpState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EbgpState.Marshal(b, m, deterministic) -} -func (m *EbgpState) XXX_Merge(src proto.Message) { - xxx_messageInfo_EbgpState.Merge(m, src) -} -func (m *EbgpState) XXX_Size() int { - return xxx_messageInfo_EbgpState.Size(m) -} -func (m *EbgpState) XXX_DiscardUnknown() { - xxx_messageInfo_EbgpState.DiscardUnknown(m) -} - -var xxx_messageInfo_EbgpState proto.InternalMessageInfo - -func (m *EbgpState) GetAllowMultipleAs() bool { - if m != nil { - return m.AllowMultipleAs +func (x *EbgpState) GetAllowMultipleAs() bool { + if x != nil { + return x.AllowMultipleAs } return false } -func (m *EbgpState) GetMaximumPaths() uint32 { - if m != nil { - return m.MaximumPaths +func (x *EbgpState) GetMaximumPaths() uint32 { + if x != nil { + return x.MaximumPaths } return 0 } type Ebgp struct { - Config *EbgpConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *EbgpState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *EbgpConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *EbgpState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *Ebgp) Reset() { *m = Ebgp{} } -func (m *Ebgp) String() string { return proto.CompactTextString(m) } -func (*Ebgp) ProtoMessage() {} +func (x *Ebgp) Reset() { + *x = Ebgp{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ebgp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ebgp) ProtoMessage() {} + +func (x *Ebgp) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[110] + 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 Ebgp.ProtoReflect.Descriptor instead. func (*Ebgp) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{110} + return file_gobgp_proto_rawDescGZIP(), []int{110} } -func (m *Ebgp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Ebgp.Unmarshal(m, b) -} -func (m *Ebgp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Ebgp.Marshal(b, m, deterministic) -} -func (m *Ebgp) XXX_Merge(src proto.Message) { - xxx_messageInfo_Ebgp.Merge(m, src) -} -func (m *Ebgp) XXX_Size() int { - return xxx_messageInfo_Ebgp.Size(m) -} -func (m *Ebgp) XXX_DiscardUnknown() { - xxx_messageInfo_Ebgp.DiscardUnknown(m) -} - -var xxx_messageInfo_Ebgp proto.InternalMessageInfo - -func (m *Ebgp) GetConfig() *EbgpConfig { - if m != nil { - return m.Config +func (x *Ebgp) GetConfig() *EbgpConfig { + if x != nil { + return x.Config } return nil } -func (m *Ebgp) GetState() *EbgpState { - if m != nil { - return m.State +func (x *Ebgp) GetState() *EbgpState { + if x != nil { + return x.State } return nil } type IbgpConfig struct { - MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` } -func (m *IbgpConfig) Reset() { *m = IbgpConfig{} } -func (m *IbgpConfig) String() string { return proto.CompactTextString(m) } -func (*IbgpConfig) ProtoMessage() {} +func (x *IbgpConfig) Reset() { + *x = IbgpConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IbgpConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IbgpConfig) ProtoMessage() {} + +func (x *IbgpConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[111] + 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 IbgpConfig.ProtoReflect.Descriptor instead. func (*IbgpConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{111} + return file_gobgp_proto_rawDescGZIP(), []int{111} } -func (m *IbgpConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IbgpConfig.Unmarshal(m, b) -} -func (m *IbgpConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IbgpConfig.Marshal(b, m, deterministic) -} -func (m *IbgpConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_IbgpConfig.Merge(m, src) -} -func (m *IbgpConfig) XXX_Size() int { - return xxx_messageInfo_IbgpConfig.Size(m) -} -func (m *IbgpConfig) XXX_DiscardUnknown() { - xxx_messageInfo_IbgpConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_IbgpConfig proto.InternalMessageInfo - -func (m *IbgpConfig) GetMaximumPaths() uint32 { - if m != nil { - return m.MaximumPaths +func (x *IbgpConfig) GetMaximumPaths() uint32 { + if x != nil { + return x.MaximumPaths } return 0 } type IbgpState struct { - MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` } -func (m *IbgpState) Reset() { *m = IbgpState{} } -func (m *IbgpState) String() string { return proto.CompactTextString(m) } -func (*IbgpState) ProtoMessage() {} +func (x *IbgpState) Reset() { + *x = IbgpState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IbgpState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IbgpState) ProtoMessage() {} + +func (x *IbgpState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[112] + 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 IbgpState.ProtoReflect.Descriptor instead. func (*IbgpState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{112} + return file_gobgp_proto_rawDescGZIP(), []int{112} } -func (m *IbgpState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IbgpState.Unmarshal(m, b) -} -func (m *IbgpState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IbgpState.Marshal(b, m, deterministic) -} -func (m *IbgpState) XXX_Merge(src proto.Message) { - xxx_messageInfo_IbgpState.Merge(m, src) -} -func (m *IbgpState) XXX_Size() int { - return xxx_messageInfo_IbgpState.Size(m) -} -func (m *IbgpState) XXX_DiscardUnknown() { - xxx_messageInfo_IbgpState.DiscardUnknown(m) -} - -var xxx_messageInfo_IbgpState proto.InternalMessageInfo - -func (m *IbgpState) GetMaximumPaths() uint32 { - if m != nil { - return m.MaximumPaths +func (x *IbgpState) GetMaximumPaths() uint32 { + if x != nil { + return x.MaximumPaths } return 0 } type Ibgp struct { - Config *IbgpConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *IbgpState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *IbgpConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *IbgpState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *Ibgp) Reset() { *m = Ibgp{} } -func (m *Ibgp) String() string { return proto.CompactTextString(m) } -func (*Ibgp) ProtoMessage() {} +func (x *Ibgp) Reset() { + *x = Ibgp{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ibgp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ibgp) ProtoMessage() {} + +func (x *Ibgp) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[113] + 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 Ibgp.ProtoReflect.Descriptor instead. func (*Ibgp) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{113} + return file_gobgp_proto_rawDescGZIP(), []int{113} } -func (m *Ibgp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Ibgp.Unmarshal(m, b) -} -func (m *Ibgp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Ibgp.Marshal(b, m, deterministic) -} -func (m *Ibgp) XXX_Merge(src proto.Message) { - xxx_messageInfo_Ibgp.Merge(m, src) -} -func (m *Ibgp) XXX_Size() int { - return xxx_messageInfo_Ibgp.Size(m) -} -func (m *Ibgp) XXX_DiscardUnknown() { - xxx_messageInfo_Ibgp.DiscardUnknown(m) -} - -var xxx_messageInfo_Ibgp proto.InternalMessageInfo - -func (m *Ibgp) GetConfig() *IbgpConfig { - if m != nil { - return m.Config +func (x *Ibgp) GetConfig() *IbgpConfig { + if x != nil { + return x.Config } return nil } -func (m *Ibgp) GetState() *IbgpState { - if m != nil { - return m.State +func (x *Ibgp) GetState() *IbgpState { + if x != nil { + return x.State } return nil } type UseMultiplePaths struct { - Config *UseMultiplePathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *UseMultiplePathsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - Ebgp *Ebgp `protobuf:"bytes,3,opt,name=ebgp,proto3" json:"ebgp,omitempty"` - Ibgp *Ibgp `protobuf:"bytes,4,opt,name=ibgp,proto3" json:"ibgp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *UseMultiplePathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *UseMultiplePathsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + Ebgp *Ebgp `protobuf:"bytes,3,opt,name=ebgp,proto3" json:"ebgp,omitempty"` + Ibgp *Ibgp `protobuf:"bytes,4,opt,name=ibgp,proto3" json:"ibgp,omitempty"` } -func (m *UseMultiplePaths) Reset() { *m = UseMultiplePaths{} } -func (m *UseMultiplePaths) String() string { return proto.CompactTextString(m) } -func (*UseMultiplePaths) ProtoMessage() {} +func (x *UseMultiplePaths) Reset() { + *x = UseMultiplePaths{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UseMultiplePaths) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UseMultiplePaths) ProtoMessage() {} + +func (x *UseMultiplePaths) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[114] + 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 UseMultiplePaths.ProtoReflect.Descriptor instead. func (*UseMultiplePaths) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{114} + return file_gobgp_proto_rawDescGZIP(), []int{114} } -func (m *UseMultiplePaths) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UseMultiplePaths.Unmarshal(m, b) -} -func (m *UseMultiplePaths) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UseMultiplePaths.Marshal(b, m, deterministic) -} -func (m *UseMultiplePaths) XXX_Merge(src proto.Message) { - xxx_messageInfo_UseMultiplePaths.Merge(m, src) -} -func (m *UseMultiplePaths) XXX_Size() int { - return xxx_messageInfo_UseMultiplePaths.Size(m) -} -func (m *UseMultiplePaths) XXX_DiscardUnknown() { - xxx_messageInfo_UseMultiplePaths.DiscardUnknown(m) -} - -var xxx_messageInfo_UseMultiplePaths proto.InternalMessageInfo - -func (m *UseMultiplePaths) GetConfig() *UseMultiplePathsConfig { - if m != nil { - return m.Config +func (x *UseMultiplePaths) GetConfig() *UseMultiplePathsConfig { + if x != nil { + return x.Config } return nil } -func (m *UseMultiplePaths) GetState() *UseMultiplePathsState { - if m != nil { - return m.State +func (x *UseMultiplePaths) GetState() *UseMultiplePathsState { + if x != nil { + return x.State } return nil } -func (m *UseMultiplePaths) GetEbgp() *Ebgp { - if m != nil { - return m.Ebgp +func (x *UseMultiplePaths) GetEbgp() *Ebgp { + if x != nil { + return x.Ebgp } return nil } -func (m *UseMultiplePaths) GetIbgp() *Ibgp { - if m != nil { - return m.Ibgp +func (x *UseMultiplePaths) GetIbgp() *Ibgp { + if x != nil { + return x.Ibgp } return nil } type RouteTargetMembershipConfig struct { - DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` } -func (m *RouteTargetMembershipConfig) Reset() { *m = RouteTargetMembershipConfig{} } -func (m *RouteTargetMembershipConfig) String() string { return proto.CompactTextString(m) } -func (*RouteTargetMembershipConfig) ProtoMessage() {} +func (x *RouteTargetMembershipConfig) Reset() { + *x = RouteTargetMembershipConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTargetMembershipConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTargetMembershipConfig) ProtoMessage() {} + +func (x *RouteTargetMembershipConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[115] + 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 RouteTargetMembershipConfig.ProtoReflect.Descriptor instead. func (*RouteTargetMembershipConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{115} + return file_gobgp_proto_rawDescGZIP(), []int{115} } -func (m *RouteTargetMembershipConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteTargetMembershipConfig.Unmarshal(m, b) -} -func (m *RouteTargetMembershipConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteTargetMembershipConfig.Marshal(b, m, deterministic) -} -func (m *RouteTargetMembershipConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteTargetMembershipConfig.Merge(m, src) -} -func (m *RouteTargetMembershipConfig) XXX_Size() int { - return xxx_messageInfo_RouteTargetMembershipConfig.Size(m) -} -func (m *RouteTargetMembershipConfig) XXX_DiscardUnknown() { - xxx_messageInfo_RouteTargetMembershipConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteTargetMembershipConfig proto.InternalMessageInfo - -func (m *RouteTargetMembershipConfig) GetDeferralTime() uint32 { - if m != nil { - return m.DeferralTime +func (x *RouteTargetMembershipConfig) GetDeferralTime() uint32 { + if x != nil { + return x.DeferralTime } return 0 } type RouteTargetMembershipState struct { - DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` } -func (m *RouteTargetMembershipState) Reset() { *m = RouteTargetMembershipState{} } -func (m *RouteTargetMembershipState) String() string { return proto.CompactTextString(m) } -func (*RouteTargetMembershipState) ProtoMessage() {} +func (x *RouteTargetMembershipState) Reset() { + *x = RouteTargetMembershipState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTargetMembershipState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTargetMembershipState) ProtoMessage() {} + +func (x *RouteTargetMembershipState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[116] + 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 RouteTargetMembershipState.ProtoReflect.Descriptor instead. func (*RouteTargetMembershipState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{116} + return file_gobgp_proto_rawDescGZIP(), []int{116} } -func (m *RouteTargetMembershipState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteTargetMembershipState.Unmarshal(m, b) -} -func (m *RouteTargetMembershipState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteTargetMembershipState.Marshal(b, m, deterministic) -} -func (m *RouteTargetMembershipState) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteTargetMembershipState.Merge(m, src) -} -func (m *RouteTargetMembershipState) XXX_Size() int { - return xxx_messageInfo_RouteTargetMembershipState.Size(m) -} -func (m *RouteTargetMembershipState) XXX_DiscardUnknown() { - xxx_messageInfo_RouteTargetMembershipState.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteTargetMembershipState proto.InternalMessageInfo - -func (m *RouteTargetMembershipState) GetDeferralTime() uint32 { - if m != nil { - return m.DeferralTime +func (x *RouteTargetMembershipState) GetDeferralTime() uint32 { + if x != nil { + return x.DeferralTime } return 0 } type RouteTargetMembership struct { - Config *RouteTargetMembershipConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *RouteTargetMembershipState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *RouteTargetMembershipConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *RouteTargetMembershipState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *RouteTargetMembership) Reset() { *m = RouteTargetMembership{} } -func (m *RouteTargetMembership) String() string { return proto.CompactTextString(m) } -func (*RouteTargetMembership) ProtoMessage() {} +func (x *RouteTargetMembership) Reset() { + *x = RouteTargetMembership{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RouteTargetMembership) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteTargetMembership) ProtoMessage() {} + +func (x *RouteTargetMembership) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[117] + 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 RouteTargetMembership.ProtoReflect.Descriptor instead. func (*RouteTargetMembership) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{117} + return file_gobgp_proto_rawDescGZIP(), []int{117} } -func (m *RouteTargetMembership) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RouteTargetMembership.Unmarshal(m, b) -} -func (m *RouteTargetMembership) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RouteTargetMembership.Marshal(b, m, deterministic) -} -func (m *RouteTargetMembership) XXX_Merge(src proto.Message) { - xxx_messageInfo_RouteTargetMembership.Merge(m, src) -} -func (m *RouteTargetMembership) XXX_Size() int { - return xxx_messageInfo_RouteTargetMembership.Size(m) -} -func (m *RouteTargetMembership) XXX_DiscardUnknown() { - xxx_messageInfo_RouteTargetMembership.DiscardUnknown(m) -} - -var xxx_messageInfo_RouteTargetMembership proto.InternalMessageInfo - -func (m *RouteTargetMembership) GetConfig() *RouteTargetMembershipConfig { - if m != nil { - return m.Config +func (x *RouteTargetMembership) GetConfig() *RouteTargetMembershipConfig { + if x != nil { + return x.Config } return nil } -func (m *RouteTargetMembership) GetState() *RouteTargetMembershipState { - if m != nil { - return m.State +func (x *RouteTargetMembership) GetState() *RouteTargetMembershipState { + if x != nil { + return x.State } return nil } type LongLivedGracefulRestartConfig struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` } -func (m *LongLivedGracefulRestartConfig) Reset() { *m = LongLivedGracefulRestartConfig{} } -func (m *LongLivedGracefulRestartConfig) String() string { return proto.CompactTextString(m) } -func (*LongLivedGracefulRestartConfig) ProtoMessage() {} +func (x *LongLivedGracefulRestartConfig) Reset() { + *x = LongLivedGracefulRestartConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LongLivedGracefulRestartConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LongLivedGracefulRestartConfig) ProtoMessage() {} + +func (x *LongLivedGracefulRestartConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[118] + 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 LongLivedGracefulRestartConfig.ProtoReflect.Descriptor instead. func (*LongLivedGracefulRestartConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{118} + return file_gobgp_proto_rawDescGZIP(), []int{118} } -func (m *LongLivedGracefulRestartConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LongLivedGracefulRestartConfig.Unmarshal(m, b) -} -func (m *LongLivedGracefulRestartConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LongLivedGracefulRestartConfig.Marshal(b, m, deterministic) -} -func (m *LongLivedGracefulRestartConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_LongLivedGracefulRestartConfig.Merge(m, src) -} -func (m *LongLivedGracefulRestartConfig) XXX_Size() int { - return xxx_messageInfo_LongLivedGracefulRestartConfig.Size(m) -} -func (m *LongLivedGracefulRestartConfig) XXX_DiscardUnknown() { - xxx_messageInfo_LongLivedGracefulRestartConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_LongLivedGracefulRestartConfig proto.InternalMessageInfo - -func (m *LongLivedGracefulRestartConfig) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *LongLivedGracefulRestartConfig) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *LongLivedGracefulRestartConfig) GetRestartTime() uint32 { - if m != nil { - return m.RestartTime +func (x *LongLivedGracefulRestartConfig) GetRestartTime() uint32 { + if x != nil { + return x.RestartTime } return 0 } type LongLivedGracefulRestartState struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Received bool `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"` - Advertised bool `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"` - PeerRestartTime uint32 `protobuf:"varint,4,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"` - PeerRestartTimerExpired bool `protobuf:"varint,5,opt,name=peer_restart_timer_expired,json=peerRestartTimerExpired,proto3" json:"peer_restart_timer_expired,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Received bool `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"` + Advertised bool `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"` + PeerRestartTime uint32 `protobuf:"varint,4,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"` + PeerRestartTimerExpired bool `protobuf:"varint,5,opt,name=peer_restart_timer_expired,json=peerRestartTimerExpired,proto3" json:"peer_restart_timer_expired,omitempty"` } -func (m *LongLivedGracefulRestartState) Reset() { *m = LongLivedGracefulRestartState{} } -func (m *LongLivedGracefulRestartState) String() string { return proto.CompactTextString(m) } -func (*LongLivedGracefulRestartState) ProtoMessage() {} +func (x *LongLivedGracefulRestartState) Reset() { + *x = LongLivedGracefulRestartState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LongLivedGracefulRestartState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LongLivedGracefulRestartState) ProtoMessage() {} + +func (x *LongLivedGracefulRestartState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[119] + 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 LongLivedGracefulRestartState.ProtoReflect.Descriptor instead. func (*LongLivedGracefulRestartState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{119} + return file_gobgp_proto_rawDescGZIP(), []int{119} } -func (m *LongLivedGracefulRestartState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LongLivedGracefulRestartState.Unmarshal(m, b) -} -func (m *LongLivedGracefulRestartState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LongLivedGracefulRestartState.Marshal(b, m, deterministic) -} -func (m *LongLivedGracefulRestartState) XXX_Merge(src proto.Message) { - xxx_messageInfo_LongLivedGracefulRestartState.Merge(m, src) -} -func (m *LongLivedGracefulRestartState) XXX_Size() int { - return xxx_messageInfo_LongLivedGracefulRestartState.Size(m) -} -func (m *LongLivedGracefulRestartState) XXX_DiscardUnknown() { - xxx_messageInfo_LongLivedGracefulRestartState.DiscardUnknown(m) -} - -var xxx_messageInfo_LongLivedGracefulRestartState proto.InternalMessageInfo - -func (m *LongLivedGracefulRestartState) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *LongLivedGracefulRestartState) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *LongLivedGracefulRestartState) GetReceived() bool { - if m != nil { - return m.Received +func (x *LongLivedGracefulRestartState) GetReceived() bool { + if x != nil { + return x.Received } return false } -func (m *LongLivedGracefulRestartState) GetAdvertised() bool { - if m != nil { - return m.Advertised +func (x *LongLivedGracefulRestartState) GetAdvertised() bool { + if x != nil { + return x.Advertised } return false } -func (m *LongLivedGracefulRestartState) GetPeerRestartTime() uint32 { - if m != nil { - return m.PeerRestartTime +func (x *LongLivedGracefulRestartState) GetPeerRestartTime() uint32 { + if x != nil { + return x.PeerRestartTime } return 0 } -func (m *LongLivedGracefulRestartState) GetPeerRestartTimerExpired() bool { - if m != nil { - return m.PeerRestartTimerExpired +func (x *LongLivedGracefulRestartState) GetPeerRestartTimerExpired() bool { + if x != nil { + return x.PeerRestartTimerExpired } return false } type LongLivedGracefulRestart struct { - Config *LongLivedGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *LongLivedGracefulRestartState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *LongLivedGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *LongLivedGracefulRestartState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *LongLivedGracefulRestart) Reset() { *m = LongLivedGracefulRestart{} } -func (m *LongLivedGracefulRestart) String() string { return proto.CompactTextString(m) } -func (*LongLivedGracefulRestart) ProtoMessage() {} +func (x *LongLivedGracefulRestart) Reset() { + *x = LongLivedGracefulRestart{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LongLivedGracefulRestart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LongLivedGracefulRestart) ProtoMessage() {} + +func (x *LongLivedGracefulRestart) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[120] + 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 LongLivedGracefulRestart.ProtoReflect.Descriptor instead. func (*LongLivedGracefulRestart) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{120} + return file_gobgp_proto_rawDescGZIP(), []int{120} } -func (m *LongLivedGracefulRestart) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LongLivedGracefulRestart.Unmarshal(m, b) -} -func (m *LongLivedGracefulRestart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LongLivedGracefulRestart.Marshal(b, m, deterministic) -} -func (m *LongLivedGracefulRestart) XXX_Merge(src proto.Message) { - xxx_messageInfo_LongLivedGracefulRestart.Merge(m, src) -} -func (m *LongLivedGracefulRestart) XXX_Size() int { - return xxx_messageInfo_LongLivedGracefulRestart.Size(m) -} -func (m *LongLivedGracefulRestart) XXX_DiscardUnknown() { - xxx_messageInfo_LongLivedGracefulRestart.DiscardUnknown(m) -} - -var xxx_messageInfo_LongLivedGracefulRestart proto.InternalMessageInfo - -func (m *LongLivedGracefulRestart) GetConfig() *LongLivedGracefulRestartConfig { - if m != nil { - return m.Config +func (x *LongLivedGracefulRestart) GetConfig() *LongLivedGracefulRestartConfig { + if x != nil { + return x.Config } return nil } -func (m *LongLivedGracefulRestart) GetState() *LongLivedGracefulRestartState { - if m != nil { - return m.State +func (x *LongLivedGracefulRestart) GetState() *LongLivedGracefulRestartState { + if x != nil { + return x.State } return nil } type AfiSafi struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + MpGracefulRestart *MpGracefulRestart `protobuf:"bytes,1,opt,name=mp_graceful_restart,json=mpGracefulRestart,proto3" json:"mp_graceful_restart,omitempty"` Config *AfiSafiConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` State *AfiSafiState `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` @@ -7493,1330 +8962,1506 @@ type AfiSafi struct { RouteTargetMembership *RouteTargetMembership `protobuf:"bytes,8,opt,name=route_target_membership,json=routeTargetMembership,proto3" json:"route_target_membership,omitempty"` LongLivedGracefulRestart *LongLivedGracefulRestart `protobuf:"bytes,9,opt,name=long_lived_graceful_restart,json=longLivedGracefulRestart,proto3" json:"long_lived_graceful_restart,omitempty"` AddPaths *AddPaths `protobuf:"bytes,10,opt,name=add_paths,json=addPaths,proto3" json:"add_paths,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *AfiSafi) Reset() { *m = AfiSafi{} } -func (m *AfiSafi) String() string { return proto.CompactTextString(m) } -func (*AfiSafi) ProtoMessage() {} +func (x *AfiSafi) Reset() { + *x = AfiSafi{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AfiSafi) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AfiSafi) ProtoMessage() {} + +func (x *AfiSafi) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[121] + 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 AfiSafi.ProtoReflect.Descriptor instead. func (*AfiSafi) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{121} + return file_gobgp_proto_rawDescGZIP(), []int{121} } -func (m *AfiSafi) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AfiSafi.Unmarshal(m, b) -} -func (m *AfiSafi) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AfiSafi.Marshal(b, m, deterministic) -} -func (m *AfiSafi) XXX_Merge(src proto.Message) { - xxx_messageInfo_AfiSafi.Merge(m, src) -} -func (m *AfiSafi) XXX_Size() int { - return xxx_messageInfo_AfiSafi.Size(m) -} -func (m *AfiSafi) XXX_DiscardUnknown() { - xxx_messageInfo_AfiSafi.DiscardUnknown(m) -} - -var xxx_messageInfo_AfiSafi proto.InternalMessageInfo - -func (m *AfiSafi) GetMpGracefulRestart() *MpGracefulRestart { - if m != nil { - return m.MpGracefulRestart +func (x *AfiSafi) GetMpGracefulRestart() *MpGracefulRestart { + if x != nil { + return x.MpGracefulRestart } return nil } -func (m *AfiSafi) GetConfig() *AfiSafiConfig { - if m != nil { - return m.Config +func (x *AfiSafi) GetConfig() *AfiSafiConfig { + if x != nil { + return x.Config } return nil } -func (m *AfiSafi) GetState() *AfiSafiState { - if m != nil { - return m.State +func (x *AfiSafi) GetState() *AfiSafiState { + if x != nil { + return x.State } return nil } -func (m *AfiSafi) GetApplyPolicy() *ApplyPolicy { - if m != nil { - return m.ApplyPolicy +func (x *AfiSafi) GetApplyPolicy() *ApplyPolicy { + if x != nil { + return x.ApplyPolicy } return nil } -func (m *AfiSafi) GetRouteSelectionOptions() *RouteSelectionOptions { - if m != nil { - return m.RouteSelectionOptions +func (x *AfiSafi) GetRouteSelectionOptions() *RouteSelectionOptions { + if x != nil { + return x.RouteSelectionOptions } return nil } -func (m *AfiSafi) GetUseMultiplePaths() *UseMultiplePaths { - if m != nil { - return m.UseMultiplePaths +func (x *AfiSafi) GetUseMultiplePaths() *UseMultiplePaths { + if x != nil { + return x.UseMultiplePaths } return nil } -func (m *AfiSafi) GetPrefixLimits() *PrefixLimit { - if m != nil { - return m.PrefixLimits +func (x *AfiSafi) GetPrefixLimits() *PrefixLimit { + if x != nil { + return x.PrefixLimits } return nil } -func (m *AfiSafi) GetRouteTargetMembership() *RouteTargetMembership { - if m != nil { - return m.RouteTargetMembership +func (x *AfiSafi) GetRouteTargetMembership() *RouteTargetMembership { + if x != nil { + return x.RouteTargetMembership } return nil } -func (m *AfiSafi) GetLongLivedGracefulRestart() *LongLivedGracefulRestart { - if m != nil { - return m.LongLivedGracefulRestart +func (x *AfiSafi) GetLongLivedGracefulRestart() *LongLivedGracefulRestart { + if x != nil { + return x.LongLivedGracefulRestart } return nil } -func (m *AfiSafi) GetAddPaths() *AddPaths { - if m != nil { - return m.AddPaths +func (x *AfiSafi) GetAddPaths() *AddPaths { + if x != nil { + return x.AddPaths } return nil } type AddPathsConfig struct { - Receive bool `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"` - SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Receive bool `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"` + SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"` } -func (m *AddPathsConfig) Reset() { *m = AddPathsConfig{} } -func (m *AddPathsConfig) String() string { return proto.CompactTextString(m) } -func (*AddPathsConfig) ProtoMessage() {} +func (x *AddPathsConfig) Reset() { + *x = AddPathsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathsConfig) ProtoMessage() {} + +func (x *AddPathsConfig) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[122] + 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 AddPathsConfig.ProtoReflect.Descriptor instead. func (*AddPathsConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{122} + return file_gobgp_proto_rawDescGZIP(), []int{122} } -func (m *AddPathsConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathsConfig.Unmarshal(m, b) -} -func (m *AddPathsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathsConfig.Marshal(b, m, deterministic) -} -func (m *AddPathsConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathsConfig.Merge(m, src) -} -func (m *AddPathsConfig) XXX_Size() int { - return xxx_messageInfo_AddPathsConfig.Size(m) -} -func (m *AddPathsConfig) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathsConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathsConfig proto.InternalMessageInfo - -func (m *AddPathsConfig) GetReceive() bool { - if m != nil { - return m.Receive +func (x *AddPathsConfig) GetReceive() bool { + if x != nil { + return x.Receive } return false } -func (m *AddPathsConfig) GetSendMax() uint32 { - if m != nil { - return m.SendMax +func (x *AddPathsConfig) GetSendMax() uint32 { + if x != nil { + return x.SendMax } return 0 } type AddPathsState struct { - Receive bool `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"` - SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Receive bool `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"` + SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"` } -func (m *AddPathsState) Reset() { *m = AddPathsState{} } -func (m *AddPathsState) String() string { return proto.CompactTextString(m) } -func (*AddPathsState) ProtoMessage() {} +func (x *AddPathsState) Reset() { + *x = AddPathsState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPathsState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPathsState) ProtoMessage() {} + +func (x *AddPathsState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[123] + 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 AddPathsState.ProtoReflect.Descriptor instead. func (*AddPathsState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{123} + return file_gobgp_proto_rawDescGZIP(), []int{123} } -func (m *AddPathsState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPathsState.Unmarshal(m, b) -} -func (m *AddPathsState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPathsState.Marshal(b, m, deterministic) -} -func (m *AddPathsState) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPathsState.Merge(m, src) -} -func (m *AddPathsState) XXX_Size() int { - return xxx_messageInfo_AddPathsState.Size(m) -} -func (m *AddPathsState) XXX_DiscardUnknown() { - xxx_messageInfo_AddPathsState.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPathsState proto.InternalMessageInfo - -func (m *AddPathsState) GetReceive() bool { - if m != nil { - return m.Receive +func (x *AddPathsState) GetReceive() bool { + if x != nil { + return x.Receive } return false } -func (m *AddPathsState) GetSendMax() uint32 { - if m != nil { - return m.SendMax +func (x *AddPathsState) GetSendMax() uint32 { + if x != nil { + return x.SendMax } return 0 } type AddPaths struct { - Config *AddPathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` - State *AddPathsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *AddPathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + State *AddPathsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *AddPaths) Reset() { *m = AddPaths{} } -func (m *AddPaths) String() string { return proto.CompactTextString(m) } -func (*AddPaths) ProtoMessage() {} +func (x *AddPaths) Reset() { + *x = AddPaths{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddPaths) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddPaths) ProtoMessage() {} + +func (x *AddPaths) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[124] + 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 AddPaths.ProtoReflect.Descriptor instead. func (*AddPaths) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{124} + return file_gobgp_proto_rawDescGZIP(), []int{124} } -func (m *AddPaths) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddPaths.Unmarshal(m, b) -} -func (m *AddPaths) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddPaths.Marshal(b, m, deterministic) -} -func (m *AddPaths) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddPaths.Merge(m, src) -} -func (m *AddPaths) XXX_Size() int { - return xxx_messageInfo_AddPaths.Size(m) -} -func (m *AddPaths) XXX_DiscardUnknown() { - xxx_messageInfo_AddPaths.DiscardUnknown(m) -} - -var xxx_messageInfo_AddPaths proto.InternalMessageInfo - -func (m *AddPaths) GetConfig() *AddPathsConfig { - if m != nil { - return m.Config +func (x *AddPaths) GetConfig() *AddPathsConfig { + if x != nil { + return x.Config } return nil } -func (m *AddPaths) GetState() *AddPathsState { - if m != nil { - return m.State +func (x *AddPaths) GetState() *AddPathsState { + if x != nil { + return x.State } return nil } type Prefix struct { - IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"` - MaskLengthMin uint32 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin,proto3" json:"mask_length_min,omitempty"` - MaskLengthMax uint32 `protobuf:"varint,3,opt,name=mask_length_max,json=maskLengthMax,proto3" json:"mask_length_max,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"` + MaskLengthMin uint32 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin,proto3" json:"mask_length_min,omitempty"` + MaskLengthMax uint32 `protobuf:"varint,3,opt,name=mask_length_max,json=maskLengthMax,proto3" json:"mask_length_max,omitempty"` } -func (m *Prefix) Reset() { *m = Prefix{} } -func (m *Prefix) String() string { return proto.CompactTextString(m) } -func (*Prefix) ProtoMessage() {} +func (x *Prefix) Reset() { + *x = Prefix{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Prefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Prefix) ProtoMessage() {} + +func (x *Prefix) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[125] + 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 Prefix.ProtoReflect.Descriptor instead. func (*Prefix) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{125} + return file_gobgp_proto_rawDescGZIP(), []int{125} } -func (m *Prefix) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Prefix.Unmarshal(m, b) -} -func (m *Prefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Prefix.Marshal(b, m, deterministic) -} -func (m *Prefix) XXX_Merge(src proto.Message) { - xxx_messageInfo_Prefix.Merge(m, src) -} -func (m *Prefix) XXX_Size() int { - return xxx_messageInfo_Prefix.Size(m) -} -func (m *Prefix) XXX_DiscardUnknown() { - xxx_messageInfo_Prefix.DiscardUnknown(m) -} - -var xxx_messageInfo_Prefix proto.InternalMessageInfo - -func (m *Prefix) GetIpPrefix() string { - if m != nil { - return m.IpPrefix +func (x *Prefix) GetIpPrefix() string { + if x != nil { + return x.IpPrefix } return "" } -func (m *Prefix) GetMaskLengthMin() uint32 { - if m != nil { - return m.MaskLengthMin +func (x *Prefix) GetMaskLengthMin() uint32 { + if x != nil { + return x.MaskLengthMin } return 0 } -func (m *Prefix) GetMaskLengthMax() uint32 { - if m != nil { - return m.MaskLengthMax +func (x *Prefix) GetMaskLengthMax() uint32 { + if x != nil { + return x.MaskLengthMax } return 0 } type DefinedSet struct { - DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=gobgpapi.DefinedType" json:"defined_type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - List []string `protobuf:"bytes,3,rep,name=list,proto3" json:"list,omitempty"` - Prefixes []*Prefix `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=apipb.DefinedType" json:"defined_type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + List []string `protobuf:"bytes,3,rep,name=list,proto3" json:"list,omitempty"` + Prefixes []*Prefix `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"` } -func (m *DefinedSet) Reset() { *m = DefinedSet{} } -func (m *DefinedSet) String() string { return proto.CompactTextString(m) } -func (*DefinedSet) ProtoMessage() {} +func (x *DefinedSet) Reset() { + *x = DefinedSet{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DefinedSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DefinedSet) ProtoMessage() {} + +func (x *DefinedSet) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[126] + 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 DefinedSet.ProtoReflect.Descriptor instead. func (*DefinedSet) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{126} + return file_gobgp_proto_rawDescGZIP(), []int{126} } -func (m *DefinedSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DefinedSet.Unmarshal(m, b) -} -func (m *DefinedSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DefinedSet.Marshal(b, m, deterministic) -} -func (m *DefinedSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_DefinedSet.Merge(m, src) -} -func (m *DefinedSet) XXX_Size() int { - return xxx_messageInfo_DefinedSet.Size(m) -} -func (m *DefinedSet) XXX_DiscardUnknown() { - xxx_messageInfo_DefinedSet.DiscardUnknown(m) -} - -var xxx_messageInfo_DefinedSet proto.InternalMessageInfo - -func (m *DefinedSet) GetDefinedType() DefinedType { - if m != nil { - return m.DefinedType +func (x *DefinedSet) GetDefinedType() DefinedType { + if x != nil { + return x.DefinedType } return DefinedType_PREFIX } -func (m *DefinedSet) GetName() string { - if m != nil { - return m.Name +func (x *DefinedSet) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *DefinedSet) GetList() []string { - if m != nil { - return m.List +func (x *DefinedSet) GetList() []string { + if x != nil { + return x.List } return nil } -func (m *DefinedSet) GetPrefixes() []*Prefix { - if m != nil { - return m.Prefixes +func (x *DefinedSet) GetPrefixes() []*Prefix { + if x != nil { + return x.Prefixes } return nil } type MatchSet struct { - MatchType MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=gobgpapi.MatchType" json:"match_type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MatchType MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=apipb.MatchType" json:"match_type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (m *MatchSet) Reset() { *m = MatchSet{} } -func (m *MatchSet) String() string { return proto.CompactTextString(m) } -func (*MatchSet) ProtoMessage() {} +func (x *MatchSet) Reset() { + *x = MatchSet{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchSet) ProtoMessage() {} + +func (x *MatchSet) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[127] + 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 MatchSet.ProtoReflect.Descriptor instead. func (*MatchSet) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{127} + return file_gobgp_proto_rawDescGZIP(), []int{127} } -func (m *MatchSet) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MatchSet.Unmarshal(m, b) -} -func (m *MatchSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MatchSet.Marshal(b, m, deterministic) -} -func (m *MatchSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MatchSet.Merge(m, src) -} -func (m *MatchSet) XXX_Size() int { - return xxx_messageInfo_MatchSet.Size(m) -} -func (m *MatchSet) XXX_DiscardUnknown() { - xxx_messageInfo_MatchSet.DiscardUnknown(m) -} - -var xxx_messageInfo_MatchSet proto.InternalMessageInfo - -func (m *MatchSet) GetMatchType() MatchType { - if m != nil { - return m.MatchType +func (x *MatchSet) GetMatchType() MatchType { + if x != nil { + return x.MatchType } return MatchType_ANY } -func (m *MatchSet) GetName() string { - if m != nil { - return m.Name +func (x *MatchSet) GetName() string { + if x != nil { + return x.Name } return "" } type AsPathLength struct { - LengthType AsPathLengthType `protobuf:"varint,1,opt,name=length_type,json=lengthType,proto3,enum=gobgpapi.AsPathLengthType" json:"length_type,omitempty"` - Length uint32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LengthType AsPathLengthType `protobuf:"varint,1,opt,name=length_type,json=lengthType,proto3,enum=apipb.AsPathLengthType" json:"length_type,omitempty"` + Length uint32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"` } -func (m *AsPathLength) Reset() { *m = AsPathLength{} } -func (m *AsPathLength) String() string { return proto.CompactTextString(m) } -func (*AsPathLength) ProtoMessage() {} +func (x *AsPathLength) Reset() { + *x = AsPathLength{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AsPathLength) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AsPathLength) ProtoMessage() {} + +func (x *AsPathLength) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[128] + 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 AsPathLength.ProtoReflect.Descriptor instead. func (*AsPathLength) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{128} + return file_gobgp_proto_rawDescGZIP(), []int{128} } -func (m *AsPathLength) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AsPathLength.Unmarshal(m, b) -} -func (m *AsPathLength) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AsPathLength.Marshal(b, m, deterministic) -} -func (m *AsPathLength) XXX_Merge(src proto.Message) { - xxx_messageInfo_AsPathLength.Merge(m, src) -} -func (m *AsPathLength) XXX_Size() int { - return xxx_messageInfo_AsPathLength.Size(m) -} -func (m *AsPathLength) XXX_DiscardUnknown() { - xxx_messageInfo_AsPathLength.DiscardUnknown(m) -} - -var xxx_messageInfo_AsPathLength proto.InternalMessageInfo - -func (m *AsPathLength) GetLengthType() AsPathLengthType { - if m != nil { - return m.LengthType +func (x *AsPathLength) GetLengthType() AsPathLengthType { + if x != nil { + return x.LengthType } return AsPathLengthType_EQ } -func (m *AsPathLength) GetLength() uint32 { - if m != nil { - return m.Length +func (x *AsPathLength) GetLength() uint32 { + if x != nil { + return x.Length } return 0 } type Conditions struct { - PrefixSet *MatchSet `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet,proto3" json:"prefix_set,omitempty"` - NeighborSet *MatchSet `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet,proto3" json:"neighbor_set,omitempty"` - AsPathLength *AsPathLength `protobuf:"bytes,3,opt,name=as_path_length,json=asPathLength,proto3" json:"as_path_length,omitempty"` - AsPathSet *MatchSet `protobuf:"bytes,4,opt,name=as_path_set,json=asPathSet,proto3" json:"as_path_set,omitempty"` - CommunitySet *MatchSet `protobuf:"bytes,5,opt,name=community_set,json=communitySet,proto3" json:"community_set,omitempty"` - ExtCommunitySet *MatchSet `protobuf:"bytes,6,opt,name=ext_community_set,json=extCommunitySet,proto3" json:"ext_community_set,omitempty"` - RpkiResult int32 `protobuf:"varint,7,opt,name=rpki_result,json=rpkiResult,proto3" json:"rpki_result,omitempty"` - RouteType Conditions_RouteType `protobuf:"varint,8,opt,name=route_type,json=routeType,proto3,enum=gobgpapi.Conditions_RouteType" json:"route_type,omitempty"` - LargeCommunitySet *MatchSet `protobuf:"bytes,9,opt,name=large_community_set,json=largeCommunitySet,proto3" json:"large_community_set,omitempty"` - NextHopInList []string `protobuf:"bytes,10,rep,name=next_hop_in_list,json=nextHopInList,proto3" json:"next_hop_in_list,omitempty"` - AfiSafiIn []*Family `protobuf:"bytes,11,rep,name=afi_safi_in,json=afiSafiIn,proto3" json:"afi_safi_in,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixSet *MatchSet `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet,proto3" json:"prefix_set,omitempty"` + NeighborSet *MatchSet `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet,proto3" json:"neighbor_set,omitempty"` + AsPathLength *AsPathLength `protobuf:"bytes,3,opt,name=as_path_length,json=asPathLength,proto3" json:"as_path_length,omitempty"` + AsPathSet *MatchSet `protobuf:"bytes,4,opt,name=as_path_set,json=asPathSet,proto3" json:"as_path_set,omitempty"` + CommunitySet *MatchSet `protobuf:"bytes,5,opt,name=community_set,json=communitySet,proto3" json:"community_set,omitempty"` + ExtCommunitySet *MatchSet `protobuf:"bytes,6,opt,name=ext_community_set,json=extCommunitySet,proto3" json:"ext_community_set,omitempty"` + RpkiResult int32 `protobuf:"varint,7,opt,name=rpki_result,json=rpkiResult,proto3" json:"rpki_result,omitempty"` + RouteType Conditions_RouteType `protobuf:"varint,8,opt,name=route_type,json=routeType,proto3,enum=apipb.Conditions_RouteType" json:"route_type,omitempty"` + LargeCommunitySet *MatchSet `protobuf:"bytes,9,opt,name=large_community_set,json=largeCommunitySet,proto3" json:"large_community_set,omitempty"` + NextHopInList []string `protobuf:"bytes,10,rep,name=next_hop_in_list,json=nextHopInList,proto3" json:"next_hop_in_list,omitempty"` + AfiSafiIn []*Family `protobuf:"bytes,11,rep,name=afi_safi_in,json=afiSafiIn,proto3" json:"afi_safi_in,omitempty"` } -func (m *Conditions) Reset() { *m = Conditions{} } -func (m *Conditions) String() string { return proto.CompactTextString(m) } -func (*Conditions) ProtoMessage() {} +func (x *Conditions) Reset() { + *x = Conditions{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Conditions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Conditions) ProtoMessage() {} + +func (x *Conditions) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[129] + 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 Conditions.ProtoReflect.Descriptor instead. func (*Conditions) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{129} + return file_gobgp_proto_rawDescGZIP(), []int{129} } -func (m *Conditions) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Conditions.Unmarshal(m, b) -} -func (m *Conditions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Conditions.Marshal(b, m, deterministic) -} -func (m *Conditions) XXX_Merge(src proto.Message) { - xxx_messageInfo_Conditions.Merge(m, src) -} -func (m *Conditions) XXX_Size() int { - return xxx_messageInfo_Conditions.Size(m) -} -func (m *Conditions) XXX_DiscardUnknown() { - xxx_messageInfo_Conditions.DiscardUnknown(m) -} - -var xxx_messageInfo_Conditions proto.InternalMessageInfo - -func (m *Conditions) GetPrefixSet() *MatchSet { - if m != nil { - return m.PrefixSet +func (x *Conditions) GetPrefixSet() *MatchSet { + if x != nil { + return x.PrefixSet } return nil } -func (m *Conditions) GetNeighborSet() *MatchSet { - if m != nil { - return m.NeighborSet +func (x *Conditions) GetNeighborSet() *MatchSet { + if x != nil { + return x.NeighborSet } return nil } -func (m *Conditions) GetAsPathLength() *AsPathLength { - if m != nil { - return m.AsPathLength +func (x *Conditions) GetAsPathLength() *AsPathLength { + if x != nil { + return x.AsPathLength } return nil } -func (m *Conditions) GetAsPathSet() *MatchSet { - if m != nil { - return m.AsPathSet +func (x *Conditions) GetAsPathSet() *MatchSet { + if x != nil { + return x.AsPathSet } return nil } -func (m *Conditions) GetCommunitySet() *MatchSet { - if m != nil { - return m.CommunitySet +func (x *Conditions) GetCommunitySet() *MatchSet { + if x != nil { + return x.CommunitySet } return nil } -func (m *Conditions) GetExtCommunitySet() *MatchSet { - if m != nil { - return m.ExtCommunitySet +func (x *Conditions) GetExtCommunitySet() *MatchSet { + if x != nil { + return x.ExtCommunitySet } return nil } -func (m *Conditions) GetRpkiResult() int32 { - if m != nil { - return m.RpkiResult +func (x *Conditions) GetRpkiResult() int32 { + if x != nil { + return x.RpkiResult } return 0 } -func (m *Conditions) GetRouteType() Conditions_RouteType { - if m != nil { - return m.RouteType +func (x *Conditions) GetRouteType() Conditions_RouteType { + if x != nil { + return x.RouteType } return Conditions_ROUTE_TYPE_NONE } -func (m *Conditions) GetLargeCommunitySet() *MatchSet { - if m != nil { - return m.LargeCommunitySet +func (x *Conditions) GetLargeCommunitySet() *MatchSet { + if x != nil { + return x.LargeCommunitySet } return nil } -func (m *Conditions) GetNextHopInList() []string { - if m != nil { - return m.NextHopInList +func (x *Conditions) GetNextHopInList() []string { + if x != nil { + return x.NextHopInList } return nil } -func (m *Conditions) GetAfiSafiIn() []*Family { - if m != nil { - return m.AfiSafiIn +func (x *Conditions) GetAfiSafiIn() []*Family { + if x != nil { + return x.AfiSafiIn } return nil } type CommunityAction struct { - ActionType CommunityActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,proto3,enum=gobgpapi.CommunityActionType" json:"action_type,omitempty"` - Communities []string `protobuf:"bytes,2,rep,name=communities,proto3" json:"communities,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActionType CommunityActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,proto3,enum=apipb.CommunityActionType" json:"action_type,omitempty"` + Communities []string `protobuf:"bytes,2,rep,name=communities,proto3" json:"communities,omitempty"` } -func (m *CommunityAction) Reset() { *m = CommunityAction{} } -func (m *CommunityAction) String() string { return proto.CompactTextString(m) } -func (*CommunityAction) ProtoMessage() {} +func (x *CommunityAction) Reset() { + *x = CommunityAction{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommunityAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommunityAction) ProtoMessage() {} + +func (x *CommunityAction) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[130] + 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 CommunityAction.ProtoReflect.Descriptor instead. func (*CommunityAction) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{130} + return file_gobgp_proto_rawDescGZIP(), []int{130} } -func (m *CommunityAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CommunityAction.Unmarshal(m, b) -} -func (m *CommunityAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CommunityAction.Marshal(b, m, deterministic) -} -func (m *CommunityAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_CommunityAction.Merge(m, src) -} -func (m *CommunityAction) XXX_Size() int { - return xxx_messageInfo_CommunityAction.Size(m) -} -func (m *CommunityAction) XXX_DiscardUnknown() { - xxx_messageInfo_CommunityAction.DiscardUnknown(m) -} - -var xxx_messageInfo_CommunityAction proto.InternalMessageInfo - -func (m *CommunityAction) GetActionType() CommunityActionType { - if m != nil { - return m.ActionType +func (x *CommunityAction) GetActionType() CommunityActionType { + if x != nil { + return x.ActionType } return CommunityActionType_COMMUNITY_ADD } -func (m *CommunityAction) GetCommunities() []string { - if m != nil { - return m.Communities +func (x *CommunityAction) GetCommunities() []string { + if x != nil { + return x.Communities } return nil } type MedAction struct { - ActionType MedActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,proto3,enum=gobgpapi.MedActionType" json:"action_type,omitempty"` - Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActionType MedActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,proto3,enum=apipb.MedActionType" json:"action_type,omitempty"` + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *MedAction) Reset() { *m = MedAction{} } -func (m *MedAction) String() string { return proto.CompactTextString(m) } -func (*MedAction) ProtoMessage() {} +func (x *MedAction) Reset() { + *x = MedAction{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MedAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MedAction) ProtoMessage() {} + +func (x *MedAction) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[131] + 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 MedAction.ProtoReflect.Descriptor instead. func (*MedAction) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{131} + return file_gobgp_proto_rawDescGZIP(), []int{131} } -func (m *MedAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MedAction.Unmarshal(m, b) -} -func (m *MedAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MedAction.Marshal(b, m, deterministic) -} -func (m *MedAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_MedAction.Merge(m, src) -} -func (m *MedAction) XXX_Size() int { - return xxx_messageInfo_MedAction.Size(m) -} -func (m *MedAction) XXX_DiscardUnknown() { - xxx_messageInfo_MedAction.DiscardUnknown(m) -} - -var xxx_messageInfo_MedAction proto.InternalMessageInfo - -func (m *MedAction) GetActionType() MedActionType { - if m != nil { - return m.ActionType +func (x *MedAction) GetActionType() MedActionType { + if x != nil { + return x.ActionType } return MedActionType_MED_MOD } -func (m *MedAction) GetValue() int64 { - if m != nil { - return m.Value +func (x *MedAction) GetValue() int64 { + if x != nil { + return x.Value } return 0 } type AsPrependAction struct { - Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` - Repeat uint32 `protobuf:"varint,2,opt,name=repeat,proto3" json:"repeat,omitempty"` - UseLeftMost bool `protobuf:"varint,3,opt,name=use_left_most,json=useLeftMost,proto3" json:"use_left_most,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` + Repeat uint32 `protobuf:"varint,2,opt,name=repeat,proto3" json:"repeat,omitempty"` + UseLeftMost bool `protobuf:"varint,3,opt,name=use_left_most,json=useLeftMost,proto3" json:"use_left_most,omitempty"` } -func (m *AsPrependAction) Reset() { *m = AsPrependAction{} } -func (m *AsPrependAction) String() string { return proto.CompactTextString(m) } -func (*AsPrependAction) ProtoMessage() {} +func (x *AsPrependAction) Reset() { + *x = AsPrependAction{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AsPrependAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AsPrependAction) ProtoMessage() {} + +func (x *AsPrependAction) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[132] + 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 AsPrependAction.ProtoReflect.Descriptor instead. func (*AsPrependAction) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{132} + return file_gobgp_proto_rawDescGZIP(), []int{132} } -func (m *AsPrependAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AsPrependAction.Unmarshal(m, b) -} -func (m *AsPrependAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AsPrependAction.Marshal(b, m, deterministic) -} -func (m *AsPrependAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_AsPrependAction.Merge(m, src) -} -func (m *AsPrependAction) XXX_Size() int { - return xxx_messageInfo_AsPrependAction.Size(m) -} -func (m *AsPrependAction) XXX_DiscardUnknown() { - xxx_messageInfo_AsPrependAction.DiscardUnknown(m) -} - -var xxx_messageInfo_AsPrependAction proto.InternalMessageInfo - -func (m *AsPrependAction) GetAsn() uint32 { - if m != nil { - return m.Asn +func (x *AsPrependAction) GetAsn() uint32 { + if x != nil { + return x.Asn } return 0 } -func (m *AsPrependAction) GetRepeat() uint32 { - if m != nil { - return m.Repeat +func (x *AsPrependAction) GetRepeat() uint32 { + if x != nil { + return x.Repeat } return 0 } -func (m *AsPrependAction) GetUseLeftMost() bool { - if m != nil { - return m.UseLeftMost +func (x *AsPrependAction) GetUseLeftMost() bool { + if x != nil { + return x.UseLeftMost } return false } type NexthopAction struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Self bool `protobuf:"varint,2,opt,name=self,proto3" json:"self,omitempty"` - Unchanged bool `protobuf:"varint,3,opt,name=unchanged,proto3" json:"unchanged,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Self bool `protobuf:"varint,2,opt,name=self,proto3" json:"self,omitempty"` + Unchanged bool `protobuf:"varint,3,opt,name=unchanged,proto3" json:"unchanged,omitempty"` } -func (m *NexthopAction) Reset() { *m = NexthopAction{} } -func (m *NexthopAction) String() string { return proto.CompactTextString(m) } -func (*NexthopAction) ProtoMessage() {} +func (x *NexthopAction) Reset() { + *x = NexthopAction{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NexthopAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexthopAction) ProtoMessage() {} + +func (x *NexthopAction) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[133] + 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 NexthopAction.ProtoReflect.Descriptor instead. func (*NexthopAction) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{133} + return file_gobgp_proto_rawDescGZIP(), []int{133} } -func (m *NexthopAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_NexthopAction.Unmarshal(m, b) -} -func (m *NexthopAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_NexthopAction.Marshal(b, m, deterministic) -} -func (m *NexthopAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_NexthopAction.Merge(m, src) -} -func (m *NexthopAction) XXX_Size() int { - return xxx_messageInfo_NexthopAction.Size(m) -} -func (m *NexthopAction) XXX_DiscardUnknown() { - xxx_messageInfo_NexthopAction.DiscardUnknown(m) -} - -var xxx_messageInfo_NexthopAction proto.InternalMessageInfo - -func (m *NexthopAction) GetAddress() string { - if m != nil { - return m.Address +func (x *NexthopAction) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *NexthopAction) GetSelf() bool { - if m != nil { - return m.Self +func (x *NexthopAction) GetSelf() bool { + if x != nil { + return x.Self } return false } -func (m *NexthopAction) GetUnchanged() bool { - if m != nil { - return m.Unchanged +func (x *NexthopAction) GetUnchanged() bool { + if x != nil { + return x.Unchanged } return false } type LocalPrefAction struct { - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *LocalPrefAction) Reset() { *m = LocalPrefAction{} } -func (m *LocalPrefAction) String() string { return proto.CompactTextString(m) } -func (*LocalPrefAction) ProtoMessage() {} +func (x *LocalPrefAction) Reset() { + *x = LocalPrefAction{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LocalPrefAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalPrefAction) ProtoMessage() {} + +func (x *LocalPrefAction) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[134] + 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 LocalPrefAction.ProtoReflect.Descriptor instead. func (*LocalPrefAction) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{134} + return file_gobgp_proto_rawDescGZIP(), []int{134} } -func (m *LocalPrefAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LocalPrefAction.Unmarshal(m, b) -} -func (m *LocalPrefAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LocalPrefAction.Marshal(b, m, deterministic) -} -func (m *LocalPrefAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_LocalPrefAction.Merge(m, src) -} -func (m *LocalPrefAction) XXX_Size() int { - return xxx_messageInfo_LocalPrefAction.Size(m) -} -func (m *LocalPrefAction) XXX_DiscardUnknown() { - xxx_messageInfo_LocalPrefAction.DiscardUnknown(m) -} - -var xxx_messageInfo_LocalPrefAction proto.InternalMessageInfo - -func (m *LocalPrefAction) GetValue() uint32 { - if m != nil { - return m.Value +func (x *LocalPrefAction) GetValue() uint32 { + if x != nil { + return x.Value } return 0 } type Actions struct { - RouteAction RouteAction `protobuf:"varint,1,opt,name=route_action,json=routeAction,proto3,enum=gobgpapi.RouteAction" json:"route_action,omitempty"` - Community *CommunityAction `protobuf:"bytes,2,opt,name=community,proto3" json:"community,omitempty"` - Med *MedAction `protobuf:"bytes,3,opt,name=med,proto3" json:"med,omitempty"` - AsPrepend *AsPrependAction `protobuf:"bytes,4,opt,name=as_prepend,json=asPrepend,proto3" json:"as_prepend,omitempty"` - ExtCommunity *CommunityAction `protobuf:"bytes,5,opt,name=ext_community,json=extCommunity,proto3" json:"ext_community,omitempty"` - Nexthop *NexthopAction `protobuf:"bytes,6,opt,name=nexthop,proto3" json:"nexthop,omitempty"` - LocalPref *LocalPrefAction `protobuf:"bytes,7,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` - LargeCommunity *CommunityAction `protobuf:"bytes,8,opt,name=large_community,json=largeCommunity,proto3" json:"large_community,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RouteAction RouteAction `protobuf:"varint,1,opt,name=route_action,json=routeAction,proto3,enum=apipb.RouteAction" json:"route_action,omitempty"` + Community *CommunityAction `protobuf:"bytes,2,opt,name=community,proto3" json:"community,omitempty"` + Med *MedAction `protobuf:"bytes,3,opt,name=med,proto3" json:"med,omitempty"` + AsPrepend *AsPrependAction `protobuf:"bytes,4,opt,name=as_prepend,json=asPrepend,proto3" json:"as_prepend,omitempty"` + ExtCommunity *CommunityAction `protobuf:"bytes,5,opt,name=ext_community,json=extCommunity,proto3" json:"ext_community,omitempty"` + Nexthop *NexthopAction `protobuf:"bytes,6,opt,name=nexthop,proto3" json:"nexthop,omitempty"` + LocalPref *LocalPrefAction `protobuf:"bytes,7,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` + LargeCommunity *CommunityAction `protobuf:"bytes,8,opt,name=large_community,json=largeCommunity,proto3" json:"large_community,omitempty"` } -func (m *Actions) Reset() { *m = Actions{} } -func (m *Actions) String() string { return proto.CompactTextString(m) } -func (*Actions) ProtoMessage() {} +func (x *Actions) Reset() { + *x = Actions{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Actions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Actions) ProtoMessage() {} + +func (x *Actions) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[135] + 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 Actions.ProtoReflect.Descriptor instead. func (*Actions) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{135} + return file_gobgp_proto_rawDescGZIP(), []int{135} } -func (m *Actions) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Actions.Unmarshal(m, b) -} -func (m *Actions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Actions.Marshal(b, m, deterministic) -} -func (m *Actions) XXX_Merge(src proto.Message) { - xxx_messageInfo_Actions.Merge(m, src) -} -func (m *Actions) XXX_Size() int { - return xxx_messageInfo_Actions.Size(m) -} -func (m *Actions) XXX_DiscardUnknown() { - xxx_messageInfo_Actions.DiscardUnknown(m) -} - -var xxx_messageInfo_Actions proto.InternalMessageInfo - -func (m *Actions) GetRouteAction() RouteAction { - if m != nil { - return m.RouteAction +func (x *Actions) GetRouteAction() RouteAction { + if x != nil { + return x.RouteAction } return RouteAction_NONE } -func (m *Actions) GetCommunity() *CommunityAction { - if m != nil { - return m.Community +func (x *Actions) GetCommunity() *CommunityAction { + if x != nil { + return x.Community } return nil } -func (m *Actions) GetMed() *MedAction { - if m != nil { - return m.Med +func (x *Actions) GetMed() *MedAction { + if x != nil { + return x.Med } return nil } -func (m *Actions) GetAsPrepend() *AsPrependAction { - if m != nil { - return m.AsPrepend +func (x *Actions) GetAsPrepend() *AsPrependAction { + if x != nil { + return x.AsPrepend } return nil } -func (m *Actions) GetExtCommunity() *CommunityAction { - if m != nil { - return m.ExtCommunity +func (x *Actions) GetExtCommunity() *CommunityAction { + if x != nil { + return x.ExtCommunity } return nil } -func (m *Actions) GetNexthop() *NexthopAction { - if m != nil { - return m.Nexthop +func (x *Actions) GetNexthop() *NexthopAction { + if x != nil { + return x.Nexthop } return nil } -func (m *Actions) GetLocalPref() *LocalPrefAction { - if m != nil { - return m.LocalPref +func (x *Actions) GetLocalPref() *LocalPrefAction { + if x != nil { + return x.LocalPref } return nil } -func (m *Actions) GetLargeCommunity() *CommunityAction { - if m != nil { - return m.LargeCommunity +func (x *Actions) GetLargeCommunity() *CommunityAction { + if x != nil { + return x.LargeCommunity } return nil } type Statement struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Conditions *Conditions `protobuf:"bytes,2,opt,name=conditions,proto3" json:"conditions,omitempty"` - Actions *Actions `protobuf:"bytes,3,opt,name=actions,proto3" json:"actions,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Conditions *Conditions `protobuf:"bytes,2,opt,name=conditions,proto3" json:"conditions,omitempty"` + Actions *Actions `protobuf:"bytes,3,opt,name=actions,proto3" json:"actions,omitempty"` } -func (m *Statement) Reset() { *m = Statement{} } -func (m *Statement) String() string { return proto.CompactTextString(m) } -func (*Statement) ProtoMessage() {} +func (x *Statement) Reset() { + *x = Statement{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Statement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Statement) ProtoMessage() {} + +func (x *Statement) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[136] + 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 Statement.ProtoReflect.Descriptor instead. func (*Statement) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{136} + return file_gobgp_proto_rawDescGZIP(), []int{136} } -func (m *Statement) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Statement.Unmarshal(m, b) -} -func (m *Statement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Statement.Marshal(b, m, deterministic) -} -func (m *Statement) XXX_Merge(src proto.Message) { - xxx_messageInfo_Statement.Merge(m, src) -} -func (m *Statement) XXX_Size() int { - return xxx_messageInfo_Statement.Size(m) -} -func (m *Statement) XXX_DiscardUnknown() { - xxx_messageInfo_Statement.DiscardUnknown(m) -} - -var xxx_messageInfo_Statement proto.InternalMessageInfo - -func (m *Statement) GetName() string { - if m != nil { - return m.Name +func (x *Statement) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *Statement) GetConditions() *Conditions { - if m != nil { - return m.Conditions +func (x *Statement) GetConditions() *Conditions { + if x != nil { + return x.Conditions } return nil } -func (m *Statement) GetActions() *Actions { - if m != nil { - return m.Actions +func (x *Statement) GetActions() *Actions { + if x != nil { + return x.Actions } return nil } type Policy struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Statements []*Statement `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Statements []*Statement `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` } -func (m *Policy) Reset() { *m = Policy{} } -func (m *Policy) String() string { return proto.CompactTextString(m) } -func (*Policy) ProtoMessage() {} +func (x *Policy) Reset() { + *x = Policy{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Policy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Policy) ProtoMessage() {} + +func (x *Policy) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[137] + 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 Policy.ProtoReflect.Descriptor instead. func (*Policy) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{137} + return file_gobgp_proto_rawDescGZIP(), []int{137} } -func (m *Policy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Policy.Unmarshal(m, b) -} -func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Policy.Marshal(b, m, deterministic) -} -func (m *Policy) XXX_Merge(src proto.Message) { - xxx_messageInfo_Policy.Merge(m, src) -} -func (m *Policy) XXX_Size() int { - return xxx_messageInfo_Policy.Size(m) -} -func (m *Policy) XXX_DiscardUnknown() { - xxx_messageInfo_Policy.DiscardUnknown(m) -} - -var xxx_messageInfo_Policy proto.InternalMessageInfo - -func (m *Policy) GetName() string { - if m != nil { - return m.Name +func (x *Policy) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *Policy) GetStatements() []*Statement { - if m != nil { - return m.Statements +func (x *Policy) GetStatements() []*Statement { + if x != nil { + return x.Statements } return nil } type PolicyAssignment struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=gobgpapi.PolicyDirection" json:"direction,omitempty"` - Policies []*Policy `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty"` - DefaultAction RouteAction `protobuf:"varint,5,opt,name=default_action,json=defaultAction,proto3,enum=gobgpapi.RouteAction" json:"default_action,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=apipb.PolicyDirection" json:"direction,omitempty"` + Policies []*Policy `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty"` + DefaultAction RouteAction `protobuf:"varint,5,opt,name=default_action,json=defaultAction,proto3,enum=apipb.RouteAction" json:"default_action,omitempty"` } -func (m *PolicyAssignment) Reset() { *m = PolicyAssignment{} } -func (m *PolicyAssignment) String() string { return proto.CompactTextString(m) } -func (*PolicyAssignment) ProtoMessage() {} +func (x *PolicyAssignment) Reset() { + *x = PolicyAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PolicyAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PolicyAssignment) ProtoMessage() {} + +func (x *PolicyAssignment) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[138] + 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 PolicyAssignment.ProtoReflect.Descriptor instead. func (*PolicyAssignment) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{138} + return file_gobgp_proto_rawDescGZIP(), []int{138} } -func (m *PolicyAssignment) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PolicyAssignment.Unmarshal(m, b) -} -func (m *PolicyAssignment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PolicyAssignment.Marshal(b, m, deterministic) -} -func (m *PolicyAssignment) XXX_Merge(src proto.Message) { - xxx_messageInfo_PolicyAssignment.Merge(m, src) -} -func (m *PolicyAssignment) XXX_Size() int { - return xxx_messageInfo_PolicyAssignment.Size(m) -} -func (m *PolicyAssignment) XXX_DiscardUnknown() { - xxx_messageInfo_PolicyAssignment.DiscardUnknown(m) -} - -var xxx_messageInfo_PolicyAssignment proto.InternalMessageInfo - -func (m *PolicyAssignment) GetName() string { - if m != nil { - return m.Name +func (x *PolicyAssignment) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *PolicyAssignment) GetDirection() PolicyDirection { - if m != nil { - return m.Direction +func (x *PolicyAssignment) GetDirection() PolicyDirection { + if x != nil { + return x.Direction } return PolicyDirection_UNKNOWN } -func (m *PolicyAssignment) GetPolicies() []*Policy { - if m != nil { - return m.Policies +func (x *PolicyAssignment) GetPolicies() []*Policy { + if x != nil { + return x.Policies } return nil } -func (m *PolicyAssignment) GetDefaultAction() RouteAction { - if m != nil { - return m.DefaultAction +func (x *PolicyAssignment) GetDefaultAction() RouteAction { + if x != nil { + return x.DefaultAction } return RouteAction_NONE } type RoutingPolicy struct { - DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"` - Policies []*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"` + Policies []*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"` } -func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} } -func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) } -func (*RoutingPolicy) ProtoMessage() {} +func (x *RoutingPolicy) Reset() { + *x = RoutingPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RoutingPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoutingPolicy) ProtoMessage() {} + +func (x *RoutingPolicy) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[139] + 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 RoutingPolicy.ProtoReflect.Descriptor instead. func (*RoutingPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{139} + return file_gobgp_proto_rawDescGZIP(), []int{139} } -func (m *RoutingPolicy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RoutingPolicy.Unmarshal(m, b) -} -func (m *RoutingPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RoutingPolicy.Marshal(b, m, deterministic) -} -func (m *RoutingPolicy) XXX_Merge(src proto.Message) { - xxx_messageInfo_RoutingPolicy.Merge(m, src) -} -func (m *RoutingPolicy) XXX_Size() int { - return xxx_messageInfo_RoutingPolicy.Size(m) -} -func (m *RoutingPolicy) XXX_DiscardUnknown() { - xxx_messageInfo_RoutingPolicy.DiscardUnknown(m) -} - -var xxx_messageInfo_RoutingPolicy proto.InternalMessageInfo - -func (m *RoutingPolicy) GetDefinedSets() []*DefinedSet { - if m != nil { - return m.DefinedSets +func (x *RoutingPolicy) GetDefinedSets() []*DefinedSet { + if x != nil { + return x.DefinedSets } return nil } -func (m *RoutingPolicy) GetPolicies() []*Policy { - if m != nil { - return m.Policies +func (x *RoutingPolicy) GetPolicies() []*Policy { + if x != nil { + return x.Policies } return nil } type Roa struct { - As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` - Prefixlen uint32 `protobuf:"varint,2,opt,name=prefixlen,proto3" json:"prefixlen,omitempty"` - Maxlen uint32 `protobuf:"varint,3,opt,name=maxlen,proto3" json:"maxlen,omitempty"` - Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` - Conf *RPKIConf `protobuf:"bytes,5,opt,name=conf,proto3" json:"conf,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` + Prefixlen uint32 `protobuf:"varint,2,opt,name=prefixlen,proto3" json:"prefixlen,omitempty"` + Maxlen uint32 `protobuf:"varint,3,opt,name=maxlen,proto3" json:"maxlen,omitempty"` + Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` + Conf *RPKIConf `protobuf:"bytes,5,opt,name=conf,proto3" json:"conf,omitempty"` } -func (m *Roa) Reset() { *m = Roa{} } -func (m *Roa) String() string { return proto.CompactTextString(m) } -func (*Roa) ProtoMessage() {} +func (x *Roa) Reset() { + *x = Roa{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Roa) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Roa) ProtoMessage() {} + +func (x *Roa) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[140] + 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 Roa.ProtoReflect.Descriptor instead. func (*Roa) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{140} + return file_gobgp_proto_rawDescGZIP(), []int{140} } -func (m *Roa) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Roa.Unmarshal(m, b) -} -func (m *Roa) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Roa.Marshal(b, m, deterministic) -} -func (m *Roa) XXX_Merge(src proto.Message) { - xxx_messageInfo_Roa.Merge(m, src) -} -func (m *Roa) XXX_Size() int { - return xxx_messageInfo_Roa.Size(m) -} -func (m *Roa) XXX_DiscardUnknown() { - xxx_messageInfo_Roa.DiscardUnknown(m) -} - -var xxx_messageInfo_Roa proto.InternalMessageInfo - -func (m *Roa) GetAs() uint32 { - if m != nil { - return m.As +func (x *Roa) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *Roa) GetPrefixlen() uint32 { - if m != nil { - return m.Prefixlen +func (x *Roa) GetPrefixlen() uint32 { + if x != nil { + return x.Prefixlen } return 0 } -func (m *Roa) GetMaxlen() uint32 { - if m != nil { - return m.Maxlen +func (x *Roa) GetMaxlen() uint32 { + if x != nil { + return x.Maxlen } return 0 } -func (m *Roa) GetPrefix() string { - if m != nil { - return m.Prefix +func (x *Roa) GetPrefix() string { + if x != nil { + return x.Prefix } return "" } -func (m *Roa) GetConf() *RPKIConf { - if m != nil { - return m.Conf +func (x *Roa) GetConf() *RPKIConf { + if x != nil { + return x.Conf } return nil } type Vrf struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Route Distinguisher must be one of // RouteDistinguisherTwoOctetAS, // RouteDistinguisherIPAddressAS, // or RouteDistinguisherFourOctetAS. - Rd *any.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` + Rd *anypb.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` // List of the Import Route Targets. Each must be one of // TwoOctetAsSpecificExtended, // IPv4AddressSpecificExtended, // or FourOctetAsSpecificExtended. - ImportRt []*any.Any `protobuf:"bytes,3,rep,name=import_rt,json=importRt,proto3" json:"import_rt,omitempty"` + ImportRt []*anypb.Any `protobuf:"bytes,3,rep,name=import_rt,json=importRt,proto3" json:"import_rt,omitempty"` // List of the Export Route Targets. Each must be one of // TwoOctetAsSpecificExtended, // IPv4AddressSpecificExtended, // or FourOctetAsSpecificExtended. - ExportRt []*any.Any `protobuf:"bytes,4,rep,name=export_rt,json=exportRt,proto3" json:"export_rt,omitempty"` - Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ExportRt []*anypb.Any `protobuf:"bytes,4,rep,name=export_rt,json=exportRt,proto3" json:"export_rt,omitempty"` + Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"` } -func (m *Vrf) Reset() { *m = Vrf{} } -func (m *Vrf) String() string { return proto.CompactTextString(m) } -func (*Vrf) ProtoMessage() {} +func (x *Vrf) Reset() { + *x = Vrf{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Vrf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Vrf) ProtoMessage() {} + +func (x *Vrf) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[141] + 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 Vrf.ProtoReflect.Descriptor instead. func (*Vrf) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{141} + return file_gobgp_proto_rawDescGZIP(), []int{141} } -func (m *Vrf) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Vrf.Unmarshal(m, b) -} -func (m *Vrf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Vrf.Marshal(b, m, deterministic) -} -func (m *Vrf) XXX_Merge(src proto.Message) { - xxx_messageInfo_Vrf.Merge(m, src) -} -func (m *Vrf) XXX_Size() int { - return xxx_messageInfo_Vrf.Size(m) -} -func (m *Vrf) XXX_DiscardUnknown() { - xxx_messageInfo_Vrf.DiscardUnknown(m) -} - -var xxx_messageInfo_Vrf proto.InternalMessageInfo - -func (m *Vrf) GetName() string { - if m != nil { - return m.Name +func (x *Vrf) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *Vrf) GetRd() *any.Any { - if m != nil { - return m.Rd +func (x *Vrf) GetRd() *anypb.Any { + if x != nil { + return x.Rd } return nil } -func (m *Vrf) GetImportRt() []*any.Any { - if m != nil { - return m.ImportRt +func (x *Vrf) GetImportRt() []*anypb.Any { + if x != nil { + return x.ImportRt } return nil } -func (m *Vrf) GetExportRt() []*any.Any { - if m != nil { - return m.ExportRt +func (x *Vrf) GetExportRt() []*anypb.Any { + if x != nil { + return x.ExportRt } return nil } -func (m *Vrf) GetId() uint32 { - if m != nil { - return m.Id +func (x *Vrf) GetId() uint32 { + if x != nil { + return x.Id } return 0 } type DefaultRouteDistance struct { - ExternalRouteDistance uint32 `protobuf:"varint,1,opt,name=external_route_distance,json=externalRouteDistance,proto3" json:"external_route_distance,omitempty"` - InternalRouteDistance uint32 `protobuf:"varint,2,opt,name=internal_route_distance,json=internalRouteDistance,proto3" json:"internal_route_distance,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExternalRouteDistance uint32 `protobuf:"varint,1,opt,name=external_route_distance,json=externalRouteDistance,proto3" json:"external_route_distance,omitempty"` + InternalRouteDistance uint32 `protobuf:"varint,2,opt,name=internal_route_distance,json=internalRouteDistance,proto3" json:"internal_route_distance,omitempty"` } -func (m *DefaultRouteDistance) Reset() { *m = DefaultRouteDistance{} } -func (m *DefaultRouteDistance) String() string { return proto.CompactTextString(m) } -func (*DefaultRouteDistance) ProtoMessage() {} +func (x *DefaultRouteDistance) Reset() { + *x = DefaultRouteDistance{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DefaultRouteDistance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DefaultRouteDistance) ProtoMessage() {} + +func (x *DefaultRouteDistance) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[142] + 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 DefaultRouteDistance.ProtoReflect.Descriptor instead. func (*DefaultRouteDistance) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{142} + return file_gobgp_proto_rawDescGZIP(), []int{142} } -func (m *DefaultRouteDistance) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DefaultRouteDistance.Unmarshal(m, b) -} -func (m *DefaultRouteDistance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DefaultRouteDistance.Marshal(b, m, deterministic) -} -func (m *DefaultRouteDistance) XXX_Merge(src proto.Message) { - xxx_messageInfo_DefaultRouteDistance.Merge(m, src) -} -func (m *DefaultRouteDistance) XXX_Size() int { - return xxx_messageInfo_DefaultRouteDistance.Size(m) -} -func (m *DefaultRouteDistance) XXX_DiscardUnknown() { - xxx_messageInfo_DefaultRouteDistance.DiscardUnknown(m) -} - -var xxx_messageInfo_DefaultRouteDistance proto.InternalMessageInfo - -func (m *DefaultRouteDistance) GetExternalRouteDistance() uint32 { - if m != nil { - return m.ExternalRouteDistance +func (x *DefaultRouteDistance) GetExternalRouteDistance() uint32 { + if x != nil { + return x.ExternalRouteDistance } return 0 } -func (m *DefaultRouteDistance) GetInternalRouteDistance() uint32 { - if m != nil { - return m.InternalRouteDistance +func (x *DefaultRouteDistance) GetInternalRouteDistance() uint32 { + if x != nil { + return x.InternalRouteDistance } return 0 } type Global struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"` RouterId string `protobuf:"bytes,2,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` ListenPort int32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"` @@ -8829,3582 +10474,4582 @@ type Global struct { GracefulRestart *GracefulRestart `protobuf:"bytes,10,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` ApplyPolicy *ApplyPolicy `protobuf:"bytes,11,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` BindToDevice string `protobuf:"bytes,12,opt,name=bind_to_device,json=bindToDevice,proto3" json:"bind_to_device,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` } -func (m *Global) Reset() { *m = Global{} } -func (m *Global) String() string { return proto.CompactTextString(m) } -func (*Global) ProtoMessage() {} +func (x *Global) Reset() { + *x = Global{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Global) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Global) ProtoMessage() {} + +func (x *Global) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[143] + 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 Global.ProtoReflect.Descriptor instead. func (*Global) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{143} + return file_gobgp_proto_rawDescGZIP(), []int{143} } -func (m *Global) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Global.Unmarshal(m, b) -} -func (m *Global) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Global.Marshal(b, m, deterministic) -} -func (m *Global) XXX_Merge(src proto.Message) { - xxx_messageInfo_Global.Merge(m, src) -} -func (m *Global) XXX_Size() int { - return xxx_messageInfo_Global.Size(m) -} -func (m *Global) XXX_DiscardUnknown() { - xxx_messageInfo_Global.DiscardUnknown(m) -} - -var xxx_messageInfo_Global proto.InternalMessageInfo - -func (m *Global) GetAs() uint32 { - if m != nil { - return m.As +func (x *Global) GetAs() uint32 { + if x != nil { + return x.As } return 0 } -func (m *Global) GetRouterId() string { - if m != nil { - return m.RouterId +func (x *Global) GetRouterId() string { + if x != nil { + return x.RouterId } return "" } -func (m *Global) GetListenPort() int32 { - if m != nil { - return m.ListenPort +func (x *Global) GetListenPort() int32 { + if x != nil { + return x.ListenPort } return 0 } -func (m *Global) GetListenAddresses() []string { - if m != nil { - return m.ListenAddresses +func (x *Global) GetListenAddresses() []string { + if x != nil { + return x.ListenAddresses } return nil } -func (m *Global) GetFamilies() []uint32 { - if m != nil { - return m.Families +func (x *Global) GetFamilies() []uint32 { + if x != nil { + return x.Families } return nil } -func (m *Global) GetUseMultiplePaths() bool { - if m != nil { - return m.UseMultiplePaths +func (x *Global) GetUseMultiplePaths() bool { + if x != nil { + return x.UseMultiplePaths } return false } -func (m *Global) GetRouteSelectionOptions() *RouteSelectionOptionsConfig { - if m != nil { - return m.RouteSelectionOptions +func (x *Global) GetRouteSelectionOptions() *RouteSelectionOptionsConfig { + if x != nil { + return x.RouteSelectionOptions } return nil } -func (m *Global) GetDefaultRouteDistance() *DefaultRouteDistance { - if m != nil { - return m.DefaultRouteDistance +func (x *Global) GetDefaultRouteDistance() *DefaultRouteDistance { + if x != nil { + return x.DefaultRouteDistance } return nil } -func (m *Global) GetConfederation() *Confederation { - if m != nil { - return m.Confederation +func (x *Global) GetConfederation() *Confederation { + if x != nil { + return x.Confederation } return nil } -func (m *Global) GetGracefulRestart() *GracefulRestart { - if m != nil { - return m.GracefulRestart +func (x *Global) GetGracefulRestart() *GracefulRestart { + if x != nil { + return x.GracefulRestart } return nil } -func (m *Global) GetApplyPolicy() *ApplyPolicy { - if m != nil { - return m.ApplyPolicy +func (x *Global) GetApplyPolicy() *ApplyPolicy { + if x != nil { + return x.ApplyPolicy } return nil } -func (m *Global) GetBindToDevice() string { - if m != nil { - return m.BindToDevice +func (x *Global) GetBindToDevice() string { + if x != nil { + return x.BindToDevice } return "" } type Confederation struct { - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Identifier uint32 `protobuf:"varint,2,opt,name=identifier,proto3" json:"identifier,omitempty"` - MemberAsList []uint32 `protobuf:"varint,3,rep,packed,name=member_as_list,json=memberAsList,proto3" json:"member_as_list,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Identifier uint32 `protobuf:"varint,2,opt,name=identifier,proto3" json:"identifier,omitempty"` + MemberAsList []uint32 `protobuf:"varint,3,rep,packed,name=member_as_list,json=memberAsList,proto3" json:"member_as_list,omitempty"` } -func (m *Confederation) Reset() { *m = Confederation{} } -func (m *Confederation) String() string { return proto.CompactTextString(m) } -func (*Confederation) ProtoMessage() {} +func (x *Confederation) Reset() { + *x = Confederation{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Confederation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Confederation) ProtoMessage() {} + +func (x *Confederation) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[144] + 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 Confederation.ProtoReflect.Descriptor instead. func (*Confederation) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{144} + return file_gobgp_proto_rawDescGZIP(), []int{144} } -func (m *Confederation) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Confederation.Unmarshal(m, b) -} -func (m *Confederation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Confederation.Marshal(b, m, deterministic) -} -func (m *Confederation) XXX_Merge(src proto.Message) { - xxx_messageInfo_Confederation.Merge(m, src) -} -func (m *Confederation) XXX_Size() int { - return xxx_messageInfo_Confederation.Size(m) -} -func (m *Confederation) XXX_DiscardUnknown() { - xxx_messageInfo_Confederation.DiscardUnknown(m) -} - -var xxx_messageInfo_Confederation proto.InternalMessageInfo - -func (m *Confederation) GetEnabled() bool { - if m != nil { - return m.Enabled +func (x *Confederation) GetEnabled() bool { + if x != nil { + return x.Enabled } return false } -func (m *Confederation) GetIdentifier() uint32 { - if m != nil { - return m.Identifier +func (x *Confederation) GetIdentifier() uint32 { + if x != nil { + return x.Identifier } return 0 } -func (m *Confederation) GetMemberAsList() []uint32 { - if m != nil { - return m.MemberAsList +func (x *Confederation) GetMemberAsList() []uint32 { + if x != nil { + return x.MemberAsList } return nil } type RPKIConf struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - RemotePort uint32 `protobuf:"varint,2,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + RemotePort uint32 `protobuf:"varint,2,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"` } -func (m *RPKIConf) Reset() { *m = RPKIConf{} } -func (m *RPKIConf) String() string { return proto.CompactTextString(m) } -func (*RPKIConf) ProtoMessage() {} +func (x *RPKIConf) Reset() { + *x = RPKIConf{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPKIConf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPKIConf) ProtoMessage() {} + +func (x *RPKIConf) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[145] + 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 RPKIConf.ProtoReflect.Descriptor instead. func (*RPKIConf) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{145} + return file_gobgp_proto_rawDescGZIP(), []int{145} } -func (m *RPKIConf) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RPKIConf.Unmarshal(m, b) -} -func (m *RPKIConf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RPKIConf.Marshal(b, m, deterministic) -} -func (m *RPKIConf) XXX_Merge(src proto.Message) { - xxx_messageInfo_RPKIConf.Merge(m, src) -} -func (m *RPKIConf) XXX_Size() int { - return xxx_messageInfo_RPKIConf.Size(m) -} -func (m *RPKIConf) XXX_DiscardUnknown() { - xxx_messageInfo_RPKIConf.DiscardUnknown(m) -} - -var xxx_messageInfo_RPKIConf proto.InternalMessageInfo - -func (m *RPKIConf) GetAddress() string { - if m != nil { - return m.Address +func (x *RPKIConf) GetAddress() string { + if x != nil { + return x.Address } return "" } -func (m *RPKIConf) GetRemotePort() uint32 { - if m != nil { - return m.RemotePort +func (x *RPKIConf) GetRemotePort() uint32 { + if x != nil { + return x.RemotePort } return 0 } type RPKIState struct { - Uptime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=uptime,proto3" json:"uptime,omitempty"` - Downtime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=downtime,proto3" json:"downtime,omitempty"` - Up bool `protobuf:"varint,3,opt,name=up,proto3" json:"up,omitempty"` - RecordIpv4 uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4,proto3" json:"record_ipv4,omitempty"` - RecordIpv6 uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6,proto3" json:"record_ipv6,omitempty"` - PrefixIpv4 uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4,proto3" json:"prefix_ipv4,omitempty"` - PrefixIpv6 uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6,proto3" json:"prefix_ipv6,omitempty"` - Serial uint32 `protobuf:"varint,8,opt,name=serial,proto3" json:"serial,omitempty"` - ReceivedIpv4 int64 `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4,proto3" json:"received_ipv4,omitempty"` - ReceivedIpv6 int64 `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6,proto3" json:"received_ipv6,omitempty"` - SerialNotify int64 `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify,proto3" json:"serial_notify,omitempty"` - CacheReset int64 `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset,proto3" json:"cache_reset,omitempty"` - CacheResponse int64 `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse,proto3" json:"cache_response,omitempty"` - EndOfData int64 `protobuf:"varint,14,opt,name=end_of_data,json=endOfData,proto3" json:"end_of_data,omitempty"` - Error int64 `protobuf:"varint,15,opt,name=error,proto3" json:"error,omitempty"` - SerialQuery int64 `protobuf:"varint,16,opt,name=serial_query,json=serialQuery,proto3" json:"serial_query,omitempty"` - ResetQuery int64 `protobuf:"varint,17,opt,name=reset_query,json=resetQuery,proto3" json:"reset_query,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uptime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=uptime,proto3" json:"uptime,omitempty"` + Downtime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=downtime,proto3" json:"downtime,omitempty"` + Up bool `protobuf:"varint,3,opt,name=up,proto3" json:"up,omitempty"` + RecordIpv4 uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4,proto3" json:"record_ipv4,omitempty"` + RecordIpv6 uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6,proto3" json:"record_ipv6,omitempty"` + PrefixIpv4 uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4,proto3" json:"prefix_ipv4,omitempty"` + PrefixIpv6 uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6,proto3" json:"prefix_ipv6,omitempty"` + Serial uint32 `protobuf:"varint,8,opt,name=serial,proto3" json:"serial,omitempty"` + ReceivedIpv4 int64 `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4,proto3" json:"received_ipv4,omitempty"` + ReceivedIpv6 int64 `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6,proto3" json:"received_ipv6,omitempty"` + SerialNotify int64 `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify,proto3" json:"serial_notify,omitempty"` + CacheReset int64 `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset,proto3" json:"cache_reset,omitempty"` + CacheResponse int64 `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse,proto3" json:"cache_response,omitempty"` + EndOfData int64 `protobuf:"varint,14,opt,name=end_of_data,json=endOfData,proto3" json:"end_of_data,omitempty"` + Error int64 `protobuf:"varint,15,opt,name=error,proto3" json:"error,omitempty"` + SerialQuery int64 `protobuf:"varint,16,opt,name=serial_query,json=serialQuery,proto3" json:"serial_query,omitempty"` + ResetQuery int64 `protobuf:"varint,17,opt,name=reset_query,json=resetQuery,proto3" json:"reset_query,omitempty"` } -func (m *RPKIState) Reset() { *m = RPKIState{} } -func (m *RPKIState) String() string { return proto.CompactTextString(m) } -func (*RPKIState) ProtoMessage() {} +func (x *RPKIState) Reset() { + *x = RPKIState{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RPKIState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RPKIState) ProtoMessage() {} + +func (x *RPKIState) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[146] + 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 RPKIState.ProtoReflect.Descriptor instead. func (*RPKIState) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{146} + return file_gobgp_proto_rawDescGZIP(), []int{146} } -func (m *RPKIState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RPKIState.Unmarshal(m, b) -} -func (m *RPKIState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RPKIState.Marshal(b, m, deterministic) -} -func (m *RPKIState) XXX_Merge(src proto.Message) { - xxx_messageInfo_RPKIState.Merge(m, src) -} -func (m *RPKIState) XXX_Size() int { - return xxx_messageInfo_RPKIState.Size(m) -} -func (m *RPKIState) XXX_DiscardUnknown() { - xxx_messageInfo_RPKIState.DiscardUnknown(m) -} - -var xxx_messageInfo_RPKIState proto.InternalMessageInfo - -func (m *RPKIState) GetUptime() *timestamp.Timestamp { - if m != nil { - return m.Uptime +func (x *RPKIState) GetUptime() *timestamppb.Timestamp { + if x != nil { + return x.Uptime } return nil } -func (m *RPKIState) GetDowntime() *timestamp.Timestamp { - if m != nil { - return m.Downtime +func (x *RPKIState) GetDowntime() *timestamppb.Timestamp { + if x != nil { + return x.Downtime } return nil } -func (m *RPKIState) GetUp() bool { - if m != nil { - return m.Up +func (x *RPKIState) GetUp() bool { + if x != nil { + return x.Up } return false } -func (m *RPKIState) GetRecordIpv4() uint32 { - if m != nil { - return m.RecordIpv4 +func (x *RPKIState) GetRecordIpv4() uint32 { + if x != nil { + return x.RecordIpv4 } return 0 } -func (m *RPKIState) GetRecordIpv6() uint32 { - if m != nil { - return m.RecordIpv6 +func (x *RPKIState) GetRecordIpv6() uint32 { + if x != nil { + return x.RecordIpv6 } return 0 } -func (m *RPKIState) GetPrefixIpv4() uint32 { - if m != nil { - return m.PrefixIpv4 +func (x *RPKIState) GetPrefixIpv4() uint32 { + if x != nil { + return x.PrefixIpv4 } return 0 } -func (m *RPKIState) GetPrefixIpv6() uint32 { - if m != nil { - return m.PrefixIpv6 +func (x *RPKIState) GetPrefixIpv6() uint32 { + if x != nil { + return x.PrefixIpv6 } return 0 } -func (m *RPKIState) GetSerial() uint32 { - if m != nil { - return m.Serial +func (x *RPKIState) GetSerial() uint32 { + if x != nil { + return x.Serial } return 0 } -func (m *RPKIState) GetReceivedIpv4() int64 { - if m != nil { - return m.ReceivedIpv4 +func (x *RPKIState) GetReceivedIpv4() int64 { + if x != nil { + return x.ReceivedIpv4 } return 0 } -func (m *RPKIState) GetReceivedIpv6() int64 { - if m != nil { - return m.ReceivedIpv6 +func (x *RPKIState) GetReceivedIpv6() int64 { + if x != nil { + return x.ReceivedIpv6 } return 0 } -func (m *RPKIState) GetSerialNotify() int64 { - if m != nil { - return m.SerialNotify +func (x *RPKIState) GetSerialNotify() int64 { + if x != nil { + return x.SerialNotify } return 0 } -func (m *RPKIState) GetCacheReset() int64 { - if m != nil { - return m.CacheReset +func (x *RPKIState) GetCacheReset() int64 { + if x != nil { + return x.CacheReset } return 0 } -func (m *RPKIState) GetCacheResponse() int64 { - if m != nil { - return m.CacheResponse +func (x *RPKIState) GetCacheResponse() int64 { + if x != nil { + return x.CacheResponse } return 0 } -func (m *RPKIState) GetEndOfData() int64 { - if m != nil { - return m.EndOfData +func (x *RPKIState) GetEndOfData() int64 { + if x != nil { + return x.EndOfData } return 0 } -func (m *RPKIState) GetError() int64 { - if m != nil { - return m.Error +func (x *RPKIState) GetError() int64 { + if x != nil { + return x.Error } return 0 } -func (m *RPKIState) GetSerialQuery() int64 { - if m != nil { - return m.SerialQuery +func (x *RPKIState) GetSerialQuery() int64 { + if x != nil { + return x.SerialQuery } return 0 } -func (m *RPKIState) GetResetQuery() int64 { - if m != nil { - return m.ResetQuery +func (x *RPKIState) GetResetQuery() int64 { + if x != nil { + return x.ResetQuery } return 0 } type Rpki struct { - Conf *RPKIConf `protobuf:"bytes,1,opt,name=conf,proto3" json:"conf,omitempty"` - State *RPKIState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conf *RPKIConf `protobuf:"bytes,1,opt,name=conf,proto3" json:"conf,omitempty"` + State *RPKIState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` } -func (m *Rpki) Reset() { *m = Rpki{} } -func (m *Rpki) String() string { return proto.CompactTextString(m) } -func (*Rpki) ProtoMessage() {} +func (x *Rpki) Reset() { + *x = Rpki{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Rpki) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Rpki) ProtoMessage() {} + +func (x *Rpki) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[147] + 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 Rpki.ProtoReflect.Descriptor instead. func (*Rpki) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{147} + return file_gobgp_proto_rawDescGZIP(), []int{147} } -func (m *Rpki) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Rpki.Unmarshal(m, b) -} -func (m *Rpki) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Rpki.Marshal(b, m, deterministic) -} -func (m *Rpki) XXX_Merge(src proto.Message) { - xxx_messageInfo_Rpki.Merge(m, src) -} -func (m *Rpki) XXX_Size() int { - return xxx_messageInfo_Rpki.Size(m) -} -func (m *Rpki) XXX_DiscardUnknown() { - xxx_messageInfo_Rpki.DiscardUnknown(m) -} - -var xxx_messageInfo_Rpki proto.InternalMessageInfo - -func (m *Rpki) GetConf() *RPKIConf { - if m != nil { - return m.Conf +func (x *Rpki) GetConf() *RPKIConf { + if x != nil { + return x.Conf } return nil } -func (m *Rpki) GetState() *RPKIState { - if m != nil { - return m.State +func (x *Rpki) GetState() *RPKIState { + if x != nil { + return x.State } return nil } type SetLogLevelRequest struct { - Level SetLogLevelRequest_Level `protobuf:"varint,1,opt,name=level,proto3,enum=gobgpapi.SetLogLevelRequest_Level" json:"level,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Level SetLogLevelRequest_Level `protobuf:"varint,1,opt,name=level,proto3,enum=apipb.SetLogLevelRequest_Level" json:"level,omitempty"` } -func (m *SetLogLevelRequest) Reset() { *m = SetLogLevelRequest{} } -func (m *SetLogLevelRequest) String() string { return proto.CompactTextString(m) } -func (*SetLogLevelRequest) ProtoMessage() {} +func (x *SetLogLevelRequest) Reset() { + *x = SetLogLevelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_gobgp_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetLogLevelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetLogLevelRequest) ProtoMessage() {} + +func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message { + mi := &file_gobgp_proto_msgTypes[148] + 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 SetLogLevelRequest.ProtoReflect.Descriptor instead. func (*SetLogLevelRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_7cc8e5cf92decdb2, []int{148} + return file_gobgp_proto_rawDescGZIP(), []int{148} } -func (m *SetLogLevelRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SetLogLevelRequest.Unmarshal(m, b) -} -func (m *SetLogLevelRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SetLogLevelRequest.Marshal(b, m, deterministic) -} -func (m *SetLogLevelRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SetLogLevelRequest.Merge(m, src) -} -func (m *SetLogLevelRequest) XXX_Size() int { - return xxx_messageInfo_SetLogLevelRequest.Size(m) -} -func (m *SetLogLevelRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SetLogLevelRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_SetLogLevelRequest proto.InternalMessageInfo - -func (m *SetLogLevelRequest) GetLevel() SetLogLevelRequest_Level { - if m != nil { - return m.Level +func (x *SetLogLevelRequest) GetLevel() SetLogLevelRequest_Level { + if x != nil { + return x.Level } return SetLogLevelRequest_PANIC } -func init() { - proto.RegisterEnum("gobgpapi.TableType", TableType_name, TableType_value) - proto.RegisterEnum("gobgpapi.TableLookupOption", TableLookupOption_name, TableLookupOption_value) - proto.RegisterEnum("gobgpapi.DefinedType", DefinedType_name, DefinedType_value) - proto.RegisterEnum("gobgpapi.MatchType", MatchType_name, MatchType_value) - proto.RegisterEnum("gobgpapi.AsPathLengthType", AsPathLengthType_name, AsPathLengthType_value) - proto.RegisterEnum("gobgpapi.RouteAction", RouteAction_name, RouteAction_value) - proto.RegisterEnum("gobgpapi.CommunityActionType", CommunityActionType_name, CommunityActionType_value) - proto.RegisterEnum("gobgpapi.MedActionType", MedActionType_name, MedActionType_value) - proto.RegisterEnum("gobgpapi.PolicyDirection", PolicyDirection_name, PolicyDirection_value) - proto.RegisterEnum("gobgpapi.ResetPeerRequest_SoftResetDirection", ResetPeerRequest_SoftResetDirection_name, ResetPeerRequest_SoftResetDirection_value) - proto.RegisterEnum("gobgpapi.ListPathRequest_SortType", ListPathRequest_SortType_name, ListPathRequest_SortType_value) - proto.RegisterEnum("gobgpapi.AddBmpRequest_MonitoringPolicy", AddBmpRequest_MonitoringPolicy_name, AddBmpRequest_MonitoringPolicy_value) - proto.RegisterEnum("gobgpapi.Family_Afi", Family_Afi_name, Family_Afi_value) - proto.RegisterEnum("gobgpapi.Family_Safi", Family_Safi_name, Family_Safi_value) - proto.RegisterEnum("gobgpapi.Validation_State", Validation_State_name, Validation_State_value) - proto.RegisterEnum("gobgpapi.Validation_Reason", Validation_Reason_name, Validation_Reason_value) - proto.RegisterEnum("gobgpapi.PeerConf_RemovePrivateAs", PeerConf_RemovePrivateAs_name, PeerConf_RemovePrivateAs_value) - proto.RegisterEnum("gobgpapi.PeerGroupConf_RemovePrivateAs", PeerGroupConf_RemovePrivateAs_name, PeerGroupConf_RemovePrivateAs_value) - proto.RegisterEnum("gobgpapi.PeerGroupState_RemovePrivateAs", PeerGroupState_RemovePrivateAs_name, PeerGroupState_RemovePrivateAs_value) - proto.RegisterEnum("gobgpapi.PeerState_SessionState", PeerState_SessionState_name, PeerState_SessionState_value) - proto.RegisterEnum("gobgpapi.PeerState_AdminState", PeerState_AdminState_name, PeerState_AdminState_value) - proto.RegisterEnum("gobgpapi.Conditions_RouteType", Conditions_RouteType_name, Conditions_RouteType_value) - proto.RegisterEnum("gobgpapi.SetLogLevelRequest_Level", SetLogLevelRequest_Level_name, SetLogLevelRequest_Level_value) - proto.RegisterType((*StartBgpRequest)(nil), "gobgpapi.StartBgpRequest") - proto.RegisterType((*StopBgpRequest)(nil), "gobgpapi.StopBgpRequest") - proto.RegisterType((*GetBgpRequest)(nil), "gobgpapi.GetBgpRequest") - proto.RegisterType((*GetBgpResponse)(nil), "gobgpapi.GetBgpResponse") - proto.RegisterType((*AddPeerRequest)(nil), "gobgpapi.AddPeerRequest") - proto.RegisterType((*DeletePeerRequest)(nil), "gobgpapi.DeletePeerRequest") - proto.RegisterType((*ListPeerRequest)(nil), "gobgpapi.ListPeerRequest") - proto.RegisterType((*ListPeerResponse)(nil), "gobgpapi.ListPeerResponse") - proto.RegisterType((*UpdatePeerRequest)(nil), "gobgpapi.UpdatePeerRequest") - proto.RegisterType((*UpdatePeerResponse)(nil), "gobgpapi.UpdatePeerResponse") - proto.RegisterType((*ResetPeerRequest)(nil), "gobgpapi.ResetPeerRequest") - proto.RegisterType((*ShutdownPeerRequest)(nil), "gobgpapi.ShutdownPeerRequest") - proto.RegisterType((*EnablePeerRequest)(nil), "gobgpapi.EnablePeerRequest") - proto.RegisterType((*DisablePeerRequest)(nil), "gobgpapi.DisablePeerRequest") - proto.RegisterType((*MonitorPeerRequest)(nil), "gobgpapi.MonitorPeerRequest") - proto.RegisterType((*MonitorPeerResponse)(nil), "gobgpapi.MonitorPeerResponse") - proto.RegisterType((*AddPeerGroupRequest)(nil), "gobgpapi.AddPeerGroupRequest") - proto.RegisterType((*DeletePeerGroupRequest)(nil), "gobgpapi.DeletePeerGroupRequest") - proto.RegisterType((*UpdatePeerGroupRequest)(nil), "gobgpapi.UpdatePeerGroupRequest") - proto.RegisterType((*UpdatePeerGroupResponse)(nil), "gobgpapi.UpdatePeerGroupResponse") - proto.RegisterType((*ListPeerGroupRequest)(nil), "gobgpapi.ListPeerGroupRequest") - proto.RegisterType((*ListPeerGroupResponse)(nil), "gobgpapi.ListPeerGroupResponse") - proto.RegisterType((*AddDynamicNeighborRequest)(nil), "gobgpapi.AddDynamicNeighborRequest") - proto.RegisterType((*DeleteDynamicNeighborRequest)(nil), "gobgpapi.DeleteDynamicNeighborRequest") - proto.RegisterType((*ListDynamicNeighborRequest)(nil), "gobgpapi.ListDynamicNeighborRequest") - proto.RegisterType((*ListDynamicNeighborResponse)(nil), "gobgpapi.ListDynamicNeighborResponse") - proto.RegisterType((*AddPathRequest)(nil), "gobgpapi.AddPathRequest") - proto.RegisterType((*AddPathResponse)(nil), "gobgpapi.AddPathResponse") - proto.RegisterType((*DeletePathRequest)(nil), "gobgpapi.DeletePathRequest") - proto.RegisterType((*ListPathRequest)(nil), "gobgpapi.ListPathRequest") - proto.RegisterType((*ListPathResponse)(nil), "gobgpapi.ListPathResponse") - proto.RegisterType((*AddPathStreamRequest)(nil), "gobgpapi.AddPathStreamRequest") - proto.RegisterType((*GetTableRequest)(nil), "gobgpapi.GetTableRequest") - proto.RegisterType((*GetTableResponse)(nil), "gobgpapi.GetTableResponse") - proto.RegisterType((*MonitorTableRequest)(nil), "gobgpapi.MonitorTableRequest") - proto.RegisterType((*MonitorTableResponse)(nil), "gobgpapi.MonitorTableResponse") - proto.RegisterType((*AddVrfRequest)(nil), "gobgpapi.AddVrfRequest") - proto.RegisterType((*DeleteVrfRequest)(nil), "gobgpapi.DeleteVrfRequest") - proto.RegisterType((*ListVrfRequest)(nil), "gobgpapi.ListVrfRequest") - proto.RegisterType((*ListVrfResponse)(nil), "gobgpapi.ListVrfResponse") - proto.RegisterType((*AddPolicyRequest)(nil), "gobgpapi.AddPolicyRequest") - proto.RegisterType((*DeletePolicyRequest)(nil), "gobgpapi.DeletePolicyRequest") - proto.RegisterType((*ListPolicyRequest)(nil), "gobgpapi.ListPolicyRequest") - proto.RegisterType((*ListPolicyResponse)(nil), "gobgpapi.ListPolicyResponse") - proto.RegisterType((*SetPoliciesRequest)(nil), "gobgpapi.SetPoliciesRequest") - proto.RegisterType((*AddDefinedSetRequest)(nil), "gobgpapi.AddDefinedSetRequest") - proto.RegisterType((*DeleteDefinedSetRequest)(nil), "gobgpapi.DeleteDefinedSetRequest") - proto.RegisterType((*ListDefinedSetRequest)(nil), "gobgpapi.ListDefinedSetRequest") - proto.RegisterType((*ListDefinedSetResponse)(nil), "gobgpapi.ListDefinedSetResponse") - proto.RegisterType((*AddStatementRequest)(nil), "gobgpapi.AddStatementRequest") - proto.RegisterType((*DeleteStatementRequest)(nil), "gobgpapi.DeleteStatementRequest") - proto.RegisterType((*ListStatementRequest)(nil), "gobgpapi.ListStatementRequest") - proto.RegisterType((*ListStatementResponse)(nil), "gobgpapi.ListStatementResponse") - proto.RegisterType((*AddPolicyAssignmentRequest)(nil), "gobgpapi.AddPolicyAssignmentRequest") - proto.RegisterType((*DeletePolicyAssignmentRequest)(nil), "gobgpapi.DeletePolicyAssignmentRequest") - proto.RegisterType((*ListPolicyAssignmentRequest)(nil), "gobgpapi.ListPolicyAssignmentRequest") - proto.RegisterType((*ListPolicyAssignmentResponse)(nil), "gobgpapi.ListPolicyAssignmentResponse") - proto.RegisterType((*SetPolicyAssignmentRequest)(nil), "gobgpapi.SetPolicyAssignmentRequest") - proto.RegisterType((*AddRpkiRequest)(nil), "gobgpapi.AddRpkiRequest") - proto.RegisterType((*DeleteRpkiRequest)(nil), "gobgpapi.DeleteRpkiRequest") - proto.RegisterType((*ListRpkiRequest)(nil), "gobgpapi.ListRpkiRequest") - proto.RegisterType((*ListRpkiResponse)(nil), "gobgpapi.ListRpkiResponse") - proto.RegisterType((*EnableRpkiRequest)(nil), "gobgpapi.EnableRpkiRequest") - proto.RegisterType((*DisableRpkiRequest)(nil), "gobgpapi.DisableRpkiRequest") - proto.RegisterType((*ResetRpkiRequest)(nil), "gobgpapi.ResetRpkiRequest") - proto.RegisterType((*ListRpkiTableRequest)(nil), "gobgpapi.ListRpkiTableRequest") - proto.RegisterType((*ListRpkiTableResponse)(nil), "gobgpapi.ListRpkiTableResponse") - proto.RegisterType((*EnableZebraRequest)(nil), "gobgpapi.EnableZebraRequest") - proto.RegisterType((*EnableMrtRequest)(nil), "gobgpapi.EnableMrtRequest") - proto.RegisterType((*DisableMrtRequest)(nil), "gobgpapi.DisableMrtRequest") - proto.RegisterType((*AddBmpRequest)(nil), "gobgpapi.AddBmpRequest") - proto.RegisterType((*DeleteBmpRequest)(nil), "gobgpapi.DeleteBmpRequest") - proto.RegisterType((*Family)(nil), "gobgpapi.Family") - proto.RegisterType((*Validation)(nil), "gobgpapi.Validation") - proto.RegisterType((*Path)(nil), "gobgpapi.Path") - proto.RegisterType((*Destination)(nil), "gobgpapi.Destination") - proto.RegisterType((*TableLookupPrefix)(nil), "gobgpapi.TableLookupPrefix") - proto.RegisterType((*Peer)(nil), "gobgpapi.Peer") - proto.RegisterType((*PeerGroup)(nil), "gobgpapi.PeerGroup") - proto.RegisterType((*DynamicNeighbor)(nil), "gobgpapi.DynamicNeighbor") - proto.RegisterType((*ApplyPolicy)(nil), "gobgpapi.ApplyPolicy") - proto.RegisterType((*PrefixLimit)(nil), "gobgpapi.PrefixLimit") - proto.RegisterType((*PeerConf)(nil), "gobgpapi.PeerConf") - proto.RegisterType((*PeerGroupConf)(nil), "gobgpapi.PeerGroupConf") - proto.RegisterType((*PeerGroupState)(nil), "gobgpapi.PeerGroupState") - proto.RegisterType((*TtlSecurity)(nil), "gobgpapi.TtlSecurity") - proto.RegisterType((*EbgpMultihop)(nil), "gobgpapi.EbgpMultihop") - proto.RegisterType((*RouteReflector)(nil), "gobgpapi.RouteReflector") - proto.RegisterType((*PeerState)(nil), "gobgpapi.PeerState") - proto.RegisterType((*Messages)(nil), "gobgpapi.Messages") - proto.RegisterType((*Message)(nil), "gobgpapi.Message") - proto.RegisterType((*Queues)(nil), "gobgpapi.Queues") - proto.RegisterType((*Timers)(nil), "gobgpapi.Timers") - proto.RegisterType((*TimersConfig)(nil), "gobgpapi.TimersConfig") - proto.RegisterType((*TimersState)(nil), "gobgpapi.TimersState") - proto.RegisterType((*Transport)(nil), "gobgpapi.Transport") - proto.RegisterType((*RouteServer)(nil), "gobgpapi.RouteServer") - proto.RegisterType((*GracefulRestart)(nil), "gobgpapi.GracefulRestart") - proto.RegisterType((*MpGracefulRestartConfig)(nil), "gobgpapi.MpGracefulRestartConfig") - proto.RegisterType((*MpGracefulRestartState)(nil), "gobgpapi.MpGracefulRestartState") - proto.RegisterType((*MpGracefulRestart)(nil), "gobgpapi.MpGracefulRestart") - proto.RegisterType((*AfiSafiConfig)(nil), "gobgpapi.AfiSafiConfig") - proto.RegisterType((*AfiSafiState)(nil), "gobgpapi.AfiSafiState") - proto.RegisterType((*RouteSelectionOptionsConfig)(nil), "gobgpapi.RouteSelectionOptionsConfig") - proto.RegisterType((*RouteSelectionOptionsState)(nil), "gobgpapi.RouteSelectionOptionsState") - proto.RegisterType((*RouteSelectionOptions)(nil), "gobgpapi.RouteSelectionOptions") - proto.RegisterType((*UseMultiplePathsConfig)(nil), "gobgpapi.UseMultiplePathsConfig") - proto.RegisterType((*UseMultiplePathsState)(nil), "gobgpapi.UseMultiplePathsState") - proto.RegisterType((*EbgpConfig)(nil), "gobgpapi.EbgpConfig") - proto.RegisterType((*EbgpState)(nil), "gobgpapi.EbgpState") - proto.RegisterType((*Ebgp)(nil), "gobgpapi.Ebgp") - proto.RegisterType((*IbgpConfig)(nil), "gobgpapi.IbgpConfig") - proto.RegisterType((*IbgpState)(nil), "gobgpapi.IbgpState") - proto.RegisterType((*Ibgp)(nil), "gobgpapi.Ibgp") - proto.RegisterType((*UseMultiplePaths)(nil), "gobgpapi.UseMultiplePaths") - proto.RegisterType((*RouteTargetMembershipConfig)(nil), "gobgpapi.RouteTargetMembershipConfig") - proto.RegisterType((*RouteTargetMembershipState)(nil), "gobgpapi.RouteTargetMembershipState") - proto.RegisterType((*RouteTargetMembership)(nil), "gobgpapi.RouteTargetMembership") - proto.RegisterType((*LongLivedGracefulRestartConfig)(nil), "gobgpapi.LongLivedGracefulRestartConfig") - proto.RegisterType((*LongLivedGracefulRestartState)(nil), "gobgpapi.LongLivedGracefulRestartState") - proto.RegisterType((*LongLivedGracefulRestart)(nil), "gobgpapi.LongLivedGracefulRestart") - proto.RegisterType((*AfiSafi)(nil), "gobgpapi.AfiSafi") - proto.RegisterType((*AddPathsConfig)(nil), "gobgpapi.AddPathsConfig") - proto.RegisterType((*AddPathsState)(nil), "gobgpapi.AddPathsState") - proto.RegisterType((*AddPaths)(nil), "gobgpapi.AddPaths") - proto.RegisterType((*Prefix)(nil), "gobgpapi.Prefix") - proto.RegisterType((*DefinedSet)(nil), "gobgpapi.DefinedSet") - proto.RegisterType((*MatchSet)(nil), "gobgpapi.MatchSet") - proto.RegisterType((*AsPathLength)(nil), "gobgpapi.AsPathLength") - proto.RegisterType((*Conditions)(nil), "gobgpapi.Conditions") - proto.RegisterType((*CommunityAction)(nil), "gobgpapi.CommunityAction") - proto.RegisterType((*MedAction)(nil), "gobgpapi.MedAction") - proto.RegisterType((*AsPrependAction)(nil), "gobgpapi.AsPrependAction") - proto.RegisterType((*NexthopAction)(nil), "gobgpapi.NexthopAction") - proto.RegisterType((*LocalPrefAction)(nil), "gobgpapi.LocalPrefAction") - proto.RegisterType((*Actions)(nil), "gobgpapi.Actions") - proto.RegisterType((*Statement)(nil), "gobgpapi.Statement") - proto.RegisterType((*Policy)(nil), "gobgpapi.Policy") - proto.RegisterType((*PolicyAssignment)(nil), "gobgpapi.PolicyAssignment") - proto.RegisterType((*RoutingPolicy)(nil), "gobgpapi.RoutingPolicy") - proto.RegisterType((*Roa)(nil), "gobgpapi.Roa") - proto.RegisterType((*Vrf)(nil), "gobgpapi.Vrf") - proto.RegisterType((*DefaultRouteDistance)(nil), "gobgpapi.DefaultRouteDistance") - proto.RegisterType((*Global)(nil), "gobgpapi.Global") - proto.RegisterType((*Confederation)(nil), "gobgpapi.Confederation") - proto.RegisterType((*RPKIConf)(nil), "gobgpapi.RPKIConf") - proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState") - proto.RegisterType((*Rpki)(nil), "gobgpapi.Rpki") - proto.RegisterType((*SetLogLevelRequest)(nil), "gobgpapi.SetLogLevelRequest") -} - -func init() { proto.RegisterFile("gobgp.proto", fileDescriptor_7cc8e5cf92decdb2) } - -var fileDescriptor_7cc8e5cf92decdb2 = []byte{ - // 8305 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x4b, 0x6c, 0x1c, 0xc9, - 0x92, 0xd8, 0xf4, 0x87, 0xcd, 0xee, 0xe8, 0x6e, 0x76, 0x31, 0x49, 0x91, 0x14, 0x35, 0xfa, 0x4c, - 0x8d, 0x46, 0xd2, 0x68, 0x34, 0x1a, 0x49, 0x33, 0x4f, 0x33, 0x4f, 0xda, 0xf9, 0xb4, 0xc8, 0x16, - 0xd5, 0x4f, 0xcd, 0xee, 0x9e, 0xea, 0xa6, 0x46, 0xf3, 0xd6, 0xcf, 0xb5, 0xc5, 0xae, 0xec, 0x66, - 0x79, 0xaa, 0xab, 0x6a, 0xaa, 0xaa, 0x29, 0x72, 0x2f, 0x7e, 0xfb, 0x76, 0xfd, 0x0c, 0xc3, 0x30, - 0x60, 0xd8, 0x87, 0x3d, 0x78, 0x0d, 0x03, 0xf6, 0xc5, 0x30, 0x0c, 0xfb, 0x62, 0x1f, 0x0c, 0x5f, - 0x0c, 0xc3, 0x07, 0xc3, 0x0b, 0xf8, 0xe4, 0x93, 0x0f, 0x36, 0x60, 0xd8, 0xf0, 0xcd, 0x80, 0x2f, - 0x3e, 0x1b, 0xf9, 0xa9, 0xaa, 0xac, 0x4f, 0x93, 0x14, 0xa5, 0xf7, 0x76, 0x17, 0xd8, 0x13, 0x3b, - 0x23, 0x22, 0x23, 0x23, 0x33, 0x23, 0x23, 0x23, 0x23, 0xb3, 0x82, 0x50, 0x9d, 0xd8, 0xfb, 0x13, - 0xe7, 0xae, 0xe3, 0xda, 0xbe, 0x8d, 0xca, 0xb4, 0xa0, 0x39, 0xc6, 0xe6, 0xc5, 0x89, 0x6d, 0x4f, - 0x4c, 0xfc, 0x09, 0x85, 0xef, 0xcf, 0xc6, 0x9f, 0x68, 0xd6, 0x31, 0x23, 0xda, 0xbc, 0x94, 0x44, - 0xe1, 0xa9, 0xe3, 0x07, 0xc8, 0xab, 0x49, 0xa4, 0x6f, 0x4c, 0xb1, 0xe7, 0x6b, 0x53, 0xde, 0x84, - 0xfc, 0x18, 0x1a, 0x03, 0x5f, 0x73, 0xfd, 0x27, 0x13, 0x47, 0xc1, 0x3f, 0xce, 0xb0, 0xe7, 0xa3, - 0x5b, 0x50, 0x9a, 0x98, 0xf6, 0xbe, 0x66, 0x6e, 0xe4, 0xae, 0xe5, 0x6e, 0x55, 0x1f, 0x48, 0x77, - 0x03, 0x31, 0xee, 0xee, 0x50, 0xb8, 0xc2, 0xf1, 0xb2, 0x04, 0x4b, 0x03, 0xdf, 0x76, 0xa2, 0xba, - 0x72, 0x03, 0xea, 0x3b, 0x58, 0x60, 0x26, 0x3f, 0x82, 0xa5, 0x00, 0xe0, 0x39, 0xb6, 0xe5, 0xe1, - 0xd7, 0x60, 0xff, 0x19, 0x2c, 0x35, 0x75, 0xbd, 0x8f, 0xb1, 0x1b, 0x88, 0x26, 0x43, 0xd1, 0xc1, - 0xd8, 0xe5, 0x35, 0x97, 0xa2, 0x9a, 0x94, 0x88, 0xe2, 0xe4, 0xe7, 0xb0, 0xbc, 0x8d, 0x4d, 0xec, - 0x63, 0xb1, 0xe2, 0x06, 0x2c, 0x6a, 0xba, 0xee, 0x62, 0xcf, 0xa3, 0x75, 0x2b, 0x4a, 0x50, 0x44, - 0xef, 0x42, 0xc5, 0xb0, 0x7c, 0xec, 0x8e, 0xb5, 0x11, 0xde, 0xc8, 0x53, 0x5c, 0x04, 0x90, 0xbf, - 0x83, 0x46, 0xc7, 0xf0, 0xfc, 0xb3, 0xb1, 0xba, 0x0d, 0x12, 0xb6, 0xb4, 0x7d, 0x13, 0x37, 0xf5, - 0x43, 0xec, 0xfa, 0x86, 0x87, 0x75, 0xca, 0xb1, 0xac, 0xa4, 0xe0, 0xf2, 0x43, 0x90, 0x22, 0xc6, - 0x7c, 0x64, 0xce, 0xd2, 0xbb, 0xdf, 0x83, 0xe5, 0x3d, 0x47, 0xd7, 0xe2, 0xbd, 0x3b, 0x43, 0x45, - 0x74, 0x13, 0x24, 0xdd, 0x56, 0x3d, 0x7b, 0xec, 0xab, 0x2e, 0xf6, 0xb0, 0xaf, 0x1a, 0x16, 0x17, - 0xae, 0xae, 0xdb, 0x03, 0x7b, 0xec, 0x2b, 0x04, 0xda, 0xb6, 0xe4, 0x2d, 0x40, 0x62, 0x0b, 0x5c, - 0xb6, 0x8f, 0x61, 0xc5, 0xc2, 0x58, 0xf7, 0x12, 0x1c, 0x72, 0xac, 0x7b, 0x14, 0x25, 0x32, 0xf9, - 0x9f, 0x39, 0x90, 0xe8, 0xef, 0xb3, 0x8d, 0xdc, 0x75, 0xa8, 0x8f, 0xec, 0xe9, 0x74, 0x66, 0x19, - 0x23, 0xcd, 0x37, 0x6c, 0x8b, 0x4f, 0x44, 0x1c, 0x88, 0x10, 0x14, 0x49, 0xeb, 0x1b, 0x05, 0xda, - 0x28, 0xfd, 0x8d, 0x9e, 0x43, 0x45, 0x37, 0x5c, 0x3c, 0xa2, 0xb5, 0x8a, 0xd7, 0x72, 0xb7, 0x96, - 0x1e, 0x7c, 0x1c, 0xf5, 0x3f, 0x29, 0xc2, 0xdd, 0x50, 0xc6, 0xed, 0xa0, 0x92, 0x12, 0xd5, 0x97, - 0x3f, 0x01, 0x94, 0x26, 0x40, 0x25, 0xc8, 0xb7, 0xbb, 0xd2, 0x3b, 0x68, 0x11, 0x0a, 0xbd, 0xbd, - 0xa1, 0x94, 0x43, 0x65, 0x28, 0x3e, 0xe9, 0x0d, 0x9f, 0x49, 0x79, 0x79, 0x0f, 0x56, 0x06, 0x07, - 0x33, 0x5f, 0xb7, 0x5f, 0x59, 0x6f, 0xb1, 0xa3, 0xf2, 0xc7, 0xb0, 0xdc, 0xa2, 0x0a, 0x73, 0x26, - 0xa6, 0xf2, 0x10, 0xd0, 0xb6, 0xe1, 0x9d, 0x99, 0xfe, 0x8c, 0x42, 0x4c, 0x01, 0xed, 0xda, 0x96, - 0xe1, 0xdb, 0xee, 0xd9, 0xb8, 0x6e, 0xc0, 0xe2, 0x68, 0xe6, 0xba, 0xd8, 0xf2, 0xb9, 0x5e, 0x05, - 0x45, 0xf4, 0x3e, 0xd4, 0x0d, 0xcb, 0xf0, 0x0d, 0xcd, 0x54, 0x3d, 0x5f, 0xf3, 0x31, 0x9f, 0xc0, - 0x1a, 0x07, 0x0e, 0x08, 0x4c, 0xfe, 0x29, 0xac, 0xc4, 0x9a, 0x7b, 0x8d, 0x35, 0xd1, 0x86, 0x15, - 0x6e, 0x27, 0x76, 0x5c, 0x7b, 0x16, 0xda, 0xb1, 0x07, 0x00, 0x04, 0xad, 0x4e, 0x08, 0x90, 0x33, - 0x58, 0x89, 0x33, 0x60, 0xf4, 0x15, 0x27, 0xf8, 0x29, 0xdf, 0x81, 0xb5, 0xc8, 0x78, 0xc4, 0xb8, - 0x21, 0x28, 0x5a, 0xda, 0x14, 0xf3, 0x5e, 0xd3, 0xdf, 0xf2, 0x0c, 0xd6, 0xa2, 0xa5, 0xf2, 0xa6, - 0x6d, 0x9f, 0x7d, 0x85, 0x3e, 0x83, 0xf5, 0x54, 0xb3, 0xe7, 0x5b, 0xa6, 0x5f, 0xc1, 0x6a, 0x60, - 0x85, 0x62, 0xe2, 0xdf, 0x80, 0x46, 0x24, 0xbe, 0x2a, 0xf4, 0xbb, 0x1e, 0x8a, 0xdb, 0x25, 0x03, - 0xf0, 0x1c, 0x2e, 0x24, 0xea, 0x73, 0x39, 0xce, 0x33, 0xf6, 0x1a, 0x5c, 0x6c, 0xea, 0xfa, 0xf6, - 0xb1, 0xa5, 0x4d, 0x8d, 0x51, 0x17, 0x1b, 0x93, 0x83, 0x7d, 0x3b, 0xd4, 0xbb, 0x6d, 0x90, 0x74, - 0x86, 0x51, 0x2d, 0x8e, 0xe2, 0x6c, 0x2f, 0x46, 0x6c, 0x93, 0x75, 0x1b, 0x7a, 0x1c, 0x20, 0xef, - 0xc1, 0xbb, 0x6c, 0x7a, 0xe7, 0xb4, 0xb2, 0x06, 0x25, 0xc7, 0xc5, 0x63, 0xe3, 0x88, 0x77, 0x97, - 0x97, 0xd0, 0xe5, 0x58, 0x77, 0xf8, 0x2e, 0x11, 0x49, 0xfe, 0x18, 0x36, 0xc9, 0x30, 0xcc, 0x61, - 0x7a, 0x39, 0x35, 0x16, 0xb1, 0xca, 0x23, 0xb8, 0x94, 0x59, 0x99, 0x8f, 0xe4, 0xdb, 0xe9, 0xf8, - 0x5f, 0x67, 0x5b, 0xa9, 0xe6, 0x1f, 0x08, 0x1a, 0xea, 0x13, 0x93, 0xa1, 0xfa, 0xc7, 0x0e, 0x9b, - 0xdd, 0x25, 0x71, 0x86, 0x86, 0x04, 0x37, 0x3c, 0x76, 0xb0, 0x52, 0xf1, 0x83, 0x9f, 0xe8, 0x02, - 0x94, 0x0e, 0xdd, 0xb1, 0x6a, 0xe8, 0x7c, 0x08, 0x16, 0x0e, 0xdd, 0x71, 0x5b, 0xa7, 0x6b, 0x54, - 0xf3, 0x0f, 0xe8, 0xb2, 0x8e, 0xaf, 0x51, 0xd2, 0x1e, 0xc5, 0xc9, 0x1f, 0x40, 0x23, 0x14, 0x80, - 0xf7, 0x0c, 0x41, 0x71, 0x36, 0x33, 0x74, 0xda, 0x76, 0x4d, 0xa1, 0xbf, 0xe5, 0x7f, 0x97, 0x0b, - 0x77, 0xef, 0xdf, 0x8c, 0xac, 0xb7, 0xa0, 0x34, 0xd6, 0xa6, 0x86, 0x79, 0xcc, 0xa5, 0x15, 0xbc, - 0x8f, 0xa7, 0x14, 0xae, 0x70, 0x7c, 0xd8, 0xab, 0xe2, 0xfc, 0x5e, 0x85, 0x5d, 0x58, 0x10, 0xba, - 0xf0, 0x2f, 0x0a, 0xdc, 0x67, 0x78, 0xc3, 0x0e, 0x04, 0x06, 0x27, 0x1f, 0x19, 0x9c, 0xd7, 0x90, - 0xfe, 0x73, 0x28, 0x33, 0xdd, 0xc5, 0xde, 0x46, 0xf1, 0x5a, 0xe1, 0x56, 0xf5, 0xc1, 0xa5, 0x44, - 0x7b, 0x1d, 0xdb, 0xfe, 0x61, 0xe6, 0xf4, 0x29, 0x91, 0x12, 0x12, 0xa3, 0xaf, 0xa1, 0xe2, 0xd9, - 0xae, 0xcf, 0x24, 0x5d, 0xa0, 0x92, 0xca, 0x51, 0xcd, 0x44, 0xc7, 0xee, 0x0e, 0x6c, 0xd7, 0xa7, - 0x82, 0x97, 0x3d, 0xfe, 0x0b, 0xdd, 0x84, 0x06, 0xf3, 0x76, 0xd4, 0xb1, 0x61, 0xfa, 0xd8, 0xc5, - 0xfa, 0x46, 0x89, 0x9a, 0x9f, 0x25, 0x06, 0x7e, 0xca, 0xa1, 0xe8, 0x0e, 0x20, 0x4e, 0x68, 0x99, - 0xae, 0xa1, 0xee, 0x1b, 0x96, 0xe6, 0x1e, 0x6f, 0x2c, 0x8a, 0x0e, 0x53, 0xd7, 0x74, 0x8d, 0x27, - 0x14, 0x8e, 0x1e, 0xc2, 0x3a, 0xa7, 0xd6, 0x7c, 0xdf, 0x35, 0xf6, 0x67, 0x3e, 0x0e, 0xaa, 0x94, - 0x69, 0x95, 0x0b, 0xdc, 0xc7, 0x0a, 0xb0, 0xac, 0x9e, 0x7c, 0x0d, 0xca, 0x81, 0x90, 0x64, 0xe3, - 0xee, 0xf6, 0xba, 0x2d, 0xe9, 0x1d, 0x04, 0x50, 0xea, 0x2b, 0xad, 0xa7, 0xed, 0x97, 0x52, 0x4e, - 0x7e, 0xce, 0x5d, 0x31, 0x51, 0x37, 0x3f, 0x87, 0xaa, 0x8e, 0x3d, 0xdf, 0xb0, 0xd8, 0x06, 0xc9, - 0x16, 0xdc, 0x05, 0x61, 0xc1, 0x45, 0x48, 0x45, 0xa4, 0x94, 0xff, 0x66, 0x0e, 0x56, 0xb9, 0xa2, - 0x0f, 0x7c, 0x17, 0x6b, 0xd3, 0xdf, 0x80, 0x0e, 0x5f, 0x87, 0x05, 0xa2, 0x7d, 0xde, 0x46, 0x81, - 0x4e, 0x6c, 0x52, 0x35, 0x19, 0x52, 0xfe, 0xc3, 0x1c, 0x34, 0x76, 0xb0, 0x4f, 0x19, 0xbf, 0x89, - 0x10, 0x91, 0xce, 0xe5, 0x4f, 0xd1, 0xb9, 0x40, 0x63, 0x0b, 0xc2, 0x16, 0x79, 0x0c, 0x52, 0x24, - 0x04, 0x1f, 0xdc, 0x9b, 0xd0, 0xb0, 0x66, 0x53, 0x35, 0x39, 0xc0, 0x45, 0x65, 0xc9, 0x9a, 0x4d, - 0x85, 0x91, 0x45, 0x17, 0xa1, 0x4c, 0x08, 0xe9, 0x32, 0xcc, 0x53, 0x8a, 0x45, 0x6b, 0x36, 0x25, - 0x9d, 0x44, 0xef, 0x41, 0x8d, 0xa0, 0xb4, 0xd1, 0x08, 0x3b, 0x3e, 0xd6, 0x69, 0x9b, 0x45, 0xa5, - 0x6a, 0xcd, 0xa6, 0x4d, 0x0e, 0x92, 0xff, 0x7d, 0x2e, 0x74, 0x29, 0xde, 0x78, 0x10, 0xde, 0x6c, - 0x31, 0x0a, 0xae, 0x51, 0x31, 0xee, 0x1a, 0x5d, 0x85, 0xaa, 0x63, 0x7b, 0xbe, 0xea, 0xd8, 0xa6, - 0x31, 0x3a, 0xa6, 0xeb, 0xad, 0xac, 0x00, 0x01, 0xf5, 0x29, 0x44, 0x7e, 0x04, 0xab, 0xf1, 0x3e, - 0x08, 0x7e, 0x11, 0x19, 0x96, 0xdc, 0x09, 0x36, 0xf7, 0x1e, 0xd4, 0x9b, 0xba, 0xfe, 0xc2, 0x1d, - 0x07, 0x3d, 0xbf, 0x0a, 0x85, 0x43, 0x77, 0xcc, 0xeb, 0xd4, 0xa3, 0x3a, 0x84, 0x84, 0x60, 0xe4, - 0x1b, 0x20, 0x31, 0xeb, 0x2b, 0x54, 0xca, 0x72, 0x7c, 0xae, 0xc3, 0x12, 0x59, 0x32, 0xa7, 0x50, - 0x3d, 0x60, 0x86, 0x90, 0x52, 0x71, 0xb1, 0x4f, 0x95, 0xe0, 0x08, 0x24, 0xb2, 0x7c, 0x68, 0xe7, - 0x85, 0x03, 0x29, 0x1f, 0x9f, 0xd4, 0x89, 0x91, 0x13, 0x72, 0x3c, 0x7a, 0x04, 0x17, 0x5d, 0x3c, - 0xc6, 0xae, 0x8a, 0x8f, 0x0c, 0xa2, 0x46, 0x13, 0xe6, 0x70, 0x4e, 0xb1, 0xe5, 0x7b, 0xdc, 0x97, - 0x5a, 0xa7, 0x04, 0x2d, 0x8e, 0x1f, 0x84, 0x68, 0xf9, 0x57, 0x39, 0x58, 0xe1, 0x5b, 0xcf, 0x39, - 0x5b, 0xff, 0x04, 0x56, 0x1c, 0xe2, 0x72, 0xb9, 0x87, 0x38, 0xdd, 0x2e, 0x0a, 0x50, 0x51, 0x93, - 0x48, 0x82, 0x82, 0x66, 0x9a, 0xdc, 0x1d, 0x26, 0x3f, 0xe5, 0x9b, 0xb0, 0x4c, 0x6d, 0x51, 0x4c, - 0x82, 0xac, 0xb1, 0xfd, 0x0a, 0x90, 0x48, 0x18, 0x9d, 0xad, 0xcf, 0x26, 0xab, 0xfc, 0x6f, 0x72, - 0x80, 0x06, 0x98, 0xd5, 0x37, 0xb0, 0x17, 0x34, 0xf5, 0x39, 0xd4, 0x74, 0x3c, 0x36, 0x2c, 0xac, - 0xab, 0x1e, 0xf6, 0x89, 0x8f, 0x4f, 0x2c, 0xcc, 0xaa, 0x68, 0xf8, 0x28, 0x76, 0x80, 0x7d, 0x62, - 0xf7, 0x82, 0xdf, 0x1e, 0xba, 0x03, 0x65, 0x87, 0xf3, 0xda, 0xc8, 0xd3, 0x4a, 0xe9, 0xb6, 0x43, - 0x0a, 0xf4, 0x3b, 0x50, 0xd5, 0x3c, 0xcf, 0x98, 0x58, 0x6c, 0x84, 0x98, 0x1d, 0xdb, 0x4c, 0x56, - 0x68, 0x86, 0x24, 0x8a, 0x48, 0x2e, 0xef, 0x52, 0x13, 0x2b, 0x48, 0xc2, 0x85, 0xff, 0x09, 0x54, - 0x05, 0xe1, 0xf9, 0x10, 0x64, 0xcb, 0x0e, 0x91, 0xec, 0xf2, 0x3e, 0xac, 0x73, 0xa7, 0xf0, 0x2d, - 0x71, 0x0c, 0xe6, 0x35, 0x1f, 0xcd, 0x2b, 0x66, 0x8e, 0x72, 0xba, 0x85, 0x2f, 0xa2, 0x01, 0x17, - 0xcc, 0xd1, 0x85, 0x54, 0x13, 0xd4, 0x20, 0x05, 0xc2, 0xcc, 0x33, 0x49, 0x72, 0x0f, 0xd6, 0x92, - 0xcd, 0x70, 0xcd, 0x38, 0xe7, 0xd8, 0x3c, 0xa3, 0x47, 0xab, 0x50, 0x65, 0x03, 0xa9, 0xef, 0x43, - 0x25, 0x54, 0xf0, 0xb4, 0x77, 0x1f, 0x91, 0x47, 0x54, 0xf2, 0x2f, 0x82, 0x93, 0xd5, 0x5b, 0x60, - 0x96, 0x31, 0xc0, 0xb7, 0xd9, 0x49, 0x26, 0xc5, 0x3c, 0x6b, 0xed, 0xfc, 0x8c, 0x4d, 0x86, 0x40, - 0xcb, 0x07, 0xe9, 0x1c, 0xdd, 0x7a, 0x09, 0x9b, 0xa1, 0xbd, 0x12, 0xf4, 0x95, 0xb7, 0xfe, 0x08, - 0x20, 0x52, 0x5c, 0xce, 0xf1, 0x24, 0x35, 0x17, 0xa8, 0xe5, 0x29, 0x5c, 0x16, 0xcd, 0xd1, 0x5b, - 0x65, 0x9e, 0x31, 0x80, 0x7f, 0x8d, 0x1d, 0x43, 0xe6, 0x35, 0x96, 0x31, 0x8e, 0xe8, 0x73, 0x31, - 0xf6, 0x92, 0xa7, 0x8a, 0x7b, 0x31, 0xd9, 0x7e, 0x66, 0x9c, 0xe5, 0xe7, 0xf0, 0x6e, 0x76, 0x5b, - 0x7c, 0x1e, 0xde, 0x64, 0xd8, 0x5e, 0xc2, 0x66, 0x60, 0xd7, 0xde, 0xf2, 0x84, 0xfc, 0x9c, 0x9e, - 0xa1, 0x14, 0xe7, 0x07, 0xe3, 0xf4, 0x60, 0x08, 0x82, 0xa2, 0x63, 0xbb, 0x2c, 0x12, 0x52, 0x57, - 0xe8, 0x6f, 0xb4, 0x09, 0x65, 0xd3, 0x18, 0x63, 0xdf, 0xe0, 0x2e, 0x52, 0x41, 0x09, 0xcb, 0x72, - 0x33, 0x38, 0xf6, 0x9c, 0x9b, 0xbd, 0xfc, 0x98, 0xed, 0xb6, 0x22, 0x83, 0xc8, 0x43, 0xc9, 0x9d, - 0xec, 0xa1, 0xc8, 0x8f, 0x98, 0x0f, 0xcc, 0x2a, 0xf3, 0x59, 0xb8, 0x01, 0x25, 0xba, 0x61, 0x65, - 0x04, 0x5f, 0x28, 0x1d, 0xc7, 0x12, 0xd9, 0x59, 0xb4, 0xea, 0xfc, 0xb2, 0x3f, 0x09, 0x23, 0x58, - 0xe7, 0xe7, 0x31, 0xe4, 0x11, 0xc7, 0xf3, 0x4f, 0x50, 0x46, 0x7c, 0x51, 0xfe, 0x86, 0xd9, 0x15, - 0xc2, 0x34, 0xe6, 0x44, 0x9e, 0x7d, 0x68, 0xbf, 0x60, 0xd6, 0x46, 0xe0, 0x10, 0xf9, 0x42, 0xae, - 0xad, 0xa5, 0x7d, 0x21, 0xc5, 0xd6, 0x14, 0x82, 0x91, 0xff, 0x49, 0x1e, 0x10, 0x1b, 0xd9, 0x9f, - 0xe3, 0x7d, 0x57, 0x0b, 0x9a, 0x96, 0xa0, 0x30, 0x73, 0x4d, 0xde, 0x21, 0xf2, 0x93, 0x78, 0x91, - 0xae, 0x4d, 0x0e, 0x44, 0x64, 0x0b, 0x61, 0xfb, 0x6f, 0x45, 0x01, 0x0a, 0x22, 0x5b, 0x05, 0x8d, - 0xcd, 0x1d, 0x62, 0xd7, 0x23, 0xeb, 0xb4, 0x40, 0x3b, 0x1c, 0x14, 0xd1, 0x67, 0xb0, 0x66, 0xe1, - 0x23, 0xff, 0xc0, 0x76, 0x54, 0xdf, 0x35, 0x26, 0x13, 0xe2, 0x3b, 0xd1, 0x26, 0xb9, 0xa7, 0xba, - 0xca, 0xb1, 0x43, 0x86, 0x64, 0xe2, 0xa0, 0x07, 0x70, 0x21, 0x59, 0x4b, 0xc7, 0xa6, 0xc6, 0x1c, - 0xd8, 0xba, 0xb2, 0x12, 0xaf, 0xb4, 0x4d, 0x50, 0xe8, 0x3e, 0x5c, 0x98, 0x3a, 0xa6, 0xa7, 0x9a, - 0xda, 0x3e, 0x36, 0x55, 0x57, 0xb3, 0x26, 0x58, 0xf5, 0x8c, 0xdf, 0xc7, 0xf4, 0x74, 0x58, 0x57, - 0x10, 0x41, 0x76, 0x08, 0x4e, 0x21, 0xa8, 0x81, 0xf1, 0xfb, 0x18, 0xbd, 0x0f, 0x75, 0x32, 0x09, - 0xaf, 0x34, 0x17, 0xb3, 0x20, 0xd4, 0x22, 0xed, 0x73, 0x2d, 0x00, 0xd2, 0x18, 0xd4, 0x3f, 0xcc, - 0x81, 0xc4, 0xc4, 0xda, 0x75, 0xc3, 0x75, 0x7e, 0x09, 0x2a, 0xfa, 0x6c, 0xea, 0x44, 0x7b, 0xea, - 0x82, 0x52, 0x26, 0x00, 0xba, 0x73, 0x6e, 0x42, 0x79, 0x6c, 0x98, 0x58, 0xd8, 0x3d, 0xc3, 0x32, - 0x69, 0x92, 0x56, 0xa4, 0x57, 0x00, 0x87, 0x9a, 0xc9, 0x0f, 0x16, 0x35, 0x02, 0x6c, 0x73, 0x18, - 0xfa, 0x08, 0x96, 0x5d, 0xdb, 0xa7, 0x67, 0x94, 0x88, 0xb0, 0x48, 0x09, 0xa5, 0x00, 0x11, 0x10, - 0xcb, 0x2b, 0xb0, 0xcc, 0x75, 0x3b, 0x92, 0x4f, 0xfe, 0xa7, 0x79, 0xea, 0x9b, 0x3f, 0x99, 0x3a, - 0xe7, 0x53, 0xd5, 0x6f, 0x42, 0x47, 0xaf, 0x40, 0xed, 0xee, 0xad, 0x48, 0x7d, 0x62, 0x6c, 0xef, - 0xf2, 0xc3, 0x83, 0x61, 0x4d, 0x12, 0xce, 0xea, 0x1d, 0x58, 0x26, 0x1b, 0x1a, 0x71, 0x83, 0x47, - 0xde, 0xd0, 0x98, 0x62, 0x7b, 0xc6, 0x4e, 0x27, 0x0b, 0x4a, 0x1a, 0x41, 0xa4, 0x1b, 0x1c, 0x7b, - 0x64, 0xbc, 0xe9, 0x14, 0x57, 0x94, 0xa0, 0x48, 0x06, 0x73, 0x70, 0xec, 0x6d, 0x63, 0x6f, 0xe4, - 0xd2, 0x99, 0xac, 0x28, 0x61, 0x59, 0xde, 0x02, 0x29, 0xd9, 0x3e, 0x5a, 0x84, 0x42, 0x5f, 0x21, - 0x47, 0xf0, 0x32, 0x14, 0xfb, 0xbd, 0x41, 0x2c, 0x9e, 0x8e, 0x2a, 0xb0, 0xd0, 0xe9, 0x6d, 0x35, - 0x3b, 0x52, 0x81, 0xd0, 0x35, 0x3b, 0x1d, 0xa9, 0x28, 0x7f, 0x13, 0x9c, 0x49, 0xce, 0x3b, 0x58, - 0xf2, 0xdf, 0x2a, 0x42, 0x89, 0x2d, 0x4a, 0x74, 0x03, 0x0a, 0xda, 0xd8, 0xe0, 0x5e, 0xd6, 0x6a, - 0x72, 0xcd, 0xde, 0x6d, 0x8e, 0x0d, 0x85, 0x10, 0xa0, 0x0f, 0xa1, 0xe8, 0x11, 0xc2, 0x7c, 0xd2, - 0x1d, 0xe3, 0x84, 0x03, 0x6d, 0x6c, 0x28, 0x94, 0x44, 0xfe, 0xab, 0x50, 0x68, 0x8e, 0x0d, 0xd4, - 0x80, 0x6a, 0xf3, 0x69, 0x5b, 0xdd, 0xeb, 0x3e, 0xef, 0xf6, 0xbe, 0xeb, 0xb2, 0x10, 0x03, 0x01, - 0xb4, 0xfb, 0x52, 0x0e, 0x55, 0x61, 0x91, 0xfd, 0x7e, 0x28, 0xe5, 0x51, 0x1d, 0x2a, 0xa4, 0xd0, - 0x79, 0xf0, 0xa2, 0xdf, 0x95, 0x2e, 0xa2, 0x1a, 0xa3, 0xeb, 0x0c, 0xa4, 0x3f, 0xfa, 0x65, 0x0e, - 0x49, 0x00, 0xa4, 0xd4, 0xeb, 0x37, 0xbf, 0xdd, 0x6b, 0x49, 0x7f, 0xe7, 0x97, 0x39, 0xf9, 0x4f, - 0xf3, 0x50, 0x24, 0xcd, 0x21, 0x09, 0x6a, 0x83, 0x78, 0x13, 0x11, 0xa4, 0xbd, 0xd5, 0xa4, 0x43, - 0x89, 0x60, 0x89, 0x42, 0x76, 0xf7, 0x3a, 0x43, 0x06, 0xcb, 0xa3, 0x15, 0x68, 0x30, 0x58, 0xbf, - 0x33, 0x50, 0x3b, 0xcd, 0x27, 0xad, 0x8e, 0x54, 0x44, 0x6b, 0x80, 0x28, 0xb0, 0xd5, 0xdd, 0x6a, - 0xf6, 0x07, 0x7b, 0x9d, 0xe6, 0xb0, 0xdd, 0xeb, 0x4a, 0x8b, 0x44, 0x38, 0x0a, 0x7f, 0xd1, 0xef, - 0x0c, 0xa4, 0x66, 0x58, 0x6c, 0x11, 0x59, 0x9f, 0x92, 0x7e, 0x0c, 0xb8, 0xb0, 0x3b, 0x61, 0x5b, - 0x03, 0x45, 0xed, 0xf7, 0x3a, 0xed, 0xad, 0xef, 0xa5, 0x36, 0x42, 0x50, 0x8f, 0xda, 0x22, 0x75, - 0x7e, 0x99, 0x43, 0xef, 0xc2, 0x7a, 0x0c, 0x26, 0x08, 0xf7, 0x07, 0x39, 0x24, 0xc3, 0x65, 0x8a, - 0x55, 0x7a, 0x7b, 0xc3, 0x96, 0x3a, 0x6c, 0x2a, 0x3b, 0xad, 0xa1, 0xba, 0xd5, 0xeb, 0x0e, 0x86, - 0x4a, 0xb3, 0xdd, 0x1d, 0x0e, 0xa4, 0x3f, 0xca, 0xa1, 0x4b, 0xb0, 0x46, 0x69, 0x9e, 0x76, 0x7a, - 0xdf, 0xa9, 0x83, 0x7e, 0x6b, 0x2b, 0xec, 0xf1, 0xdf, 0xc8, 0xa1, 0x75, 0xde, 0x93, 0x08, 0x49, - 0xda, 0xfd, 0x75, 0x0e, 0xad, 0x70, 0xf9, 0x9e, 0xb7, 0xbe, 0x57, 0x5f, 0x34, 0x3b, 0x7b, 0x2d, - 0xe9, 0xff, 0xe6, 0xe4, 0x3f, 0x2e, 0x00, 0xbc, 0xd0, 0x4c, 0x43, 0x67, 0x11, 0x86, 0x7b, 0xb0, - 0xc0, 0xae, 0x24, 0x98, 0x46, 0x08, 0xae, 0x40, 0x44, 0xc4, 0x1c, 0x3f, 0x85, 0x11, 0xa2, 0x4f, - 0xa1, 0xe4, 0x62, 0xcd, 0x0b, 0x3d, 0x9e, 0x4b, 0x99, 0x55, 0x14, 0x4a, 0xa2, 0x70, 0x52, 0x74, - 0x13, 0x16, 0xa7, 0x9a, 0x3f, 0x3a, 0xa0, 0x81, 0x8a, 0x42, 0xda, 0xdc, 0x07, 0x58, 0x74, 0x0f, - 0x6a, 0x33, 0x8b, 0x17, 0x54, 0x2d, 0x08, 0xdd, 0x25, 0xa8, 0xab, 0x21, 0x49, 0xd3, 0x43, 0x5f, - 0x80, 0x14, 0xd5, 0x30, 0xb1, 0x35, 0xf1, 0x0f, 0x36, 0x16, 0xb2, 0x6a, 0x35, 0x42, 0xb2, 0x0e, - 0xa5, 0x92, 0xfb, 0xb0, 0x40, 0x7b, 0x86, 0x96, 0x00, 0x06, 0xc3, 0xe6, 0xb0, 0xa5, 0xf2, 0xe0, - 0x18, 0x51, 0x18, 0x5e, 0x1e, 0xaa, 0x4f, 0x7b, 0x7b, 0xdd, 0x6d, 0x29, 0x47, 0xf4, 0x9b, 0x01, - 0x5f, 0x34, 0x3b, 0xed, 0x6d, 0x29, 0x8f, 0x96, 0xa1, 0xce, 0x00, 0xed, 0x2e, 0x03, 0x15, 0xe4, - 0xc7, 0x50, 0x62, 0x1d, 0x27, 0xd4, 0x4a, 0xab, 0x39, 0xe8, 0x0d, 0x03, 0x9e, 0x75, 0xa8, 0x50, - 0x40, 0x57, 0x6d, 0x0e, 0xa4, 0x1c, 0xa9, 0xcc, 0x8b, 0x9d, 0x56, 0x77, 0x87, 0xde, 0xa5, 0xfd, - 0xf7, 0x05, 0x28, 0xd2, 0xd0, 0xce, 0x2d, 0x28, 0x5a, 0xa6, 0x6b, 0x08, 0x67, 0x14, 0x7b, 0x62, - 0xe2, 0xbb, 0xc1, 0x15, 0xf6, 0xdd, 0xa6, 0x75, 0xac, 0x50, 0x0a, 0x74, 0x07, 0x4a, 0x8e, 0xe6, - 0xfb, 0x6e, 0x70, 0xe4, 0xcc, 0xa6, 0xe5, 0x34, 0xe8, 0x0e, 0x14, 0xb4, 0x09, 0xe6, 0xc1, 0x9a, - 0xcd, 0x14, 0xe9, 0x30, 0xb8, 0x19, 0x57, 0x08, 0x19, 0x31, 0x24, 0xfb, 0xd8, 0x0b, 0x02, 0x36, - 0xf4, 0x37, 0xd9, 0x67, 0x0d, 0x4f, 0x7d, 0x65, 0xf8, 0x07, 0xba, 0xab, 0xbd, 0x0a, 0xa2, 0x35, - 0x86, 0xf7, 0x1d, 0x87, 0xa0, 0xcf, 0x00, 0x0e, 0x43, 0x25, 0xa0, 0xbb, 0x55, 0xec, 0x90, 0x15, - 0x29, 0x88, 0x22, 0xd0, 0xa1, 0x7b, 0xb0, 0x6a, 0xd9, 0xaa, 0x31, 0x75, 0xc8, 0xe9, 0xd8, 0x8f, - 0xf8, 0xb3, 0xb8, 0x26, 0xb2, 0xec, 0x36, 0x47, 0x85, 0xed, 0x44, 0xde, 0x47, 0xe5, 0x94, 0xd0, - 0xd3, 0x65, 0x00, 0xcf, 0x9e, 0xb9, 0x23, 0xac, 0x6a, 0x9e, 0xb5, 0x01, 0xd4, 0x2a, 0x56, 0x18, - 0xa4, 0xe9, 0x59, 0x64, 0x9f, 0xe4, 0x68, 0x43, 0xdf, 0xa8, 0x32, 0xf3, 0xcd, 0x00, 0x6d, 0x9d, - 0xef, 0x93, 0x2c, 0x84, 0x5b, 0xa3, 0xb2, 0x84, 0x65, 0xb4, 0x4a, 0x17, 0x8e, 0x89, 0x37, 0xea, - 0x14, 0xc1, 0x0a, 0xe8, 0x16, 0x48, 0x86, 0xa7, 0x8e, 0x5d, 0x7b, 0xaa, 0xe2, 0x23, 0x1f, 0xbb, - 0x96, 0x66, 0x6e, 0x2c, 0xb1, 0xe0, 0xaf, 0xe1, 0x3d, 0x75, 0xed, 0x69, 0x8b, 0x43, 0xc9, 0x50, - 0x06, 0xd7, 0x19, 0xaa, 0xe1, 0x6c, 0x34, 0x68, 0xd3, 0x10, 0x80, 0xda, 0x4e, 0x18, 0x5a, 0x97, - 0xa2, 0xd0, 0x3a, 0xba, 0x03, 0xc8, 0xf0, 0xd4, 0xc0, 0xf3, 0x30, 0x2c, 0x3a, 0x86, 0x1b, 0xcb, - 0x2c, 0x62, 0x6c, 0x78, 0x5d, 0x86, 0x68, 0x33, 0x38, 0xba, 0x02, 0x60, 0xe8, 0xd8, 0xf2, 0x8d, - 0xb1, 0x81, 0xdd, 0x0d, 0x44, 0xbb, 0x2e, 0x40, 0xd0, 0x87, 0x20, 0x99, 0xf6, 0x48, 0x33, 0x55, - 0x81, 0x6a, 0x85, 0x52, 0x35, 0x28, 0xbc, 0x1d, 0x91, 0x12, 0x69, 0x85, 0x18, 0xf5, 0x2a, 0x95, - 0x09, 0xac, 0x28, 0x3a, 0xfd, 0x3e, 0xd4, 0x99, 0x96, 0x05, 0x24, 0x17, 0xae, 0x15, 0x6e, 0xd5, - 0x94, 0x1a, 0x03, 0xf2, 0x50, 0xf4, 0x73, 0xa8, 0x8a, 0xd1, 0xcd, 0x79, 0x97, 0x4d, 0x61, 0x78, - 0x37, 0x7f, 0x52, 0x78, 0x77, 0x0a, 0xcb, 0xa9, 0x30, 0xfe, 0x5c, 0x96, 0xdf, 0x40, 0xdd, 0xa4, - 0x74, 0xaa, 0xed, 0x08, 0xa7, 0xb5, 0xec, 0x2b, 0x81, 0x1e, 0x25, 0x51, 0x6a, 0xa6, 0x50, 0x92, - 0xff, 0x6b, 0x11, 0x8a, 0x7d, 0x8c, 0x5d, 0xf4, 0x05, 0xd4, 0x34, 0xc7, 0x31, 0x8f, 0xd5, 0x58, - 0xa0, 0x49, 0xd8, 0x21, 0x9b, 0x04, 0xcb, 0x9d, 0x8d, 0xaa, 0x16, 0x15, 0xd0, 0x0d, 0x28, 0x8e, - 0x6c, 0x6b, 0xcc, 0xc3, 0xc8, 0x28, 0x7e, 0x1b, 0xb8, 0x65, 0x5b, 0x63, 0x85, 0xe2, 0xd1, 0x63, - 0xa8, 0xe3, 0xfd, 0x89, 0xa3, 0x4e, 0x67, 0xa6, 0x6f, 0x1c, 0xd8, 0x0e, 0x5f, 0xb1, 0x6b, 0x51, - 0x85, 0xd6, 0xfe, 0xc4, 0xd9, 0xe5, 0x58, 0xa5, 0x86, 0x85, 0x12, 0x6a, 0x42, 0x83, 0xb9, 0xc2, - 0x2e, 0x1e, 0x9b, 0x78, 0xe4, 0xdb, 0x2e, 0xbf, 0xc0, 0xd9, 0x10, 0xad, 0xe1, 0xcc, 0xc7, 0x4a, - 0x80, 0x57, 0x96, 0xdc, 0x58, 0x19, 0x7d, 0x18, 0xec, 0x09, 0x0b, 0x59, 0xd7, 0x96, 0xb1, 0xcd, - 0xe0, 0x16, 0x94, 0xc8, 0xf1, 0xcd, 0xf5, 0xa8, 0xeb, 0x13, 0x5b, 0x87, 0x43, 0x0a, 0x57, 0x38, - 0x1e, 0xdd, 0x87, 0x8a, 0xef, 0x6a, 0x96, 0x47, 0x9d, 0x93, 0xc5, 0x24, 0xe3, 0x61, 0x80, 0x52, - 0x22, 0x2a, 0x32, 0xd2, 0xac, 0x2b, 0xfc, 0x14, 0x56, 0x4e, 0x8e, 0x34, 0xed, 0xc7, 0x80, 0x22, - 0x15, 0x76, 0x00, 0x60, 0x05, 0xb4, 0x0d, 0xd2, 0xc4, 0xd5, 0x46, 0x78, 0x3c, 0x33, 0x55, 0x97, - 0x18, 0x35, 0xd7, 0xe7, 0x86, 0x42, 0x38, 0x9f, 0xef, 0x70, 0x0a, 0x85, 0x11, 0x28, 0x8d, 0x49, - 0x1c, 0x80, 0xee, 0x42, 0x45, 0x1b, 0x1b, 0x2a, 0x71, 0x72, 0xbc, 0x0d, 0xa0, 0xba, 0xb8, 0x2c, - 0x4c, 0xf3, 0xd8, 0xa0, 0x4e, 0x50, 0x59, 0x63, 0x3f, 0xc8, 0x4e, 0x54, 0xf3, 0x7d, 0x53, 0xf5, - 0xf0, 0x68, 0xe6, 0x1a, 0xfe, 0x31, 0x35, 0x27, 0x31, 0x79, 0x87, 0xbe, 0x39, 0xe0, 0x48, 0xa5, - 0xea, 0x47, 0x05, 0xf9, 0x7f, 0x17, 0xa1, 0x12, 0x5e, 0x09, 0xbf, 0x81, 0x86, 0x7d, 0x14, 0xd3, - 0xb0, 0xf5, 0x8c, 0xfb, 0xe6, 0x3f, 0x47, 0x6a, 0x76, 0x07, 0x8a, 0x86, 0x35, 0xb6, 0xb9, 0x96, - 0x6d, 0x64, 0x08, 0xcb, 0x54, 0x8d, 0x52, 0xfd, 0xa5, 0xa6, 0xbd, 0x1d, 0x4d, 0x7b, 0x06, 0x8d, - 0xc4, 0x5d, 0xf9, 0x79, 0xef, 0xfc, 0xff, 0x63, 0x0e, 0xaa, 0x82, 0x22, 0xa2, 0xcf, 0xa1, 0x62, - 0x58, 0x71, 0x95, 0x3d, 0x29, 0xb0, 0x54, 0x36, 0x2c, 0x5e, 0xf1, 0x6b, 0xa8, 0xe3, 0x23, 0x32, - 0x0d, 0x41, 0xe5, 0xfc, 0xa9, 0x95, 0x6b, 0xac, 0x42, 0xc4, 0xc0, 0x98, 0x8a, 0x0c, 0x0a, 0xa7, - 0x33, 0x60, 0x15, 0xf8, 0x1d, 0xd3, 0xdf, 0xcd, 0x41, 0x95, 0x6d, 0x20, 0x1d, 0x63, 0x6a, 0xbc, - 0x46, 0x6c, 0x03, 0xbd, 0x07, 0xb5, 0xa9, 0x76, 0xa4, 0x86, 0x37, 0xcd, 0xec, 0xd4, 0x55, 0x9d, - 0x6a, 0x47, 0xfd, 0xe0, 0x3e, 0xf9, 0x33, 0x58, 0xf3, 0xf8, 0x13, 0x29, 0xd5, 0x3f, 0x70, 0xb1, - 0x77, 0x60, 0x9b, 0xba, 0xea, 0x8c, 0x7c, 0x1e, 0x89, 0x58, 0x0d, 0xb0, 0xc3, 0x00, 0xd9, 0x1f, - 0xf9, 0xf2, 0xff, 0x29, 0x42, 0x39, 0xd8, 0x16, 0xc8, 0xe6, 0xaa, 0xcd, 0xfc, 0x03, 0xd5, 0xd1, - 0x3c, 0xef, 0x95, 0xed, 0xea, 0x7c, 0xa2, 0x6a, 0x04, 0xd8, 0xe7, 0x30, 0x74, 0x8d, 0xde, 0xd8, - 0x8e, 0x5c, 0xc3, 0x11, 0x9e, 0x34, 0x89, 0x20, 0x74, 0x11, 0xca, 0x6c, 0xbf, 0xd7, 0xbc, 0x20, - 0x0a, 0x42, 0xcb, 0x4d, 0x8f, 0xb8, 0x02, 0xa1, 0x37, 0x12, 0x1c, 0x2c, 0x8b, 0x94, 0x43, 0x23, - 0x80, 0x37, 0xf9, 0x01, 0x73, 0x1d, 0x16, 0xa9, 0x5a, 0x68, 0x1e, 0x0f, 0x76, 0x94, 0x48, 0xb1, - 0xe9, 0x25, 0xf4, 0xa5, 0x94, 0xd0, 0x17, 0xe2, 0x69, 0x51, 0x34, 0x8d, 0x48, 0x2c, 0xd2, 0x9a, - 0x65, 0x02, 0xa0, 0x11, 0x89, 0x2e, 0x2c, 0xbb, 0x78, 0x6a, 0x1f, 0x62, 0xd5, 0x71, 0x8d, 0x43, - 0xcd, 0x27, 0xde, 0x1a, 0x5d, 0x85, 0xb1, 0xcb, 0xf7, 0x60, 0x40, 0xee, 0x2a, 0x94, 0xb6, 0xcf, - 0x48, 0x9b, 0x9e, 0xd2, 0x70, 0xe3, 0x00, 0xe2, 0x28, 0xb1, 0x05, 0x3d, 0x36, 0x35, 0x47, 0xd5, - 0xb5, 0xa9, 0x63, 0x58, 0x13, 0xba, 0x30, 0xcb, 0x8a, 0x44, 0x31, 0x4f, 0x4d, 0xcd, 0xd9, 0x66, - 0x70, 0xf4, 0x01, 0x2c, 0x79, 0xd8, 0xd2, 0x55, 0xfe, 0xfe, 0xcb, 0x3f, 0xe6, 0x7e, 0x62, 0x9d, - 0x40, 0xb7, 0x02, 0x20, 0xfa, 0x18, 0x50, 0xe4, 0xb2, 0x85, 0x4f, 0x26, 0x99, 0xd3, 0xb8, 0x1c, - 0x7a, 0x6e, 0x01, 0x02, 0x49, 0xec, 0xaa, 0xaf, 0xc6, 0xc2, 0x54, 0x87, 0xee, 0x18, 0x5d, 0x83, - 0x9a, 0x66, 0x9a, 0xf6, 0x2b, 0x95, 0xe8, 0x82, 0xe6, 0x51, 0xd7, 0xb1, 0xae, 0x00, 0x85, 0xf5, - 0x5e, 0x59, 0x4d, 0x0f, 0xdd, 0x80, 0x86, 0x8b, 0x1d, 0x53, 0x1b, 0x61, 0x35, 0x18, 0x64, 0xe6, - 0x3e, 0xd6, 0x39, 0xb8, 0x1f, 0x8e, 0xb5, 0xa6, 0x4f, 0x0d, 0x4b, 0x25, 0x8a, 0x43, 0x9d, 0xc7, - 0xb2, 0x52, 0xa1, 0x90, 0x6d, 0xfb, 0x95, 0x25, 0xdf, 0x87, 0x46, 0x62, 0x88, 0x84, 0xab, 0x7f, - 0x1e, 0x58, 0xa0, 0x87, 0x72, 0xa5, 0xd5, 0xef, 0x34, 0xb7, 0x5a, 0x52, 0x5e, 0xfe, 0xe7, 0x05, - 0xa8, 0xc7, 0x76, 0x89, 0xdf, 0x82, 0xd6, 0x09, 0xaa, 0x54, 0x8c, 0xa9, 0x52, 0xc6, 0xf3, 0xab, - 0x85, 0x8c, 0xe7, 0x57, 0x71, 0x9d, 0x2a, 0x25, 0x74, 0x6a, 0x90, 0xa5, 0x53, 0x8b, 0x54, 0xa7, - 0x6e, 0xce, 0xd9, 0x19, 0xcf, 0xab, 0x58, 0xe5, 0x33, 0x2b, 0x56, 0x25, 0x43, 0xb1, 0xce, 0x33, - 0x5d, 0xff, 0xaf, 0x00, 0x4b, 0xf1, 0x7d, 0xf2, 0x2f, 0xfc, 0x7c, 0x0d, 0xe7, 0xcf, 0xd7, 0xad, - 0x79, 0xce, 0xc1, 0x9f, 0xcd, 0x84, 0x91, 0xe3, 0x90, 0x6f, 0xfb, 0x9a, 0xa9, 0xb2, 0x73, 0x0a, - 0xb3, 0x16, 0x40, 0x41, 0xe4, 0x88, 0xe2, 0x11, 0x3e, 0x9c, 0x20, 0xd8, 0x19, 0xaa, 0x8c, 0x0f, - 0xa3, 0xe1, 0xc0, 0xf3, 0x4c, 0xfc, 0x37, 0x50, 0x15, 0x36, 0x77, 0xb4, 0x01, 0x8b, 0x2c, 0x5c, - 0xad, 0xf3, 0x37, 0x8e, 0x41, 0x91, 0x4c, 0x16, 0xf1, 0x11, 0xa6, 0xfc, 0x11, 0x65, 0x5d, 0x29, - 0xf9, 0xbe, 0xb9, 0x6b, 0x58, 0xf2, 0x73, 0xa8, 0x89, 0x8e, 0xdd, 0x09, 0x2c, 0xc8, 0xee, 0xc6, - 0xa9, 0x54, 0xdf, 0x37, 0xc3, 0xdd, 0x8d, 0xc3, 0x86, 0xbe, 0x29, 0xff, 0x61, 0x0e, 0x96, 0xe2, - 0x7e, 0x1e, 0xd9, 0xf0, 0x12, 0xae, 0xa1, 0x3a, 0x32, 0x8d, 0xe0, 0xba, 0xa9, 0xac, 0xac, 0xc6, - 0xfd, 0xc0, 0x2d, 0x8a, 0x43, 0x8f, 0x61, 0x33, 0x5d, 0x6b, 0xe6, 0xf9, 0xd8, 0x8d, 0x9e, 0xff, - 0xac, 0x27, 0x6b, 0x52, 0x7c, 0x5b, 0x97, 0xff, 0x64, 0x91, 0xf9, 0xcf, 0xbf, 0xad, 0x85, 0x70, - 0x17, 0xca, 0x53, 0xec, 0x79, 0xda, 0x04, 0x7b, 0xdc, 0xed, 0x15, 0x4e, 0x73, 0xbb, 0x1c, 0xa3, - 0x84, 0x34, 0x99, 0xdb, 0xeb, 0xc2, 0xa9, 0xdb, 0x6b, 0xe9, 0x84, 0xed, 0x75, 0xf1, 0xc4, 0xed, - 0xb5, 0x9c, 0x58, 0x5a, 0xb7, 0xa0, 0xf4, 0xe3, 0x0c, 0xcf, 0xb0, 0x97, 0x0e, 0x97, 0x7c, 0x4b, - 0xe1, 0x0a, 0xc7, 0xa3, 0xdb, 0x59, 0x8b, 0x90, 0xe9, 0xf7, 0x19, 0x97, 0x56, 0xf5, 0xcc, 0x4b, - 0xab, 0x96, 0xb5, 0xb4, 0x5a, 0x50, 0xf7, 0xb0, 0xe7, 0x19, 0xb6, 0xc5, 0xdf, 0x4a, 0xd7, 0xa9, - 0x05, 0xb8, 0x96, 0x71, 0x08, 0xbd, 0x3b, 0x60, 0x84, 0xec, 0x98, 0x50, 0xf3, 0x84, 0x12, 0xfa, - 0x1a, 0xaa, 0x6c, 0x83, 0x64, 0x4c, 0x1a, 0x94, 0xc9, 0x95, 0x2c, 0x26, 0x4d, 0x42, 0xc6, 0x58, - 0xb0, 0x3d, 0x95, 0x31, 0x58, 0x81, 0x05, 0x7b, 0xe6, 0xab, 0x3f, 0xd2, 0xf8, 0x4b, 0x5d, 0x29, - 0xda, 0x33, 0xff, 0x5b, 0xb4, 0x0a, 0x0b, 0x63, 0xd3, 0x76, 0x3c, 0x1a, 0x72, 0xa9, 0x2b, 0xac, - 0x80, 0x3e, 0x05, 0x20, 0x43, 0xe3, 0x63, 0x75, 0xa4, 0x39, 0x1b, 0xe8, 0x84, 0x48, 0x5c, 0x85, - 0xd1, 0x6d, 0x69, 0x0e, 0x39, 0xa5, 0x30, 0xed, 0x22, 0x75, 0x56, 0x4e, 0xa8, 0xc3, 0x94, 0x90, - 0x54, 0xb9, 0x04, 0x15, 0x3a, 0xaa, 0x74, 0x45, 0xac, 0xb2, 0x58, 0x15, 0x03, 0xb4, 0x75, 0xd9, - 0x82, 0x9a, 0x38, 0x1c, 0xc4, 0x68, 0x44, 0x71, 0xf2, 0x32, 0x14, 0xdb, 0xdb, 0x9d, 0x16, 0xb3, - 0x25, 0x5b, 0xbd, 0x6e, 0xb7, 0xb5, 0x35, 0x94, 0xf2, 0x34, 0x42, 0xbf, 0x35, 0x6c, 0xbf, 0x68, - 0x49, 0x05, 0x54, 0x83, 0x72, 0xaf, 0xdf, 0xea, 0x0e, 0x5a, 0xdd, 0xa1, 0x54, 0x44, 0x0d, 0xa8, - 0x92, 0xd2, 0x56, 0xaf, 0xfb, 0xb4, 0xad, 0xec, 0x4a, 0x0b, 0x04, 0xd0, 0x1a, 0x0c, 0x9b, 0x4f, - 0x3a, 0xed, 0xc1, 0xb3, 0xd6, 0xb6, 0x54, 0x92, 0x6f, 0x03, 0x44, 0x23, 0x87, 0x4a, 0x90, 0xdf, - 0xeb, 0xb3, 0x86, 0xb6, 0x49, 0x93, 0x39, 0xfa, 0xc0, 0xf0, 0xe9, 0x4b, 0x95, 0xb4, 0x23, 0xff, - 0x1e, 0x94, 0x83, 0x45, 0x81, 0x3e, 0x86, 0xb2, 0x8b, 0x47, 0xd8, 0x38, 0xe4, 0xe6, 0x26, 0x76, - 0xd2, 0xe1, 0x54, 0x4a, 0x48, 0x82, 0x3e, 0x80, 0xa2, 0x17, 0xbc, 0xa8, 0xcf, 0x24, 0xa5, 0x68, - 0xf9, 0x8f, 0xf3, 0xb0, 0xc8, 0x21, 0x48, 0x86, 0x9a, 0x65, 0xfb, 0xc6, 0x38, 0x78, 0xdc, 0xcf, - 0x9e, 0xd6, 0xc5, 0x60, 0xe4, 0xcc, 0x33, 0xa3, 0x2f, 0xc8, 0xf9, 0xb3, 0x3a, 0x5e, 0x42, 0x08, - 0x8a, 0xb6, 0x83, 0x2d, 0x7e, 0xe9, 0x45, 0x7f, 0xa3, 0x77, 0xa1, 0xf2, 0x03, 0xc6, 0x8e, 0x66, - 0x1a, 0x87, 0x98, 0x5f, 0x72, 0x45, 0x00, 0x62, 0x3d, 0x5d, 0x3c, 0x26, 0x9e, 0x3b, 0x5d, 0xd1, - 0x45, 0x25, 0x28, 0x92, 0x7a, 0xba, 0xe1, 0x8d, 0x34, 0x57, 0xe7, 0x2f, 0x40, 0x8b, 0x4a, 0x04, - 0x20, 0xaa, 0x44, 0xf7, 0x02, 0xba, 0x92, 0x8b, 0x0a, 0x2b, 0xa0, 0x9b, 0xd0, 0x08, 0xa2, 0x9f, - 0x2a, 0x17, 0xb0, 0xcc, 0x5e, 0x06, 0x06, 0x60, 0xf6, 0xf0, 0x3d, 0x46, 0xc8, 0x4f, 0x6f, 0x95, - 0x38, 0x21, 0xdb, 0x64, 0xe4, 0x87, 0x50, 0x62, 0x4b, 0x9c, 0xb4, 0x68, 0x58, 0xce, 0x8c, 0x99, - 0xe1, 0xba, 0xc2, 0x0a, 0x64, 0x24, 0xec, 0x99, 0x4f, 0xc0, 0x7c, 0x97, 0x60, 0x25, 0x19, 0x43, - 0x89, 0x9d, 0xab, 0xd1, 0x5d, 0x28, 0x8d, 0x6c, 0x6b, 0x6c, 0x4c, 0xf8, 0x7c, 0xad, 0x25, 0x4f, - 0xde, 0x5b, 0x14, 0xab, 0x70, 0x2a, 0xf4, 0x51, 0x10, 0x3e, 0xca, 0xa7, 0x4e, 0xa5, 0x94, 0x5c, - 0x0c, 0x20, 0xc9, 0x7f, 0x90, 0x87, 0x9a, 0xc8, 0x85, 0x18, 0xef, 0x91, 0x6d, 0x59, 0x78, 0xe4, - 0xab, 0x2e, 0xf6, 0xdd, 0xe3, 0x60, 0xfa, 0x38, 0x50, 0x21, 0x30, 0xb2, 0x12, 0xe8, 0x29, 0x8a, - 0x3e, 0x25, 0x60, 0x33, 0x58, 0x26, 0x00, 0xc2, 0x89, 0xb8, 0xe9, 0xe1, 0xf4, 0x24, 0xaf, 0x31, - 0x97, 0x43, 0x4c, 0x78, 0x97, 0xb9, 0x0d, 0x57, 0xa6, 0x86, 0x65, 0x4c, 0x67, 0x53, 0x55, 0x0b, - 0x3e, 0x4f, 0x22, 0x67, 0xc4, 0xe4, 0xc5, 0xe6, 0xbb, 0x9c, 0xaa, 0x29, 0x12, 0x85, 0x5c, 0x1e, - 0xc1, 0xa6, 0xa1, 0x9b, 0x58, 0x0d, 0xc5, 0x52, 0xb5, 0x31, 0x59, 0xa9, 0xf4, 0x0b, 0x04, 0xae, - 0x19, 0x6b, 0x84, 0xe2, 0x19, 0x17, 0xb3, 0x49, 0xd0, 0xf4, 0xbe, 0x5e, 0xfe, 0x1f, 0x79, 0xa8, - 0x0a, 0x43, 0xf3, 0x17, 0x75, 0x08, 0xee, 0xc1, 0xaa, 0x85, 0x27, 0xb6, 0x6f, 0x68, 0x3e, 0xd6, - 0xa3, 0x81, 0xe0, 0x9d, 0x47, 0x11, 0x2e, 0x18, 0x02, 0xf4, 0x80, 0xac, 0x42, 0x4a, 0x53, 0x3a, - 0xf5, 0x4e, 0x82, 0x53, 0xa2, 0x87, 0x50, 0x26, 0x67, 0x1e, 0x5a, 0x6b, 0xf1, 0xd4, 0x5a, 0x21, - 0xad, 0xfc, 0x8f, 0xf2, 0x50, 0x09, 0x63, 0x3f, 0x64, 0x88, 0xf9, 0xde, 0x1e, 0xbb, 0x45, 0xad, - 0xb1, 0x0d, 0x9e, 0x6f, 0xc5, 0x97, 0x01, 0x18, 0x91, 0x70, 0xa1, 0xca, 0x8c, 0x76, 0x9f, 0xf3, - 0x98, 0xfa, 0x33, 0x95, 0x2c, 0x69, 0xfb, 0x10, 0xbb, 0xc7, 0xc1, 0x57, 0x3d, 0x53, 0x7f, 0xb6, - 0x1d, 0xc0, 0x88, 0x0b, 0x45, 0xdc, 0x10, 0x32, 0x0f, 0x53, 0x5b, 0x0f, 0x1e, 0x15, 0x54, 0x39, - 0x6c, 0xd7, 0xd6, 0x31, 0xd9, 0x18, 0xf9, 0xf6, 0x11, 0x77, 0x0d, 0xea, 0x0c, 0x1a, 0x48, 0x73, - 0x15, 0xaa, 0x9c, 0x8c, 0x8a, 0xc3, 0x9c, 0x03, 0xbe, 0xf1, 0x50, 0x79, 0x88, 0xc3, 0x37, 0x72, - 0xd4, 0xa9, 0xe7, 0xf1, 0xe3, 0x75, 0xc9, 0x1f, 0x39, 0xbb, 0x1e, 0x75, 0x46, 0xf7, 0x0d, 0x4b, - 0x17, 0xce, 0xac, 0x65, 0xd6, 0x00, 0x81, 0x86, 0xe7, 0x55, 0x79, 0x0c, 0x55, 0x21, 0xcc, 0x85, - 0xee, 0xc2, 0x8a, 0x18, 0x13, 0x8b, 0xfb, 0x70, 0xcb, 0x42, 0x0c, 0x8c, 0x3b, 0x70, 0x37, 0xa1, - 0xe1, 0xe1, 0x91, 0x6d, 0xe9, 0x9a, 0x7b, 0xac, 0x52, 0x34, 0x7f, 0x5d, 0xb5, 0x14, 0x82, 0x29, - 0x7b, 0xf9, 0x5f, 0x15, 0xa0, 0x91, 0x88, 0x88, 0x9d, 0xec, 0x83, 0xf2, 0xb8, 0x5a, 0xa4, 0xea, - 0x75, 0xa5, 0xca, 0x61, 0x54, 0x8d, 0xae, 0x42, 0xf5, 0x00, 0x9b, 0x0e, 0x76, 0x55, 0xdb, 0x32, - 0x83, 0x69, 0x00, 0x06, 0xea, 0x59, 0x26, 0xbd, 0x9c, 0xd0, 0xf1, 0x18, 0xbb, 0xae, 0x66, 0x32, - 0x26, 0xec, 0xf4, 0x52, 0x0b, 0x80, 0x94, 0xcb, 0x7d, 0x58, 0x15, 0xb7, 0x08, 0x35, 0x90, 0x87, - 0x5d, 0x72, 0xad, 0x88, 0xb8, 0x16, 0x97, 0xed, 0x23, 0x58, 0x36, 0x6d, 0x6b, 0x42, 0xd6, 0x92, - 0x1e, 0xd2, 0xb3, 0xb7, 0xfe, 0x52, 0x88, 0x08, 0x88, 0x6f, 0xc3, 0x32, 0xbd, 0x23, 0x62, 0x63, - 0xe3, 0xa9, 0xa1, 0x06, 0xd7, 0x95, 0x06, 0x45, 0xd0, 0xd1, 0xa1, 0x0f, 0x0e, 0x08, 0x2d, 0x75, - 0xe6, 0x62, 0x3d, 0x67, 0x4e, 0x1d, 0x3d, 0x68, 0x29, 0x42, 0xef, 0x6f, 0xf2, 0xb3, 0x17, 0xa7, - 0x8d, 0xe2, 0x1c, 0x4b, 0x02, 0x25, 0x71, 0xc0, 0xc2, 0xeb, 0x1e, 0x81, 0x12, 0x28, 0x25, 0xbb, - 0xee, 0x11, 0x48, 0x11, 0x14, 0xa9, 0xb6, 0xb2, 0xd8, 0x06, 0xfd, 0x2d, 0x7f, 0x0a, 0xeb, 0xbb, - 0x4e, 0x62, 0xde, 0xb8, 0xcd, 0x9e, 0x3b, 0x7b, 0xf2, 0x7f, 0xc8, 0xc1, 0x5a, 0xaa, 0x16, 0xb3, - 0x72, 0xf3, 0xa7, 0x7c, 0x53, 0x70, 0x11, 0x98, 0x0a, 0x45, 0xfe, 0xc0, 0x15, 0x00, 0x2d, 0xfa, - 0xb8, 0x94, 0x4f, 0x75, 0x04, 0x41, 0x1f, 0xc3, 0x0a, 0x71, 0x32, 0xed, 0xb1, 0xea, 0x1a, 0xfb, - 0x6a, 0xc8, 0xa6, 0x18, 0x7c, 0x54, 0xa1, 0xf7, 0xc6, 0x8a, 0xb1, 0xaf, 0x44, 0xee, 0x45, 0x43, - 0x20, 0xa7, 0x9e, 0x06, 0x9b, 0xef, 0x5a, 0x40, 0x3a, 0x20, 0xee, 0xc5, 0xaf, 0x73, 0xb0, 0x9c, - 0xea, 0x06, 0xfa, 0x69, 0x62, 0x63, 0x7c, 0x4f, 0xf0, 0x4e, 0xb2, 0x47, 0x2a, 0xdc, 0x23, 0x1f, - 0xc6, 0xf7, 0xc8, 0x6b, 0x27, 0xd4, 0x8c, 0x6d, 0x97, 0x03, 0xa8, 0xf3, 0x68, 0x30, 0x1f, 0xfa, - 0xb3, 0x87, 0x2a, 0x85, 0xf1, 0xce, 0xc7, 0x27, 0xe9, 0x9f, 0xe5, 0xa0, 0xc6, 0xb9, 0x0e, 0x82, - 0x5b, 0x9d, 0x37, 0x65, 0x1a, 0x9b, 0x44, 0xb6, 0xf1, 0x44, 0x93, 0xb8, 0x09, 0xe5, 0xf0, 0xbb, - 0x05, 0xb6, 0xb3, 0x84, 0xe5, 0xc4, 0x04, 0xb3, 0xbd, 0x43, 0x80, 0xc8, 0x7f, 0xbf, 0x00, 0x97, - 0xb8, 0x99, 0x32, 0xd9, 0x6b, 0x4a, 0x76, 0x41, 0x17, 0xf8, 0x0f, 0x77, 0x00, 0x69, 0xe6, 0x2b, - 0xed, 0xd8, 0x23, 0x07, 0x0d, 0x47, 0x73, 0xb1, 0x3a, 0x0d, 0x35, 0x4c, 0x62, 0x98, 0x2d, 0x86, - 0xd8, 0xc5, 0x3a, 0xba, 0x0f, 0x17, 0x8c, 0x89, 0x65, 0xbb, 0xe4, 0x98, 0x43, 0x0f, 0xf3, 0xc1, - 0x0b, 0x02, 0xfe, 0x66, 0x9d, 0x21, 0x9b, 0x1e, 0x39, 0xd5, 0xb3, 0x57, 0x03, 0xe4, 0xa0, 0x1a, - 0x5c, 0xed, 0x86, 0x4d, 0x44, 0x6e, 0x39, 0xd3, 0xc8, 0xf5, 0x80, 0x82, 0x37, 0xa5, 0x70, 0x2f, - 0x1d, 0x3d, 0x82, 0x8b, 0x61, 0x5f, 0x54, 0xc3, 0xd2, 0x46, 0x3e, 0xd9, 0x19, 0x98, 0x45, 0xe0, - 0x4a, 0xba, 0x1e, 0x12, 0xb4, 0x39, 0x9e, 0x19, 0x06, 0x62, 0xe6, 0x82, 0x0f, 0x80, 0x8c, 0x89, - 0x13, 0x5c, 0xbe, 0xf3, 0x8f, 0x7e, 0x8c, 0x89, 0x43, 0x7d, 0x10, 0xd6, 0x19, 0x0b, 0x1f, 0xf9, - 0x2a, 0xbd, 0x22, 0x9e, 0x38, 0xea, 0x14, 0xfb, 0xae, 0x31, 0xe2, 0x76, 0x69, 0x8d, 0x51, 0x74, - 0xf1, 0x91, 0xff, 0xcc, 0x76, 0xda, 0x13, 0x67, 0x97, 0x62, 0xd1, 0x97, 0x70, 0x49, 0x67, 0x8f, - 0xb4, 0xd4, 0x7d, 0xec, 0xf9, 0x6c, 0x2c, 0xbc, 0x60, 0x88, 0xf9, 0x47, 0x49, 0x1b, 0x9c, 0xe4, - 0x09, 0x66, 0x5f, 0x0b, 0x85, 0x53, 0x20, 0xff, 0xbd, 0x02, 0x6c, 0x66, 0xce, 0x0a, 0x53, 0xa8, - 0xbf, 0x9c, 0x94, 0x3f, 0x93, 0x49, 0xc9, 0xc1, 0x85, 0xcc, 0x49, 0x41, 0x5f, 0x26, 0x2c, 0xd7, - 0x07, 0xa9, 0x9b, 0xae, 0xac, 0xb5, 0x15, 0x5a, 0xaf, 0x47, 0x71, 0xeb, 0x75, 0xfd, 0x94, 0xda, - 0x31, 0x0b, 0xf6, 0x00, 0xd6, 0xf6, 0x3c, 0x4c, 0x83, 0x4f, 0x8e, 0x49, 0x3f, 0x72, 0xf4, 0x4e, - 0xdd, 0x45, 0xee, 0xc3, 0x85, 0x64, 0x9d, 0x53, 0xf6, 0x10, 0xf9, 0x17, 0x00, 0xad, 0xfd, 0x89, - 0xc3, 0x59, 0xdf, 0x86, 0x65, 0x16, 0x78, 0x9f, 0x72, 0x1e, 0xaa, 0xe6, 0xf1, 0x1a, 0x0d, 0x8a, - 0x08, 0x78, 0x37, 0x3d, 0xea, 0xd6, 0x69, 0x47, 0xd4, 0x19, 0x0e, 0x5e, 0x21, 0x50, 0x67, 0x81, - 0x03, 0x69, 0xeb, 0xf2, 0x5f, 0x81, 0x0a, 0x61, 0xcf, 0xa4, 0x78, 0xeb, 0xdc, 0x55, 0x28, 0x12, - 0xee, 0xe8, 0x4e, 0x62, 0x9a, 0x56, 0xe3, 0x57, 0xb3, 0x89, 0x59, 0xf9, 0x30, 0x3e, 0x2b, 0x2b, - 0x71, 0xe2, 0xd8, 0x24, 0xdc, 0x07, 0x68, 0x47, 0xa3, 0x93, 0x92, 0x29, 0x97, 0x21, 0xd3, 0x3d, - 0xa8, 0xb4, 0xc3, 0x1e, 0x9f, 0xa9, 0x86, 0x0a, 0xc5, 0xf6, 0x29, 0xbd, 0x68, 0xbf, 0x4e, 0x2f, - 0xda, 0xc9, 0x5e, 0xfc, 0x69, 0x0e, 0xa4, 0xa4, 0x5e, 0xa0, 0x2f, 0x12, 0xad, 0x09, 0x5b, 0x6b, - 0xb6, 0xde, 0x85, 0x2d, 0xff, 0x24, 0xde, 0xf2, 0xd5, 0xf9, 0x15, 0x63, 0x4f, 0x20, 0x64, 0x28, - 0xe2, 0xfd, 0x89, 0x93, 0xfe, 0xf8, 0x97, 0x8c, 0xba, 0x42, 0x71, 0x84, 0xc6, 0x20, 0x34, 0xa9, - 0x4f, 0x69, 0xdb, 0x94, 0x86, 0xe0, 0xe4, 0x27, 0x7c, 0x5f, 0x1b, 0x6a, 0xee, 0x04, 0xfb, 0xbb, - 0x78, 0xba, 0x8f, 0x5d, 0xef, 0xc0, 0x10, 0x26, 0x29, 0xee, 0xc3, 0xe6, 0xd2, 0x3e, 0xac, 0xdc, - 0xe4, 0x56, 0x38, 0xc9, 0x23, 0x9c, 0xb5, 0xd3, 0x59, 0x84, 0x46, 0x23, 0xc9, 0xe3, 0x54, 0xa3, - 0x91, 0x2d, 0xf8, 0x59, 0x8d, 0x46, 0xa6, 0xc8, 0xc1, 0x4c, 0xff, 0x02, 0xae, 0x74, 0x6c, 0x6b, - 0xd2, 0x21, 0xde, 0xc3, 0x6b, 0xba, 0xa0, 0x67, 0x38, 0x40, 0xc8, 0xff, 0x2d, 0x07, 0x97, 0xe7, - 0xf1, 0xff, 0x4d, 0x3a, 0xab, 0x99, 0x6e, 0x7e, 0x31, 0xdb, 0xcd, 0x7f, 0x0c, 0x9b, 0x29, 0x5a, - 0x57, 0xc5, 0x47, 0x8e, 0xe1, 0x86, 0x87, 0x94, 0xf5, 0x44, 0x25, 0xb7, 0xc5, 0xd0, 0xf2, 0x3f, - 0xc8, 0xc1, 0xc6, 0xbc, 0x0e, 0xa2, 0x6f, 0x12, 0xf3, 0x2a, 0x5c, 0xb6, 0x9c, 0x3c, 0xe8, 0xe1, - 0xd4, 0x7e, 0x19, 0x9f, 0xda, 0x9b, 0xa7, 0x33, 0x88, 0xcd, 0xee, 0xbf, 0x5d, 0x80, 0x45, 0xee, - 0x7f, 0xa2, 0xe7, 0xb0, 0x32, 0x75, 0xd4, 0xd4, 0x93, 0x0a, 0x26, 0xd9, 0xa5, 0x13, 0xdc, 0x64, - 0x65, 0x79, 0x9a, 0x72, 0xd0, 0x3f, 0x09, 0x7b, 0x96, 0x7a, 0x10, 0x13, 0xf3, 0xa2, 0xc3, 0x8e, - 0xdc, 0x09, 0x3a, 0x92, 0x7a, 0x0a, 0x23, 0xfa, 0xc7, 0xc1, 0xca, 0x4f, 0xbe, 0xd3, 0x29, 0x9e, - 0xf9, 0x9d, 0xce, 0x77, 0xb0, 0x1e, 0x9c, 0xad, 0xf9, 0x56, 0xc9, 0xdf, 0xa5, 0x79, 0xfc, 0x35, - 0xcc, 0xd5, 0x53, 0xb6, 0x54, 0xe5, 0x82, 0x9b, 0xb9, 0xb1, 0x3f, 0x03, 0x34, 0xf3, 0x70, 0xb4, - 0x11, 0x31, 0xeb, 0x5c, 0x4a, 0xbe, 0x87, 0x48, 0x1a, 0x34, 0x45, 0x9a, 0x25, 0xed, 0xe8, 0x23, - 0xa8, 0xb3, 0xb8, 0xa2, 0x6a, 0x1a, 0x53, 0xc3, 0xf7, 0x78, 0xb0, 0x45, 0xe8, 0x9d, 0xf0, 0x62, - 0x42, 0xa9, 0x39, 0x51, 0xc1, 0x8b, 0xba, 0xe7, 0xd3, 0x45, 0xad, 0x4e, 0xc3, 0x55, 0xcd, 0x5f, - 0xd6, 0x5c, 0x3d, 0x65, 0xf1, 0xf3, 0xee, 0xa5, 0x4c, 0x90, 0x06, 0x97, 0xc8, 0xb9, 0x5a, 0x65, - 0x27, 0xee, 0x39, 0x0f, 0x6f, 0xe4, 0xd3, 0xd5, 0x4f, 0xd9, 0x30, 0xe7, 0xad, 0x86, 0x4f, 0xa0, - 0xa2, 0xe9, 0xba, 0x70, 0xb1, 0x17, 0xbb, 0xdb, 0xe1, 0x5f, 0xb6, 0x7b, 0x4a, 0x59, 0xe3, 0xbf, - 0xe4, 0x56, 0x98, 0x59, 0x42, 0x70, 0x64, 0xb8, 0x09, 0x08, 0x8c, 0x05, 0x2f, 0xa2, 0x8b, 0x50, - 0xa6, 0x77, 0x20, 0x53, 0xed, 0x88, 0xdb, 0xa1, 0x45, 0x52, 0xde, 0xd5, 0x8e, 0xe4, 0x6d, 0xfa, - 0x3d, 0x44, 0xdc, 0xb7, 0x79, 0x7d, 0x2e, 0x3f, 0x40, 0x39, 0xe0, 0x82, 0xee, 0x25, 0xd6, 0xf5, - 0x46, 0xba, 0x1b, 0x09, 0xf5, 0xff, 0x38, 0xbe, 0x8e, 0xd7, 0xd3, 0x15, 0x62, 0xeb, 0x76, 0x06, - 0x25, 0xfe, 0xec, 0xf2, 0x12, 0x54, 0x0c, 0x47, 0x8d, 0xbd, 0x22, 0x2a, 0x1b, 0xc1, 0x9b, 0xcc, - 0x1b, 0xd0, 0x98, 0x6a, 0xde, 0x0f, 0xdc, 0x89, 0x17, 0x2e, 0x24, 0xeb, 0x04, 0xcc, 0x1c, 0xf8, - 0x5d, 0xc3, 0x4a, 0xd1, 0x69, 0x47, 0xfc, 0xda, 0x4d, 0xa4, 0xd3, 0x8e, 0xe4, 0x3f, 0xc9, 0x01, - 0x44, 0x5f, 0x6b, 0xbe, 0xdd, 0x0f, 0x48, 0x09, 0xcc, 0x34, 0x3c, 0x9f, 0xbe, 0x52, 0xaf, 0x28, - 0xf4, 0x37, 0xfd, 0xb4, 0x37, 0x9e, 0x4a, 0x42, 0x4a, 0xae, 0x82, 0x28, 0x7f, 0x84, 0xac, 0x40, - 0x79, 0x57, 0xf3, 0x47, 0x07, 0x44, 0xb6, 0x07, 0x00, 0xf4, 0xc9, 0xf9, 0x9c, 0x2f, 0xed, 0x29, - 0x1d, 0xfb, 0xd2, 0x7e, 0x1a, 0xfc, 0xcc, 0xfc, 0xac, 0x75, 0x04, 0xb5, 0xc4, 0x71, 0xa7, 0xca, - 0x47, 0x49, 0x60, 0x2c, 0xac, 0x6f, 0x91, 0x98, 0xf2, 0x07, 0x33, 0xfc, 0x8d, 0xd6, 0xa0, 0x24, - 0x9c, 0xa7, 0xea, 0x0a, 0x2f, 0xc9, 0xff, 0x69, 0x01, 0x60, 0xcb, 0xb6, 0x74, 0x83, 0x99, 0x92, - 0xfb, 0x00, 0xdc, 0x00, 0x44, 0xdf, 0xcb, 0xa2, 0x84, 0xec, 0x03, 0xec, 0x2b, 0x15, 0x46, 0x45, - 0xba, 0xfb, 0x13, 0xa8, 0x85, 0xd7, 0x9c, 0xa4, 0x52, 0x7e, 0x6e, 0xa5, 0xf0, 0xed, 0x33, 0xa9, - 0xf6, 0x3b, 0xb0, 0x94, 0x38, 0xe8, 0xa5, 0xcd, 0xaf, 0xd0, 0x21, 0xa5, 0xa6, 0x89, 0x63, 0xf1, - 0x00, 0xaa, 0x41, 0x6d, 0xd2, 0x66, 0x71, 0xbe, 0xa0, 0xac, 0x1a, 0x69, 0xf1, 0xf3, 0x30, 0x01, - 0x94, 0x7f, 0xac, 0x06, 0x01, 0xfa, 0xec, 0x5a, 0xb5, 0x90, 0x90, 0x54, 0xfc, 0x0a, 0x96, 0xc9, - 0x29, 0x2e, 0x5e, 0xb9, 0x34, 0xb7, 0x72, 0x03, 0x1f, 0xf9, 0x5b, 0x62, 0xfd, 0xab, 0x50, 0x75, - 0x9d, 0x1f, 0x0c, 0x62, 0xb1, 0x66, 0x26, 0x7b, 0x9d, 0xb8, 0xa0, 0x80, 0xcb, 0xbe, 0x3a, 0x9c, - 0x99, 0x3e, 0xfa, 0x12, 0x20, 0xfa, 0x92, 0x8d, 0xbf, 0x80, 0x12, 0xae, 0x2d, 0xa3, 0xf9, 0xe1, - 0x86, 0x93, 0x2a, 0x4f, 0xf8, 0xa1, 0x1b, 0x7a, 0x02, 0x2b, 0x26, 0x31, 0x9a, 0x09, 0x09, 0x2b, - 0x73, 0x25, 0x5c, 0xa6, 0xe4, 0x31, 0x19, 0x6f, 0x82, 0x14, 0x1d, 0x55, 0x2d, 0x95, 0x2e, 0x07, - 0xa0, 0xcb, 0xa1, 0x6e, 0xf1, 0x13, 0xaa, 0xd5, 0x21, 0xeb, 0xe2, 0x1e, 0x54, 0x83, 0x57, 0x8b, - 0xaa, 0x61, 0x6d, 0x54, 0x93, 0x4b, 0x83, 0xc7, 0x8a, 0x2a, 0xfc, 0xd9, 0x62, 0xdb, 0x92, 0x0f, - 0xa0, 0x12, 0x8a, 0x8d, 0x56, 0xa0, 0xc1, 0xbf, 0x79, 0xf9, 0xbe, 0x1f, 0x7e, 0x7a, 0xb1, 0x0e, - 0x2b, 0x02, 0xb0, 0xdd, 0x1d, 0xb6, 0x94, 0x6e, 0xb3, 0x23, 0xe5, 0x12, 0x88, 0xd6, 0x4b, 0x8e, - 0xc8, 0xa3, 0x55, 0x90, 0x04, 0x04, 0xff, 0x7a, 0x4a, 0xf6, 0xa0, 0x11, 0x76, 0xaa, 0xc9, 0xd2, - 0x98, 0x7d, 0x05, 0x55, 0x8d, 0xed, 0xb5, 0xc2, 0xa2, 0xb9, 0x2c, 0x8e, 0x6d, 0x8c, 0x9e, 0xad, - 0x1b, 0x2d, 0xfc, 0x8d, 0xae, 0x41, 0x35, 0x18, 0x55, 0x23, 0xfc, 0xc8, 0x50, 0x04, 0xc9, 0xbf, - 0x0b, 0x95, 0x5d, 0xac, 0xf3, 0xe6, 0xbe, 0xc8, 0x6a, 0x6e, 0x5d, 0xbc, 0xc0, 0xd4, 0xe7, 0x34, - 0xb4, 0x0a, 0x0b, 0x87, 0x9a, 0x39, 0x63, 0x26, 0xa0, 0xa0, 0xb0, 0x82, 0xac, 0x42, 0xa3, 0xe9, - 0xf5, 0x5d, 0xec, 0x60, 0x2b, 0x68, 0x42, 0x82, 0x82, 0xe6, 0x59, 0xdc, 0x8d, 0x27, 0x3f, 0xc9, - 0xda, 0x26, 0x14, 0x5a, 0x78, 0x9b, 0xc7, 0x4a, 0x48, 0x86, 0x3a, 0xf1, 0x0b, 0x4c, 0x3c, 0xf6, - 0xd5, 0xa9, 0xed, 0x05, 0x9f, 0x78, 0x56, 0x67, 0x1e, 0xee, 0xe0, 0xb1, 0xbf, 0x6b, 0x7b, 0xbe, - 0xfc, 0xbb, 0x50, 0xe7, 0x1f, 0x10, 0x70, 0xf6, 0x27, 0x7e, 0x64, 0xe6, 0x61, 0x73, 0xcc, 0x1d, - 0x5e, 0xfa, 0x1b, 0xbd, 0x0b, 0x95, 0x99, 0x35, 0x3a, 0xd0, 0xac, 0x49, 0xe8, 0xeb, 0x46, 0x00, - 0xf9, 0x26, 0x34, 0x3a, 0xf4, 0xe6, 0xc4, 0xc5, 0x63, 0xce, 0x3e, 0xec, 0x26, 0xbf, 0x8f, 0x64, - 0xdd, 0xfc, 0xcf, 0x05, 0x58, 0x64, 0x04, 0x5e, 0xf4, 0x2c, 0x97, 0x0d, 0x4e, 0xda, 0xb4, 0x53, - 0x65, 0x62, 0xd4, 0xfc, 0x59, 0x2e, 0xe7, 0xfd, 0x39, 0x54, 0xa2, 0x77, 0x06, 0xf9, 0xe4, 0x7b, - 0xdc, 0xc4, 0x4c, 0x2b, 0x11, 0x2d, 0xfa, 0x00, 0x0a, 0x53, 0x2e, 0x7f, 0xec, 0xf0, 0x19, 0xce, - 0x96, 0x42, 0xf0, 0xe8, 0x0b, 0x00, 0x62, 0x74, 0xd8, 0x6c, 0x70, 0x9b, 0x73, 0x31, 0x66, 0xae, - 0xc4, 0x89, 0xa2, 0xa6, 0x87, 0x01, 0xd0, 0x57, 0x50, 0x8f, 0x59, 0x10, 0x6e, 0x7a, 0x4e, 0x90, - 0xae, 0x26, 0x1a, 0x11, 0x74, 0x1f, 0x16, 0xf9, 0xf7, 0x1f, 0xdc, 0xee, 0x08, 0x2a, 0x15, 0x9b, - 0x3e, 0x25, 0xa0, 0x23, 0xc2, 0xf2, 0x7b, 0x2c, 0x17, 0x8f, 0xb9, 0x1f, 0x77, 0x51, 0x74, 0x92, - 0x62, 0xf3, 0x12, 0x5c, 0x71, 0xb9, 0x78, 0x8c, 0x9e, 0x40, 0x23, 0x61, 0x4e, 0xb8, 0x03, 0x77, - 0x82, 0xb8, 0x4b, 0x71, 0x8b, 0x22, 0xff, 0x2a, 0x07, 0x95, 0x30, 0x73, 0x40, 0xe6, 0x67, 0xf4, - 0x9f, 0x01, 0x8c, 0x42, 0xbb, 0xc6, 0x67, 0x6b, 0x35, 0xcb, 0xe6, 0x29, 0x02, 0x1d, 0xfa, 0x08, - 0x16, 0x99, 0x5a, 0x78, 0x7c, 0xb6, 0xc4, 0x17, 0xd3, 0x0c, 0xa1, 0x04, 0x14, 0xf2, 0xb7, 0x50, - 0xe2, 0xae, 0x77, 0x96, 0x00, 0x9f, 0x02, 0xc4, 0xd2, 0x95, 0x14, 0xe6, 0xe5, 0x3d, 0x10, 0xc8, - 0x68, 0xf4, 0x21, 0xf9, 0xae, 0xf8, 0xad, 0x66, 0x09, 0x88, 0xa5, 0x14, 0x29, 0x9e, 0x21, 0xa5, - 0xc8, 0x92, 0x8e, 0xc7, 0xda, 0xcc, 0xf4, 0x83, 0xe5, 0xb2, 0x70, 0xd2, 0x72, 0xa9, 0x73, 0x62, - 0x56, 0x94, 0x0f, 0xa1, 0x4e, 0xb0, 0xd1, 0x67, 0xaa, 0xbf, 0x9d, 0x44, 0x28, 0xf2, 0xdf, 0xce, - 0x41, 0x41, 0xb1, 0x35, 0xb4, 0x04, 0x79, 0x2d, 0x08, 0x23, 0xe5, 0x35, 0x9a, 0x95, 0x94, 0xf9, - 0x15, 0x26, 0x0e, 0xdc, 0xc5, 0x08, 0x40, 0xcc, 0xdc, 0x54, 0xa3, 0x28, 0xe6, 0x21, 0xf2, 0x92, - 0xf0, 0x94, 0xbd, 0x18, 0x7b, 0xca, 0x1e, 0x7c, 0x79, 0x93, 0xda, 0xe6, 0x95, 0xfe, 0xf3, 0x76, - 0xf4, 0x49, 0x84, 0xfc, 0xaf, 0x73, 0x50, 0x78, 0xe1, 0x8e, 0x33, 0xa7, 0xf1, 0x3a, 0xe4, 0x5d, - 0x5d, 0xd0, 0xce, 0xf4, 0x4b, 0x9d, 0xbc, 0xab, 0xa3, 0xfb, 0x50, 0xe1, 0x6f, 0xd1, 0x5d, 0x9f, - 0x7f, 0xea, 0x38, 0xe7, 0x59, 0x0f, 0x23, 0x53, 0x68, 0xfa, 0x0f, 0xfe, 0xfe, 0xdd, 0xf5, 0xf9, - 0x3c, 0xcf, 0xa9, 0xc2, 0xc8, 0x14, 0x9f, 0x8c, 0x16, 0x4f, 0xba, 0x56, 0x57, 0xf2, 0x86, 0x2e, - 0xff, 0x3a, 0x07, 0xab, 0xdb, 0x6c, 0x3e, 0xe9, 0x1c, 0x6f, 0x1b, 0x9e, 0xaf, 0x59, 0x23, 0x4c, - 0x93, 0x86, 0x05, 0x71, 0x71, 0x66, 0x4a, 0x75, 0x8e, 0xe2, 0x63, 0x7d, 0x21, 0x40, 0xa7, 0xea, - 0xd1, 0xdb, 0xe2, 0x8c, 0x7a, 0x6c, 0x32, 0x2e, 0x04, 0xe8, 0x58, 0x3d, 0xf9, 0x7f, 0x15, 0xa1, - 0xc4, 0x92, 0xd8, 0xa6, 0x66, 0x34, 0xf6, 0x7a, 0x29, 0x1f, 0x7f, 0xbd, 0x44, 0xfc, 0x22, 0xe2, - 0x67, 0x60, 0x8b, 0x5d, 0x6e, 0x17, 0x98, 0x5f, 0xc4, 0x40, 0xf4, 0x72, 0xfb, 0x43, 0x90, 0x38, - 0x01, 0xdf, 0x83, 0xf8, 0x9a, 0xa8, 0x28, 0x0d, 0x06, 0x6f, 0x06, 0x60, 0xfa, 0xd5, 0x1e, 0xf1, - 0x3c, 0x88, 0x02, 0x2e, 0x5c, 0x2b, 0xdc, 0xaa, 0x2b, 0x61, 0x19, 0xdd, 0x99, 0x7b, 0x3e, 0x2e, - 0x67, 0x9c, 0x81, 0x7f, 0x31, 0xff, 0x98, 0xbe, 0xf8, 0x3a, 0x71, 0xf3, 0x39, 0x87, 0xf5, 0x21, - 0xac, 0x05, 0x2b, 0x36, 0x31, 0xc6, 0xcc, 0xc8, 0x5e, 0x89, 0x2d, 0xb6, 0xd4, 0xe4, 0x2a, 0xab, - 0x7a, 0xd6, 0x94, 0x7f, 0x49, 0x5f, 0x8f, 0x8c, 0xb1, 0x8e, 0x5d, 0xf6, 0xfe, 0xa9, 0x92, 0xdc, - 0x26, 0xb6, 0x44, 0xb4, 0x12, 0xa7, 0xce, 0xfc, 0xa0, 0x05, 0x5e, 0xfb, 0x83, 0x96, 0x64, 0x68, - 0xa4, 0x7a, 0xe6, 0xd0, 0xc8, 0x75, 0xfe, 0x58, 0xc1, 0xb7, 0x55, 0x1d, 0x1f, 0x1a, 0x23, 0xcc, - 0x1f, 0xd0, 0xd7, 0x08, 0x74, 0x68, 0x6f, 0x53, 0x98, 0x6c, 0x43, 0x3d, 0xd6, 0x8b, 0x13, 0x02, - 0x74, 0xf1, 0xaf, 0x20, 0xf3, 0xa9, 0xaf, 0x20, 0xaf, 0xc3, 0x12, 0x8b, 0x4f, 0xa8, 0x9a, 0xa7, - 0x86, 0x67, 0xbf, 0xba, 0x52, 0x63, 0xd0, 0xa6, 0x47, 0x7c, 0x5d, 0xb9, 0x05, 0xe5, 0xc0, 0x56, - 0x9c, 0xe0, 0x17, 0x25, 0xde, 0x68, 0xe4, 0x93, 0x6f, 0x34, 0xe4, 0xff, 0x52, 0x84, 0x0a, 0xe1, - 0xc3, 0x8e, 0xf8, 0xd1, 0xfb, 0x97, 0xdc, 0xb9, 0xde, 0xbf, 0xe4, 0xcf, 0xfe, 0xfe, 0x85, 0x2c, - 0xc7, 0x99, 0xc3, 0xfd, 0xb2, 0xfc, 0xcc, 0x61, 0xa2, 0x8e, 0x6c, 0x57, 0x57, 0x0d, 0xe7, 0xf0, - 0x33, 0x1e, 0x75, 0x04, 0x06, 0x6a, 0x3b, 0x87, 0x9f, 0xc5, 0x09, 0x1e, 0x72, 0x63, 0x13, 0x11, - 0x3c, 0xa4, 0xa9, 0xdb, 0xd8, 0x01, 0x91, 0x72, 0xe0, 0x0f, 0x52, 0x18, 0x28, 0xe0, 0x10, 0x11, - 0x3c, 0xe4, 0x6f, 0x1d, 0x22, 0x82, 0x87, 0xc4, 0x5c, 0x7b, 0xd8, 0x35, 0x34, 0x93, 0xbf, 0x6d, - 0xe0, 0x25, 0xf4, 0x3e, 0xd4, 0x83, 0x18, 0x2a, 0xe3, 0x5d, 0xa1, 0x8e, 0x70, 0x2d, 0x00, 0x52, - 0xee, 0x09, 0xa2, 0x87, 0x54, 0x4b, 0xe3, 0x44, 0x0f, 0x69, 0x02, 0x0d, 0xca, 0x53, 0xa5, 0xef, - 0x37, 0x98, 0x22, 0x16, 0x94, 0x1a, 0x03, 0x76, 0x29, 0x8c, 0xc8, 0x39, 0xd2, 0x46, 0x07, 0x98, - 0x3f, 0xd6, 0xaa, 0x51, 0x12, 0xa0, 0x20, 0xfa, 0x40, 0x0b, 0x7d, 0x00, 0x4b, 0x21, 0x01, 0x4d, - 0x5d, 0x42, 0x1f, 0xa5, 0x16, 0x94, 0x7a, 0x40, 0xc3, 0xf2, 0x99, 0x5c, 0x81, 0x2a, 0x7f, 0x4c, - 0xa0, 0x6b, 0xbe, 0x46, 0x3f, 0xdc, 0x28, 0x28, 0x15, 0xfa, 0x90, 0x60, 0x5b, 0xf3, 0x35, 0xe2, - 0xf0, 0x62, 0xd7, 0xb5, 0x5d, 0xfa, 0x1a, 0xb5, 0xa0, 0xb0, 0x02, 0x7a, 0x0f, 0xb8, 0x34, 0xea, - 0x8f, 0x33, 0xec, 0x1e, 0xd3, 0xf7, 0xa6, 0x05, 0xa5, 0xca, 0x60, 0xdf, 0x12, 0x10, 0x9b, 0x0a, - 0x0f, 0xfb, 0x9c, 0x62, 0x99, 0x09, 0x48, 0x41, 0x94, 0x40, 0xfe, 0x1e, 0x8a, 0x8a, 0xf3, 0x83, - 0x11, 0xee, 0x73, 0xb9, 0x93, 0xf7, 0xb9, 0x13, 0x2e, 0x59, 0x42, 0xe5, 0x0c, 0x82, 0x3c, 0xff, - 0x98, 0xe5, 0x49, 0xeb, 0xd8, 0x93, 0x0e, 0x3e, 0xc4, 0x66, 0x94, 0xb6, 0x6b, 0xc1, 0x24, 0x65, - 0xee, 0x93, 0x0b, 0x31, 0xb7, 0x34, 0xf1, 0x5d, 0x56, 0x60, 0x15, 0x64, 0x05, 0x16, 0x68, 0x19, - 0x55, 0x60, 0xa1, 0xdf, 0xec, 0xb6, 0xb7, 0xa4, 0x77, 0xc8, 0xcf, 0xa7, 0xcd, 0x21, 0x3d, 0xe7, - 0x55, 0x60, 0xa1, 0xa5, 0x28, 0x3d, 0x45, 0xca, 0xa3, 0x32, 0x14, 0xbf, 0x6b, 0x2a, 0x5d, 0xa9, - 0x40, 0xdf, 0xaf, 0x76, 0x9f, 0xf6, 0xa4, 0x22, 0x41, 0x6f, 0xb7, 0x9e, 0xec, 0xed, 0x48, 0x0b, - 0xe4, 0xe7, 0x50, 0x69, 0x6e, 0xb5, 0xa4, 0xd2, 0xed, 0x6d, 0xa8, 0x84, 0x59, 0x0b, 0x11, 0x40, - 0x69, 0xa7, 0xd3, 0x7b, 0xd2, 0xec, 0x30, 0xc6, 0xec, 0x44, 0x48, 0x1f, 0xa4, 0x36, 0xb7, 0x7f, - 0xa6, 0xb6, 0xbb, 0x52, 0x9e, 0xa6, 0xa3, 0xd8, 0xfe, 0x99, 0xda, 0xdb, 0x1b, 0xb2, 0x44, 0x1b, - 0x2f, 0x94, 0xa7, 0x52, 0xf1, 0x76, 0x27, 0xf6, 0x45, 0x31, 0xb3, 0xd2, 0x48, 0x82, 0x5a, 0xa7, - 0xd7, 0x7b, 0xbe, 0xd7, 0x57, 0x5b, 0x2f, 0x9b, 0x5b, 0x43, 0xe9, 0x1d, 0xb4, 0x0c, 0x75, 0x0e, - 0xe9, 0xf4, 0xba, 0x3b, 0x2d, 0x85, 0x65, 0x9d, 0xe0, 0xa0, 0xc1, 0xb3, 0x9e, 0x32, 0x6c, 0x29, - 0x52, 0xfe, 0xf6, 0xaf, 0x72, 0x50, 0x15, 0x42, 0x4f, 0x42, 0xc6, 0xcd, 0x77, 0x50, 0x0d, 0xca, - 0xdd, 0x56, 0x7b, 0xe7, 0xd9, 0x93, 0x1e, 0xa9, 0xbd, 0x08, 0x85, 0x61, 0x73, 0x87, 0x8b, 0x35, - 0x50, 0xfb, 0xcd, 0xe1, 0x33, 0xa9, 0x80, 0xea, 0x50, 0xd9, 0xea, 0xed, 0xee, 0xee, 0x75, 0xdb, - 0xc3, 0xef, 0xa5, 0x22, 0x69, 0xb5, 0xf5, 0x72, 0xa8, 0x46, 0xa0, 0x05, 0x72, 0x80, 0xee, 0x34, - 0x95, 0x9d, 0x96, 0x00, 0x2c, 0x31, 0xd6, 0x2f, 0x87, 0xea, 0xb3, 0x5e, 0x5f, 0x5a, 0xbc, 0xfd, - 0x21, 0x54, 0xc2, 0x20, 0x13, 0xfd, 0xa0, 0xa0, 0xfb, 0xbd, 0xf8, 0x65, 0x01, 0x40, 0xa9, 0xdd, - 0x7d, 0xd1, 0x52, 0x86, 0x52, 0xfe, 0xf6, 0x6d, 0x90, 0x92, 0x61, 0x23, 0x54, 0x82, 0x7c, 0xeb, - 0x5b, 0xe9, 0x1d, 0xf2, 0x77, 0xa7, 0x25, 0xe5, 0xc8, 0xdf, 0x4e, 0x4b, 0xca, 0xdf, 0xfe, 0x84, - 0x3f, 0x15, 0xe3, 0xa7, 0xad, 0x58, 0x5a, 0xd1, 0xe6, 0xd6, 0x56, 0xab, 0x3f, 0x64, 0xcc, 0x95, - 0xd6, 0xcf, 0xe8, 0x4b, 0xe3, 0xdb, 0x7b, 0xb0, 0x92, 0x71, 0xbc, 0x26, 0x9d, 0x0a, 0x65, 0x57, - 0x9b, 0xdb, 0xdb, 0xd2, 0x3b, 0xe4, 0x38, 0x1f, 0x81, 0x94, 0xd6, 0x6e, 0xef, 0x05, 0x69, 0xf8, - 0x02, 0x2c, 0x8b, 0x50, 0xfe, 0x31, 0xc4, 0xed, 0x8f, 0xa1, 0x1e, 0x3b, 0x46, 0x93, 0x11, 0xdc, - 0x6d, 0x6d, 0xab, 0xbb, 0x3d, 0xc2, 0xaa, 0x01, 0x55, 0x52, 0x08, 0xc8, 0x73, 0xb7, 0x1f, 0x42, - 0x23, 0xe1, 0x6e, 0xc7, 0x9f, 0x49, 0x93, 0xe1, 0xd8, 0xed, 0xf7, 0x14, 0x2e, 0x7d, 0xeb, 0x25, - 0xfd, 0x9d, 0x7f, 0xf0, 0x2f, 0xaf, 0x42, 0x79, 0x87, 0xe8, 0x77, 0xd3, 0x31, 0xd0, 0x97, 0x50, - 0x0e, 0xfe, 0x61, 0x00, 0xba, 0x18, 0x3b, 0x24, 0x88, 0xff, 0x44, 0x60, 0x73, 0x2d, 0x65, 0x95, - 0x5b, 0x53, 0xc7, 0x3f, 0x46, 0x8f, 0x61, 0x91, 0xff, 0xcb, 0x00, 0xb4, 0x21, 0xd6, 0x16, 0xff, - 0x8b, 0xc0, 0x09, 0x95, 0x4b, 0xec, 0x9f, 0x09, 0x20, 0x61, 0x3b, 0x8f, 0xfd, 0xbf, 0x81, 0xcd, - 0x8d, 0x34, 0x82, 0x9b, 0xa7, 0xc7, 0xb0, 0xc8, 0xb3, 0x84, 0xa3, 0x44, 0x28, 0x38, 0x4a, 0x6f, - 0x3e, 0xb7, 0xe5, 0x26, 0x40, 0x94, 0x17, 0x1c, 0x5d, 0x12, 0x3d, 0x93, 0xc4, 0xbf, 0x1a, 0x98, - 0xcb, 0x62, 0x0b, 0xca, 0x41, 0xae, 0x6c, 0x71, 0xe0, 0x12, 0xff, 0x5e, 0x60, 0x73, 0x33, 0x0b, - 0xc5, 0xba, 0x70, 0x2f, 0x87, 0x76, 0x00, 0xa2, 0xd4, 0xdf, 0xa2, 0x1c, 0xa9, 0x7f, 0x0a, 0xb0, - 0xf9, 0x6e, 0x36, 0x92, 0x8f, 0xc6, 0xd7, 0x50, 0x09, 0x93, 0xe3, 0xa3, 0xcd, 0xf9, 0x19, 0xf3, - 0xe7, 0x76, 0xa7, 0x05, 0x35, 0x31, 0xf5, 0x3d, 0x12, 0x22, 0x49, 0x19, 0x29, 0xf1, 0x4f, 0x1a, - 0xd8, 0x28, 0xd5, 0xbd, 0xd8, 0xa1, 0x54, 0x02, 0xfc, 0x13, 0x06, 0xb6, 0x2a, 0xa4, 0xbf, 0x47, - 0x42, 0xbf, 0xd3, 0x59, 0xf1, 0xe7, 0x32, 0xe9, 0x40, 0x55, 0x48, 0x3f, 0x2f, 0x32, 0x49, 0x27, - 0xc1, 0xdf, 0xbc, 0x3c, 0x07, 0x1b, 0x4e, 0x53, 0x0b, 0x6a, 0x62, 0x46, 0x7a, 0x71, 0x70, 0x32, - 0x32, 0xd5, 0xcf, 0x15, 0xea, 0x39, 0x34, 0x12, 0xd9, 0xe8, 0xd1, 0xb5, 0x2c, 0xd5, 0x3b, 0x13, - 0x33, 0x05, 0xea, 0xb1, 0x5c, 0xed, 0xe8, 0x4a, 0x5a, 0xd3, 0x62, 0x8c, 0xae, 0xce, 0xc5, 0x87, - 0xfd, 0x7c, 0x01, 0x8d, 0x44, 0x26, 0x7a, 0x51, 0xc0, 0xec, 0xdc, 0xf8, 0x9b, 0xef, 0x9d, 0x40, - 0xc1, 0xb5, 0xf3, 0x5b, 0x40, 0xe9, 0x54, 0xf0, 0xe8, 0xfd, 0xd8, 0x28, 0x66, 0x67, 0x5b, 0x9f, - 0xdb, 0x7d, 0x1d, 0x56, 0x32, 0xd2, 0xac, 0xa3, 0xeb, 0xf1, 0x4e, 0xce, 0x61, 0xfa, 0xc1, 0x29, - 0x54, 0xe1, 0x80, 0x7c, 0x07, 0x17, 0x32, 0x13, 0xcc, 0xa3, 0x1b, 0xc9, 0x79, 0x7b, 0x4d, 0xf1, - 0xbf, 0x62, 0xd6, 0x4b, 0xf3, 0x0f, 0x50, 0xfa, 0x22, 0x2b, 0xa8, 0x7c, 0x31, 0x03, 0xc3, 0x47, - 0x34, 0x32, 0x60, 0x84, 0x45, 0xda, 0x80, 0x09, 0x5c, 0x4e, 0x33, 0x60, 0x84, 0xc1, 0xc5, 0xb9, - 0x29, 0xc1, 0x53, 0x06, 0x4c, 0x90, 0xe2, 0x5e, 0x0e, 0xb5, 0xc3, 0x7b, 0x3e, 0x96, 0x1e, 0x5b, - 0xd4, 0xc2, 0xac, 0xbc, 0xd9, 0xf3, 0xa4, 0xb9, 0x95, 0x43, 0x4d, 0x28, 0x07, 0xa9, 0xa5, 0x45, - 0x79, 0x12, 0x39, 0xaf, 0x45, 0x79, 0x52, 0x99, 0xa8, 0x7b, 0x50, 0x13, 0xb3, 0x2b, 0xa3, 0xf4, - 0xc2, 0x8e, 0xb1, 0xba, 0x32, 0x0f, 0x1d, 0x76, 0xef, 0xa7, 0x50, 0x62, 0x29, 0x97, 0x51, 0xfc, - 0xf6, 0x30, 0xca, 0x94, 0x3c, 0x77, 0x78, 0xbf, 0x86, 0x4a, 0x98, 0x7b, 0x59, 0xb4, 0xc8, 0xc9, - 0x84, 0xcc, 0x73, 0x19, 0x7c, 0x03, 0x8b, 0x3c, 0xdd, 0xb2, 0xa8, 0x22, 0xf1, 0x3c, 0xcd, 0x9b, - 0x17, 0x33, 0x30, 0xa1, 0xf4, 0x5f, 0x43, 0x25, 0x4c, 0x66, 0x2a, 0x8a, 0x90, 0xcc, 0xc8, 0x7c, - 0xd2, 0xa6, 0x20, 0xe6, 0x2c, 0x15, 0xc7, 0x33, 0x23, 0xb5, 0xf2, 0x5c, 0x36, 0x6d, 0x80, 0x28, - 0x3f, 0xa8, 0xa8, 0xac, 0xa9, 0xdc, 0xc8, 0xe2, 0x2e, 0x97, 0xce, 0x87, 0x7c, 0x2f, 0x47, 0x36, - 0x07, 0x21, 0xcd, 0xb1, 0x68, 0xd7, 0xd3, 0xd9, 0x8f, 0xe7, 0xca, 0xb3, 0x43, 0x95, 0x56, 0xb8, - 0x74, 0x8d, 0x2b, 0x6d, 0x2a, 0xab, 0xef, 0x5c, 0x46, 0xbb, 0x41, 0x2e, 0x3b, 0x81, 0xd7, 0x7b, - 0x29, 0xcb, 0x70, 0x66, 0x76, 0x7b, 0x2c, 0x0d, 0xb7, 0xc0, 0x2c, 0x61, 0xb3, 0xd3, 0xac, 0xae, - 0xcd, 0x27, 0x48, 0xec, 0x5e, 0x51, 0xd0, 0x3a, 0xbe, 0x7b, 0x25, 0x53, 0xec, 0x9e, 0xbe, 0x7b, - 0x45, 0x9c, 0x52, 0xbb, 0xd7, 0x99, 0x99, 0xf1, 0xdd, 0x2b, 0x62, 0x95, 0xd8, 0xbd, 0x52, 0x8c, - 0xae, 0xce, 0xc5, 0x87, 0xfd, 0x1c, 0xb0, 0xff, 0x1b, 0x93, 0x0c, 0x62, 0x5f, 0xcf, 0x50, 0xfc, - 0x54, 0x26, 0xd9, 0xb9, 0x82, 0x7e, 0x1f, 0xfe, 0x07, 0x99, 0x24, 0xdf, 0x9b, 0xd9, 0x8b, 0xe1, - 0xec, 0xac, 0x27, 0xfc, 0xbf, 0xb5, 0x24, 0x19, 0x7f, 0x90, 0xb5, 0x06, 0xd2, 0x6c, 0x6f, 0x9c, - 0x46, 0x26, 0x0e, 0x4c, 0x46, 0x0e, 0x5d, 0x71, 0x60, 0xe6, 0xa7, 0xd8, 0x3d, 0xc9, 0xf3, 0xe7, - 0xe9, 0x73, 0x13, 0x3b, 0x98, 0x90, 0xb0, 0xf5, 0x74, 0xff, 0x9b, 0xd6, 0x4f, 0x6d, 0x5f, 0x67, - 0x61, 0xc1, 0xb7, 0x2f, 0xca, 0x20, 0x61, 0x05, 0xc5, 0xea, 0x9b, 0x59, 0xa8, 0x70, 0x64, 0x42, - 0x77, 0x35, 0x29, 0x47, 0x2a, 0x03, 0xee, 0x19, 0xdc, 0x55, 0xca, 0x23, 0xed, 0xae, 0x9e, 0x85, - 0x49, 0xe0, 0xbe, 0x53, 0x16, 0x49, 0xf7, 0xfd, 0x2c, 0x0c, 0xf8, 0x7a, 0x0a, 0xb3, 0xd2, 0x26, - 0xd7, 0x53, 0x32, 0xe1, 0x6d, 0x72, 0x3d, 0xa5, 0xd2, 0xd9, 0x32, 0x5b, 0x2b, 0xa4, 0xab, 0x15, - 0x7b, 0x96, 0xce, 0x62, 0x7b, 0x52, 0xcf, 0xc2, 0x6c, 0xae, 0x62, 0xcf, 0x92, 0x29, 0x5e, 0x4f, - 0x54, 0x95, 0x30, 0xdf, 0x6a, 0x4c, 0x55, 0x92, 0x59, 0x58, 0xe7, 0xb2, 0x60, 0xbb, 0xf8, 0x93, - 0xa9, 0x93, 0xd8, 0xc5, 0xa3, 0x0c, 0xa4, 0xa7, 0xef, 0xe2, 0xa4, 0x76, 0x6a, 0x17, 0x3f, 0x03, - 0x03, 0xb6, 0x61, 0x05, 0x21, 0xa4, 0xc4, 0x86, 0x95, 0x88, 0x2c, 0xcd, 0x63, 0xb2, 0x5f, 0xa2, - 0xe5, 0x4f, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xa6, 0xe5, 0x04, 0x4e, 0x70, 0x00, - 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// GobgpApiClient is the client API for GobgpApi service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type GobgpApiClient interface { - StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*empty.Empty, error) - StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*empty.Empty, error) - GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) - AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) - UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) - ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) - EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) - MonitorPeer(ctx context.Context, in *MonitorPeerRequest, opts ...grpc.CallOption) (GobgpApi_MonitorPeerClient, error) - AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListPeerGroup(ctx context.Context, in *ListPeerGroupRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerGroupClient, error) - UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) - AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListDynamicNeighbor(ctx context.Context, in *ListDynamicNeighborRequest, opts ...grpc.CallOption) (GobgpApi_ListDynamicNeighborClient, error) - DeleteDynamicNeighbor(ctx context.Context, in *DeleteDynamicNeighborRequest, opts ...grpc.CallOption) (*empty.Empty, error) - AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) - DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) - AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) - GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) - MonitorTable(ctx context.Context, in *MonitorTableRequest, opts ...grpc.CallOption) (GobgpApi_MonitorTableClient, error) - AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) - AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) - SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*empty.Empty, error) - AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) - AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) - AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) - SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*empty.Empty, error) - AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) - EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) - ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) - EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*empty.Empty, error) - EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*empty.Empty, error) - AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*empty.Empty, error) - DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*empty.Empty, error) - SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*empty.Empty, error) -} - -type gobgpApiClient struct { - cc *grpc.ClientConn -} - -func NewGobgpApiClient(cc *grpc.ClientConn) GobgpApiClient { - return &gobgpApiClient{cc} -} - -func (c *gobgpApiClient) StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/StartBgp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/StopBgp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) { - out := new(GetBgpResponse) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/GetBgp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[0], "/gobgpapi.GobgpApi/ListPeer", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListPeerClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListPeerClient interface { - Recv() (*ListPeerResponse, error) - grpc.ClientStream -} - -type gobgpApiListPeerClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListPeerClient) Recv() (*ListPeerResponse, error) { - m := new(ListPeerResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) { - out := new(UpdatePeerResponse) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/UpdatePeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetPeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/ShutdownPeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/EnablePeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DisablePeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) MonitorPeer(ctx context.Context, in *MonitorPeerRequest, opts ...grpc.CallOption) (GobgpApi_MonitorPeerClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[1], "/gobgpapi.GobgpApi/MonitorPeer", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiMonitorPeerClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_MonitorPeerClient interface { - Recv() (*MonitorPeerResponse, error) - grpc.ClientStream -} - -type gobgpApiMonitorPeerClient struct { - grpc.ClientStream -} - -func (x *gobgpApiMonitorPeerClient) Recv() (*MonitorPeerResponse, error) { - m := new(MonitorPeerResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPeerGroup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePeerGroup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListPeerGroup(ctx context.Context, in *ListPeerGroupRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerGroupClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[2], "/gobgpapi.GobgpApi/ListPeerGroup", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListPeerGroupClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListPeerGroupClient interface { - Recv() (*ListPeerGroupResponse, error) - grpc.ClientStream -} - -type gobgpApiListPeerGroupClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListPeerGroupClient) Recv() (*ListPeerGroupResponse, error) { - m := new(ListPeerGroupResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) { - out := new(UpdatePeerGroupResponse) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/UpdatePeerGroup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDynamicNeighbor", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListDynamicNeighbor(ctx context.Context, in *ListDynamicNeighborRequest, opts ...grpc.CallOption) (GobgpApi_ListDynamicNeighborClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[3], "/gobgpapi.GobgpApi/ListDynamicNeighbor", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListDynamicNeighborClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListDynamicNeighborClient interface { - Recv() (*ListDynamicNeighborResponse, error) - grpc.ClientStream -} - -type gobgpApiListDynamicNeighborClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListDynamicNeighborClient) Recv() (*ListDynamicNeighborResponse, error) { - m := new(ListDynamicNeighborResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) DeleteDynamicNeighbor(ctx context.Context, in *DeleteDynamicNeighborRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteDynamicNeighbor", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) { - out := new(AddPathResponse) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPath", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePath", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[4], "/gobgpapi.GobgpApi/ListPath", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListPathClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListPathClient interface { - Recv() (*ListPathResponse, error) - grpc.ClientStream -} - -type gobgpApiListPathClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListPathClient) Recv() (*ListPathResponse, error) { - m := new(ListPathResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[5], "/gobgpapi.GobgpApi/AddPathStream", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiAddPathStreamClient{stream} - return x, nil -} - -type GobgpApi_AddPathStreamClient interface { - Send(*AddPathStreamRequest) error - CloseAndRecv() (*empty.Empty, error) - grpc.ClientStream -} - -type gobgpApiAddPathStreamClient struct { - grpc.ClientStream -} - -func (x *gobgpApiAddPathStreamClient) Send(m *AddPathStreamRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *gobgpApiAddPathStreamClient) CloseAndRecv() (*empty.Empty, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(empty.Empty) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) { - out := new(GetTableResponse) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/GetTable", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) MonitorTable(ctx context.Context, in *MonitorTableRequest, opts ...grpc.CallOption) (GobgpApi_MonitorTableClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[6], "/gobgpapi.GobgpApi/MonitorTable", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiMonitorTableClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_MonitorTableClient interface { - Recv() (*MonitorTableResponse, error) - grpc.ClientStream -} - -type gobgpApiMonitorTableClient struct { - grpc.ClientStream -} - -func (x *gobgpApiMonitorTableClient) Recv() (*MonitorTableResponse, error) { - m := new(MonitorTableResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddVrf", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteVrf", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[7], "/gobgpapi.GobgpApi/ListVrf", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListVrfClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListVrfClient interface { - Recv() (*ListVrfResponse, error) - grpc.ClientStream -} - -type gobgpApiListVrfClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListVrfClient) Recv() (*ListVrfResponse, error) { - m := new(ListVrfResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[8], "/gobgpapi.GobgpApi/ListPolicy", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListPolicyClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListPolicyClient interface { - Recv() (*ListPolicyResponse, error) - grpc.ClientStream -} - -type gobgpApiListPolicyClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListPolicyClient) Recv() (*ListPolicyResponse, error) { - m := new(ListPolicyResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/SetPolicies", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDefinedSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteDefinedSet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[9], "/gobgpapi.GobgpApi/ListDefinedSet", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListDefinedSetClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListDefinedSetClient interface { - Recv() (*ListDefinedSetResponse, error) - grpc.ClientStream -} - -type gobgpApiListDefinedSetClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListDefinedSetClient) Recv() (*ListDefinedSetResponse, error) { - m := new(ListDefinedSetResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddStatement", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteStatement", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[10], "/gobgpapi.GobgpApi/ListStatement", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListStatementClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListStatementClient interface { - Recv() (*ListStatementResponse, error) - grpc.ClientStream -} - -type gobgpApiListStatementClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListStatementClient) Recv() (*ListStatementResponse, error) { - m := new(ListStatementResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicyAssignment", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicyAssignment", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[11], "/gobgpapi.GobgpApi/ListPolicyAssignment", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListPolicyAssignmentClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListPolicyAssignmentClient interface { - Recv() (*ListPolicyAssignmentResponse, error) - grpc.ClientStream -} - -type gobgpApiListPolicyAssignmentClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListPolicyAssignmentClient) Recv() (*ListPolicyAssignmentResponse, error) { - m := new(ListPolicyAssignmentResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/SetPolicyAssignment", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddRpki", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteRpki", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[12], "/gobgpapi.GobgpApi/ListRpki", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListRpkiClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListRpkiClient interface { - Recv() (*ListRpkiResponse, error) - grpc.ClientStream -} - -type gobgpApiListRpkiClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListRpkiClient) Recv() (*ListRpkiResponse, error) { - m := new(ListRpkiResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableRpki", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableRpki", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetRpki", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) { - stream, err := c.cc.NewStream(ctx, &_GobgpApi_serviceDesc.Streams[13], "/gobgpapi.GobgpApi/ListRpkiTable", opts...) - if err != nil { - return nil, err - } - x := &gobgpApiListRpkiTableClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_ListRpkiTableClient interface { - Recv() (*ListRpkiTableResponse, error) - grpc.ClientStream -} - -type gobgpApiListRpkiTableClient struct { - grpc.ClientStream -} - -func (x *gobgpApiListRpkiTableClient) Recv() (*ListRpkiTableResponse, error) { - m := new(ListRpkiTableResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *gobgpApiClient) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableZebra", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableMrt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableMrt", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/AddBmp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteBmp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*empty.Empty, error) { - out := new(empty.Empty) - err := c.cc.Invoke(ctx, "/gobgpapi.GobgpApi/SetLogLevel", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// GobgpApiServer is the server API for GobgpApi service. -type GobgpApiServer interface { - StartBgp(context.Context, *StartBgpRequest) (*empty.Empty, error) - StopBgp(context.Context, *StopBgpRequest) (*empty.Empty, error) - GetBgp(context.Context, *GetBgpRequest) (*GetBgpResponse, error) - AddPeer(context.Context, *AddPeerRequest) (*empty.Empty, error) - DeletePeer(context.Context, *DeletePeerRequest) (*empty.Empty, error) - ListPeer(*ListPeerRequest, GobgpApi_ListPeerServer) error - UpdatePeer(context.Context, *UpdatePeerRequest) (*UpdatePeerResponse, error) - ResetPeer(context.Context, *ResetPeerRequest) (*empty.Empty, error) - ShutdownPeer(context.Context, *ShutdownPeerRequest) (*empty.Empty, error) - EnablePeer(context.Context, *EnablePeerRequest) (*empty.Empty, error) - DisablePeer(context.Context, *DisablePeerRequest) (*empty.Empty, error) - MonitorPeer(*MonitorPeerRequest, GobgpApi_MonitorPeerServer) error - AddPeerGroup(context.Context, *AddPeerGroupRequest) (*empty.Empty, error) - DeletePeerGroup(context.Context, *DeletePeerGroupRequest) (*empty.Empty, error) - ListPeerGroup(*ListPeerGroupRequest, GobgpApi_ListPeerGroupServer) error - UpdatePeerGroup(context.Context, *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error) - AddDynamicNeighbor(context.Context, *AddDynamicNeighborRequest) (*empty.Empty, error) - ListDynamicNeighbor(*ListDynamicNeighborRequest, GobgpApi_ListDynamicNeighborServer) error - DeleteDynamicNeighbor(context.Context, *DeleteDynamicNeighborRequest) (*empty.Empty, error) - AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) - DeletePath(context.Context, *DeletePathRequest) (*empty.Empty, error) - ListPath(*ListPathRequest, GobgpApi_ListPathServer) error - AddPathStream(GobgpApi_AddPathStreamServer) error - GetTable(context.Context, *GetTableRequest) (*GetTableResponse, error) - MonitorTable(*MonitorTableRequest, GobgpApi_MonitorTableServer) error - AddVrf(context.Context, *AddVrfRequest) (*empty.Empty, error) - DeleteVrf(context.Context, *DeleteVrfRequest) (*empty.Empty, error) - ListVrf(*ListVrfRequest, GobgpApi_ListVrfServer) error - AddPolicy(context.Context, *AddPolicyRequest) (*empty.Empty, error) - DeletePolicy(context.Context, *DeletePolicyRequest) (*empty.Empty, error) - ListPolicy(*ListPolicyRequest, GobgpApi_ListPolicyServer) error - SetPolicies(context.Context, *SetPoliciesRequest) (*empty.Empty, error) - AddDefinedSet(context.Context, *AddDefinedSetRequest) (*empty.Empty, error) - DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*empty.Empty, error) - ListDefinedSet(*ListDefinedSetRequest, GobgpApi_ListDefinedSetServer) error - AddStatement(context.Context, *AddStatementRequest) (*empty.Empty, error) - DeleteStatement(context.Context, *DeleteStatementRequest) (*empty.Empty, error) - ListStatement(*ListStatementRequest, GobgpApi_ListStatementServer) error - AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*empty.Empty, error) - DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*empty.Empty, error) - ListPolicyAssignment(*ListPolicyAssignmentRequest, GobgpApi_ListPolicyAssignmentServer) error - SetPolicyAssignment(context.Context, *SetPolicyAssignmentRequest) (*empty.Empty, error) - AddRpki(context.Context, *AddRpkiRequest) (*empty.Empty, error) - DeleteRpki(context.Context, *DeleteRpkiRequest) (*empty.Empty, error) - ListRpki(*ListRpkiRequest, GobgpApi_ListRpkiServer) error - EnableRpki(context.Context, *EnableRpkiRequest) (*empty.Empty, error) - DisableRpki(context.Context, *DisableRpkiRequest) (*empty.Empty, error) - ResetRpki(context.Context, *ResetRpkiRequest) (*empty.Empty, error) - ListRpkiTable(*ListRpkiTableRequest, GobgpApi_ListRpkiTableServer) error - EnableZebra(context.Context, *EnableZebraRequest) (*empty.Empty, error) - EnableMrt(context.Context, *EnableMrtRequest) (*empty.Empty, error) - DisableMrt(context.Context, *DisableMrtRequest) (*empty.Empty, error) - AddBmp(context.Context, *AddBmpRequest) (*empty.Empty, error) - DeleteBmp(context.Context, *DeleteBmpRequest) (*empty.Empty, error) - SetLogLevel(context.Context, *SetLogLevelRequest) (*empty.Empty, error) -} - -// UnimplementedGobgpApiServer can be embedded to have forward compatible implementations. -type UnimplementedGobgpApiServer struct { -} - -func (*UnimplementedGobgpApiServer) StartBgp(ctx context.Context, req *StartBgpRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method StartBgp not implemented") -} -func (*UnimplementedGobgpApiServer) StopBgp(ctx context.Context, req *StopBgpRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method StopBgp not implemented") -} -func (*UnimplementedGobgpApiServer) GetBgp(ctx context.Context, req *GetBgpRequest) (*GetBgpResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetBgp not implemented") -} -func (*UnimplementedGobgpApiServer) AddPeer(ctx context.Context, req *AddPeerRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddPeer not implemented") -} -func (*UnimplementedGobgpApiServer) DeletePeer(ctx context.Context, req *DeletePeerRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePeer not implemented") -} -func (*UnimplementedGobgpApiServer) ListPeer(req *ListPeerRequest, srv GobgpApi_ListPeerServer) error { - return status.Errorf(codes.Unimplemented, "method ListPeer not implemented") -} -func (*UnimplementedGobgpApiServer) UpdatePeer(ctx context.Context, req *UpdatePeerRequest) (*UpdatePeerResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdatePeer not implemented") -} -func (*UnimplementedGobgpApiServer) ResetPeer(ctx context.Context, req *ResetPeerRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetPeer not implemented") -} -func (*UnimplementedGobgpApiServer) ShutdownPeer(ctx context.Context, req *ShutdownPeerRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ShutdownPeer not implemented") -} -func (*UnimplementedGobgpApiServer) EnablePeer(ctx context.Context, req *EnablePeerRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method EnablePeer not implemented") -} -func (*UnimplementedGobgpApiServer) DisablePeer(ctx context.Context, req *DisablePeerRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DisablePeer not implemented") -} -func (*UnimplementedGobgpApiServer) MonitorPeer(req *MonitorPeerRequest, srv GobgpApi_MonitorPeerServer) error { - return status.Errorf(codes.Unimplemented, "method MonitorPeer not implemented") -} -func (*UnimplementedGobgpApiServer) AddPeerGroup(ctx context.Context, req *AddPeerGroupRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddPeerGroup not implemented") -} -func (*UnimplementedGobgpApiServer) DeletePeerGroup(ctx context.Context, req *DeletePeerGroupRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePeerGroup not implemented") -} -func (*UnimplementedGobgpApiServer) ListPeerGroup(req *ListPeerGroupRequest, srv GobgpApi_ListPeerGroupServer) error { - return status.Errorf(codes.Unimplemented, "method ListPeerGroup not implemented") -} -func (*UnimplementedGobgpApiServer) UpdatePeerGroup(ctx context.Context, req *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdatePeerGroup not implemented") -} -func (*UnimplementedGobgpApiServer) AddDynamicNeighbor(ctx context.Context, req *AddDynamicNeighborRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddDynamicNeighbor not implemented") -} -func (*UnimplementedGobgpApiServer) ListDynamicNeighbor(req *ListDynamicNeighborRequest, srv GobgpApi_ListDynamicNeighborServer) error { - return status.Errorf(codes.Unimplemented, "method ListDynamicNeighbor not implemented") -} -func (*UnimplementedGobgpApiServer) DeleteDynamicNeighbor(ctx context.Context, req *DeleteDynamicNeighborRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteDynamicNeighbor not implemented") -} -func (*UnimplementedGobgpApiServer) AddPath(ctx context.Context, req *AddPathRequest) (*AddPathResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddPath not implemented") -} -func (*UnimplementedGobgpApiServer) DeletePath(ctx context.Context, req *DeletePathRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePath not implemented") -} -func (*UnimplementedGobgpApiServer) ListPath(req *ListPathRequest, srv GobgpApi_ListPathServer) error { - return status.Errorf(codes.Unimplemented, "method ListPath not implemented") -} -func (*UnimplementedGobgpApiServer) AddPathStream(srv GobgpApi_AddPathStreamServer) error { - return status.Errorf(codes.Unimplemented, "method AddPathStream not implemented") -} -func (*UnimplementedGobgpApiServer) GetTable(ctx context.Context, req *GetTableRequest) (*GetTableResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTable not implemented") -} -func (*UnimplementedGobgpApiServer) MonitorTable(req *MonitorTableRequest, srv GobgpApi_MonitorTableServer) error { - return status.Errorf(codes.Unimplemented, "method MonitorTable not implemented") -} -func (*UnimplementedGobgpApiServer) AddVrf(ctx context.Context, req *AddVrfRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddVrf not implemented") -} -func (*UnimplementedGobgpApiServer) DeleteVrf(ctx context.Context, req *DeleteVrfRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteVrf not implemented") -} -func (*UnimplementedGobgpApiServer) ListVrf(req *ListVrfRequest, srv GobgpApi_ListVrfServer) error { - return status.Errorf(codes.Unimplemented, "method ListVrf not implemented") -} -func (*UnimplementedGobgpApiServer) AddPolicy(ctx context.Context, req *AddPolicyRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddPolicy not implemented") -} -func (*UnimplementedGobgpApiServer) DeletePolicy(ctx context.Context, req *DeletePolicyRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePolicy not implemented") -} -func (*UnimplementedGobgpApiServer) ListPolicy(req *ListPolicyRequest, srv GobgpApi_ListPolicyServer) error { - return status.Errorf(codes.Unimplemented, "method ListPolicy not implemented") -} -func (*UnimplementedGobgpApiServer) SetPolicies(ctx context.Context, req *SetPoliciesRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetPolicies not implemented") -} -func (*UnimplementedGobgpApiServer) AddDefinedSet(ctx context.Context, req *AddDefinedSetRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddDefinedSet not implemented") -} -func (*UnimplementedGobgpApiServer) DeleteDefinedSet(ctx context.Context, req *DeleteDefinedSetRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteDefinedSet not implemented") -} -func (*UnimplementedGobgpApiServer) ListDefinedSet(req *ListDefinedSetRequest, srv GobgpApi_ListDefinedSetServer) error { - return status.Errorf(codes.Unimplemented, "method ListDefinedSet not implemented") -} -func (*UnimplementedGobgpApiServer) AddStatement(ctx context.Context, req *AddStatementRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddStatement not implemented") -} -func (*UnimplementedGobgpApiServer) DeleteStatement(ctx context.Context, req *DeleteStatementRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteStatement not implemented") -} -func (*UnimplementedGobgpApiServer) ListStatement(req *ListStatementRequest, srv GobgpApi_ListStatementServer) error { - return status.Errorf(codes.Unimplemented, "method ListStatement not implemented") -} -func (*UnimplementedGobgpApiServer) AddPolicyAssignment(ctx context.Context, req *AddPolicyAssignmentRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddPolicyAssignment not implemented") -} -func (*UnimplementedGobgpApiServer) DeletePolicyAssignment(ctx context.Context, req *DeletePolicyAssignmentRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePolicyAssignment not implemented") -} -func (*UnimplementedGobgpApiServer) ListPolicyAssignment(req *ListPolicyAssignmentRequest, srv GobgpApi_ListPolicyAssignmentServer) error { - return status.Errorf(codes.Unimplemented, "method ListPolicyAssignment not implemented") -} -func (*UnimplementedGobgpApiServer) SetPolicyAssignment(ctx context.Context, req *SetPolicyAssignmentRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetPolicyAssignment not implemented") -} -func (*UnimplementedGobgpApiServer) AddRpki(ctx context.Context, req *AddRpkiRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddRpki not implemented") -} -func (*UnimplementedGobgpApiServer) DeleteRpki(ctx context.Context, req *DeleteRpkiRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteRpki not implemented") -} -func (*UnimplementedGobgpApiServer) ListRpki(req *ListRpkiRequest, srv GobgpApi_ListRpkiServer) error { - return status.Errorf(codes.Unimplemented, "method ListRpki not implemented") -} -func (*UnimplementedGobgpApiServer) EnableRpki(ctx context.Context, req *EnableRpkiRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method EnableRpki not implemented") -} -func (*UnimplementedGobgpApiServer) DisableRpki(ctx context.Context, req *DisableRpkiRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DisableRpki not implemented") -} -func (*UnimplementedGobgpApiServer) ResetRpki(ctx context.Context, req *ResetRpkiRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetRpki not implemented") -} -func (*UnimplementedGobgpApiServer) ListRpkiTable(req *ListRpkiTableRequest, srv GobgpApi_ListRpkiTableServer) error { - return status.Errorf(codes.Unimplemented, "method ListRpkiTable not implemented") -} -func (*UnimplementedGobgpApiServer) EnableZebra(ctx context.Context, req *EnableZebraRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method EnableZebra not implemented") -} -func (*UnimplementedGobgpApiServer) EnableMrt(ctx context.Context, req *EnableMrtRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method EnableMrt not implemented") -} -func (*UnimplementedGobgpApiServer) DisableMrt(ctx context.Context, req *DisableMrtRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DisableMrt not implemented") -} -func (*UnimplementedGobgpApiServer) AddBmp(ctx context.Context, req *AddBmpRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddBmp not implemented") -} -func (*UnimplementedGobgpApiServer) DeleteBmp(ctx context.Context, req *DeleteBmpRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteBmp not implemented") -} -func (*UnimplementedGobgpApiServer) SetLogLevel(ctx context.Context, req *SetLogLevelRequest) (*empty.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetLogLevel not implemented") -} - -func RegisterGobgpApiServer(s *grpc.Server, srv GobgpApiServer) { - s.RegisterService(&_GobgpApi_serviceDesc, srv) -} - -func _GobgpApi_StartBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StartBgpRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).StartBgp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/StartBgp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).StartBgp(ctx, req.(*StartBgpRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_StopBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StopBgpRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).StopBgp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/StopBgp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).StopBgp(ctx, req.(*StopBgpRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_GetBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetBgpRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).GetBgp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/GetBgp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetBgp(ctx, req.(*GetBgpRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_AddPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddPeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddPeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddPeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddPeer(ctx, req.(*AddPeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeletePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeletePeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeletePeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeletePeer(ctx, req.(*DeletePeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListPeer_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListPeerRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListPeer(m, &gobgpApiListPeerServer{stream}) -} - -type GobgpApi_ListPeerServer interface { - Send(*ListPeerResponse) error - grpc.ServerStream -} - -type gobgpApiListPeerServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListPeerServer) Send(m *ListPeerResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_UpdatePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdatePeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).UpdatePeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/UpdatePeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).UpdatePeer(ctx, req.(*UpdatePeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ResetPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResetPeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).ResetPeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ResetPeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ResetPeer(ctx, req.(*ResetPeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ShutdownPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ShutdownPeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).ShutdownPeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ShutdownPeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ShutdownPeer(ctx, req.(*ShutdownPeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_EnablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EnablePeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).EnablePeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/EnablePeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).EnablePeer(ctx, req.(*EnablePeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DisablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DisablePeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DisablePeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DisablePeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DisablePeer(ctx, req.(*DisablePeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_MonitorPeer_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(MonitorPeerRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).MonitorPeer(m, &gobgpApiMonitorPeerServer{stream}) -} - -type GobgpApi_MonitorPeerServer interface { - Send(*MonitorPeerResponse) error - grpc.ServerStream -} - -type gobgpApiMonitorPeerServer struct { - grpc.ServerStream -} - -func (x *gobgpApiMonitorPeerServer) Send(m *MonitorPeerResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_AddPeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddPeerGroupRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddPeerGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddPeerGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddPeerGroup(ctx, req.(*AddPeerGroupRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeletePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePeerGroupRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeletePeerGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeletePeerGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeletePeerGroup(ctx, req.(*DeletePeerGroupRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListPeerGroup_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListPeerGroupRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListPeerGroup(m, &gobgpApiListPeerGroupServer{stream}) -} - -type GobgpApi_ListPeerGroupServer interface { - Send(*ListPeerGroupResponse) error - grpc.ServerStream -} - -type gobgpApiListPeerGroupServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListPeerGroupServer) Send(m *ListPeerGroupResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_UpdatePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdatePeerGroupRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).UpdatePeerGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/UpdatePeerGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).UpdatePeerGroup(ctx, req.(*UpdatePeerGroupRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_AddDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddDynamicNeighborRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddDynamicNeighbor", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, req.(*AddDynamicNeighborRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListDynamicNeighbor_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListDynamicNeighborRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListDynamicNeighbor(m, &gobgpApiListDynamicNeighborServer{stream}) -} - -type GobgpApi_ListDynamicNeighborServer interface { - Send(*ListDynamicNeighborResponse) error - grpc.ServerStream -} - -type gobgpApiListDynamicNeighborServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListDynamicNeighborServer) Send(m *ListDynamicNeighborResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_DeleteDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteDynamicNeighborRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeleteDynamicNeighbor(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeleteDynamicNeighbor", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeleteDynamicNeighbor(ctx, req.(*DeleteDynamicNeighborRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_AddPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddPathRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddPath(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddPath", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddPath(ctx, req.(*AddPathRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeletePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePathRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeletePath(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeletePath", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeletePath(ctx, req.(*DeletePathRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListPath_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListPathRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListPath(m, &gobgpApiListPathServer{stream}) -} - -type GobgpApi_ListPathServer interface { - Send(*ListPathResponse) error - grpc.ServerStream -} - -type gobgpApiListPathServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListPathServer) Send(m *ListPathResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_AddPathStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(GobgpApiServer).AddPathStream(&gobgpApiAddPathStreamServer{stream}) -} - -type GobgpApi_AddPathStreamServer interface { - SendAndClose(*empty.Empty) error - Recv() (*AddPathStreamRequest, error) - grpc.ServerStream -} - -type gobgpApiAddPathStreamServer struct { - grpc.ServerStream -} - -func (x *gobgpApiAddPathStreamServer) SendAndClose(m *empty.Empty) error { - return x.ServerStream.SendMsg(m) -} - -func (x *gobgpApiAddPathStreamServer) Recv() (*AddPathStreamRequest, error) { - m := new(AddPathStreamRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _GobgpApi_GetTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTableRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).GetTable(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/GetTable", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetTable(ctx, req.(*GetTableRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_MonitorTable_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(MonitorTableRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).MonitorTable(m, &gobgpApiMonitorTableServer{stream}) -} - -type GobgpApi_MonitorTableServer interface { - Send(*MonitorTableResponse) error - grpc.ServerStream -} - -type gobgpApiMonitorTableServer struct { - grpc.ServerStream -} - -func (x *gobgpApiMonitorTableServer) Send(m *MonitorTableResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_AddVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddVrfRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddVrf(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddVrf", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddVrf(ctx, req.(*AddVrfRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeleteVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteVrfRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeleteVrf(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeleteVrf", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeleteVrf(ctx, req.(*DeleteVrfRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListVrf_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListVrfRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListVrf(m, &gobgpApiListVrfServer{stream}) -} - -type GobgpApi_ListVrfServer interface { - Send(*ListVrfResponse) error - grpc.ServerStream -} - -type gobgpApiListVrfServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListVrfServer) Send(m *ListVrfResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_AddPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddPolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddPolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddPolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddPolicy(ctx, req.(*AddPolicyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeletePolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeletePolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeletePolicy(ctx, req.(*DeletePolicyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListPolicy_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListPolicyRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListPolicy(m, &gobgpApiListPolicyServer{stream}) -} - -type GobgpApi_ListPolicyServer interface { - Send(*ListPolicyResponse) error - grpc.ServerStream -} - -type gobgpApiListPolicyServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListPolicyServer) Send(m *ListPolicyResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_SetPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetPoliciesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).SetPolicies(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/SetPolicies", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).SetPolicies(ctx, req.(*SetPoliciesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_AddDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddDefinedSetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddDefinedSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddDefinedSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddDefinedSet(ctx, req.(*AddDefinedSetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeleteDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteDefinedSetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeleteDefinedSet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeleteDefinedSet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeleteDefinedSet(ctx, req.(*DeleteDefinedSetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListDefinedSet_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListDefinedSetRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListDefinedSet(m, &gobgpApiListDefinedSetServer{stream}) -} - -type GobgpApi_ListDefinedSetServer interface { - Send(*ListDefinedSetResponse) error - grpc.ServerStream -} - -type gobgpApiListDefinedSetServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListDefinedSetServer) Send(m *ListDefinedSetResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_AddStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddStatementRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddStatement(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddStatement", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddStatement(ctx, req.(*AddStatementRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeleteStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteStatementRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeleteStatement(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeleteStatement", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeleteStatement(ctx, req.(*DeleteStatementRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListStatement_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListStatementRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListStatement(m, &gobgpApiListStatementServer{stream}) -} - -type GobgpApi_ListStatementServer interface { - Send(*ListStatementResponse) error - grpc.ServerStream -} - -type gobgpApiListStatementServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListStatementServer) Send(m *ListStatementResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_AddPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddPolicyAssignmentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddPolicyAssignment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddPolicyAssignment", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddPolicyAssignment(ctx, req.(*AddPolicyAssignmentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeletePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePolicyAssignmentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeletePolicyAssignment", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, req.(*DeletePolicyAssignmentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListPolicyAssignment_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListPolicyAssignmentRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListPolicyAssignment(m, &gobgpApiListPolicyAssignmentServer{stream}) -} - -type GobgpApi_ListPolicyAssignmentServer interface { - Send(*ListPolicyAssignmentResponse) error - grpc.ServerStream -} - -type gobgpApiListPolicyAssignmentServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListPolicyAssignmentServer) Send(m *ListPolicyAssignmentResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_SetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetPolicyAssignmentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).SetPolicyAssignment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/SetPolicyAssignment", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).SetPolicyAssignment(ctx, req.(*SetPolicyAssignmentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_AddRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddRpkiRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddRpki(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddRpki", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddRpki(ctx, req.(*AddRpkiRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeleteRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteRpkiRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeleteRpki(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeleteRpki", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeleteRpki(ctx, req.(*DeleteRpkiRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListRpki_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListRpkiRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListRpki(m, &gobgpApiListRpkiServer{stream}) -} - -type GobgpApi_ListRpkiServer interface { - Send(*ListRpkiResponse) error - grpc.ServerStream -} - -type gobgpApiListRpkiServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListRpkiServer) Send(m *ListRpkiResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_EnableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EnableRpkiRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).EnableRpki(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/EnableRpki", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).EnableRpki(ctx, req.(*EnableRpkiRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DisableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DisableRpkiRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DisableRpki(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DisableRpki", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DisableRpki(ctx, req.(*DisableRpkiRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResetRpkiRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).ResetRpki(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ResetRpki", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ResetRpki(ctx, req.(*ResetRpkiRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_ListRpkiTable_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ListRpkiTableRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GobgpApiServer).ListRpkiTable(m, &gobgpApiListRpkiTableServer{stream}) -} - -type GobgpApi_ListRpkiTableServer interface { - Send(*ListRpkiTableResponse) error - grpc.ServerStream -} - -type gobgpApiListRpkiTableServer struct { - grpc.ServerStream -} - -func (x *gobgpApiListRpkiTableServer) Send(m *ListRpkiTableResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _GobgpApi_EnableZebra_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EnableZebraRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).EnableZebra(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/EnableZebra", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).EnableZebra(ctx, req.(*EnableZebraRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_EnableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EnableMrtRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).EnableMrt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/EnableMrt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).EnableMrt(ctx, req.(*EnableMrtRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DisableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DisableMrtRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DisableMrt(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DisableMrt", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DisableMrt(ctx, req.(*DisableMrtRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_AddBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddBmpRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).AddBmp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/AddBmp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).AddBmp(ctx, req.(*AddBmpRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_DeleteBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteBmpRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).DeleteBmp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/DeleteBmp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).DeleteBmp(ctx, req.(*DeleteBmpRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GobgpApi_SetLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetLogLevelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GobgpApiServer).SetLogLevel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gobgpapi.GobgpApi/SetLogLevel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).SetLogLevel(ctx, req.(*SetLogLevelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _GobgpApi_serviceDesc = grpc.ServiceDesc{ - ServiceName: "gobgpapi.GobgpApi", - HandlerType: (*GobgpApiServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "StartBgp", - Handler: _GobgpApi_StartBgp_Handler, +var File_gobgp_proto protoreflect.FileDescriptor + +var file_gobgp_proto_rawDesc = []byte{ + 0x0a, 0x0b, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, + 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x25, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, + 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x42, + 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x06, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x22, 0x31, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, + 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x4b, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x22, 0x33, 0x0a, 0x10, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, + 0x72, 0x22, 0x5d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, + 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x10, 0x64, 0x6f, 0x5f, 0x73, 0x6f, + 0x66, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x64, 0x6f, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, + 0x22, 0x43, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, + 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x49, 0x6e, 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x12, 0x48, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x12, 0x53, 0x6f, 0x66, 0x74, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, + 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, + 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x13, 0x53, 0x68, 0x75, + 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x2d, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x54, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x22, 0x36, 0x0a, 0x13, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, + 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x46, 0x0a, 0x13, + 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, + 0x10, 0x64, 0x6f, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x69, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x6f, 0x53, 0x6f, 0x66, 0x74, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x22, 0x48, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x6e, 0x65, 0x65, 0x64, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, + 0x22, 0x3e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0x48, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x65, 0x65, + 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x5e, 0x0a, 0x19, 0x41, 0x64, + 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, + 0x69, 0x63, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, + 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x22, 0x55, 0x0a, 0x1c, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x22, 0x3b, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x60, + 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, + 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, + 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x22, 0x79, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x25, 0x0a, 0x0f, 0x41, + 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, + 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, + 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xa2, 0x03, 0x0a, + 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x34, 0x0a, 0x08, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, + 0x75, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, + 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6c, 0x72, 0x69, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6c, 0x72, + 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, + 0x20, 0x0a, 0x08, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, + 0x01, 0x22, 0x48, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x14, + 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, + 0x7d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x79, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6e, + 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x75, + 0x6d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0xbc, 0x01, 0x0a, 0x13, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x6f, + 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x37, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x22, 0x2d, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x72, 0x66, 0x52, 0x03, 0x76, 0x72, 0x66, + 0x22, 0x26, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2f, + 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x72, 0x66, 0x52, 0x03, 0x76, 0x72, 0x66, 0x22, + 0x75, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x7f, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x27, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3b, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb0, 0x01, + 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, + 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x0b, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x22, 0x4a, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x22, 0x5f, 0x0a, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, + 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x62, 0x0a, + 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x4c, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x53, 0x65, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x22, + 0x45, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, + 0x6c, 0x6c, 0x22, 0x2a, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x47, + 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6a, + 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x37, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x67, 0x0a, 0x1b, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x1a, + 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, + 0x41, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x38, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x37, 0x0a, 0x10, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x23, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x06, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x41, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x42, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x54, 0x0a, 0x10, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x6f, + 0x66, 0x74, 0x22, 0x3d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x22, 0x35, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x72, 0x6f, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x52, 0x6f, 0x61, 0x52, 0x03, 0x72, 0x6f, 0x61, 0x22, 0xa3, 0x02, 0x0a, 0x12, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, + 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6e, 0x65, + 0x78, 0x74, 0x68, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x70, 0x6c, 0x73, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x66, + 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9d, + 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x75, 0x6d, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x13, + 0x0a, 0x11, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0xa5, 0x02, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x42, 0x6d, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x42, + 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x79, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x53, 0x79, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x79, + 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x79, + 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x22, 0x43, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x52, + 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, + 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x22, 0x40, 0x0a, 0x10, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x83, 0x04, + 0x0a, 0x06, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x03, 0x61, 0x66, 0x69, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x2e, 0x41, 0x66, 0x69, 0x52, 0x03, 0x61, 0x66, 0x69, 0x12, 0x26, 0x0a, + 0x04, 0x73, 0x61, 0x66, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x2e, 0x53, 0x61, 0x66, 0x69, 0x52, + 0x04, 0x73, 0x61, 0x66, 0x69, 0x22, 0x5e, 0x0a, 0x03, 0x41, 0x66, 0x69, 0x12, 0x0f, 0x0a, 0x0b, + 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x41, 0x46, 0x49, 0x5f, 0x49, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x46, 0x49, + 0x5f, 0x49, 0x50, 0x36, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x32, + 0x56, 0x50, 0x4e, 0x10, 0x19, 0x12, 0x0c, 0x0a, 0x06, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x53, 0x10, + 0x84, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x0a, 0x41, 0x46, 0x49, 0x5f, 0x4f, 0x50, 0x41, 0x51, 0x55, + 0x45, 0x10, 0x8d, 0x80, 0x01, 0x22, 0xcb, 0x02, 0x0a, 0x04, 0x53, 0x61, 0x66, 0x69, 0x12, 0x10, + 0x0a, 0x0c, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, 0x54, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, + 0x43, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, + 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x53, + 0x41, 0x46, 0x49, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x53, 0x55, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x56, 0x50, 0x4c, 0x53, + 0x10, 0x41, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x45, 0x56, 0x50, 0x4e, 0x10, + 0x46, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x53, 0x10, 0x47, 0x12, 0x12, + 0x0a, 0x0e, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x10, 0x49, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, + 0x56, 0x50, 0x4e, 0x10, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, + 0x50, 0x4c, 0x53, 0x5f, 0x56, 0x50, 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, + 0x54, 0x10, 0x81, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, + 0x41, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x84, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x41, 0x46, 0x49, + 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, + 0x53, 0x54, 0x10, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x46, 0x4c, + 0x4f, 0x57, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x56, 0x50, 0x4e, 0x10, 0x86, 0x01, 0x12, 0x13, + 0x0a, 0x0e, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, + 0x10, 0xf1, 0x01, 0x22, 0x88, 0x03, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x61, + 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x0c, 0x75, 0x6e, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x61, 0x52, 0x0b, 0x75, 0x6e, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x73, 0x12, 0x35, 0x0a, 0x10, 0x75, 0x6e, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x61, 0x52, 0x0f, + 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, + 0x50, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, + 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x02, 0x12, 0x11, + 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, + 0x03, 0x22, 0x3b, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x02, 0x22, 0xd9, + 0x05, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x6c, 0x72, 0x69, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x6e, 0x6c, 0x72, + 0x69, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x70, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, + 0x2c, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x12, 0x31, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x6f, 0x5f, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x63, 0x69, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x6f, 0x49, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x57, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x73, 0x6e, 0x12, 0x1b, 0x0a, + 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, + 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, + 0x73, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x4e, 0x65, 0x78, 0x74, 0x68, + 0x6f, 0x70, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6c, 0x72, 0x69, 0x5f, 0x62, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x6c, 0x72, 0x69, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x74, 0x72, 0x73, 0x5f, + 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x61, + 0x74, 0x74, 0x72, 0x73, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x48, 0x0a, 0x0b, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x12, 0x21, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, + 0x61, 0x74, 0x68, 0x73, 0x22, 0x6a, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x12, 0x3d, 0x0a, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xb9, 0x04, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x23, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x52, + 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x12, 0x38, 0x0a, 0x0d, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, + 0x70, 0x52, 0x0c, 0x65, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x12, + 0x3e, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x2e, + 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35, + 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x66, 0x69, 0x5f, + 0x73, 0x61, 0x66, 0x69, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x52, 0x08, 0x61, 0x66, 0x69, + 0x53, 0x61, 0x66, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, + 0x0b, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x22, 0xc6, 0x04, 0x0a, + 0x09, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x12, 0x38, 0x0a, 0x0d, 0x65, + 0x62, 0x67, 0x70, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x52, 0x0c, 0x65, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x68, 0x6f, 0x70, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x25, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x52, + 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x41, + 0x0a, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x66, 0x69, 0x5f, 0x73, 0x61, 0x66, 0x69, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x66, 0x69, + 0x53, 0x61, 0x66, 0x69, 0x52, 0x08, 0x61, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x73, 0x12, 0x35, + 0x0a, 0x0c, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x74, 0x6c, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x22, 0x48, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, + 0xbf, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x34, 0x0a, 0x09, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x69, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x68, 0x75, + 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x63, + 0x74, 0x22, 0xeb, 0x04, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, + 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, + 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, + 0x65, 0x72, 0x41, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x52, 0x0f, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x12, 0x2c, 0x0a, + 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, 0x64, 0x61, 0x6d, 0x70, + 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, + 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x76, 0x72, 0x66, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x77, 0x6e, + 0x5f, 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x4f, 0x77, 0x6e, 0x41, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x41, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x31, 0x0a, 0x0f, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x12, + 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, + 0xa9, 0x03, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, + 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x50, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, + 0x6e, 0x66, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x41, 0x73, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x41, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, + 0x70, 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, + 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, + 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x31, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0b, + 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, 0xf3, 0x03, 0x0a, 0x0e, + 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x65, + 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, + 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x5f, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, + 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, + 0x64, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x22, 0x31, + 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, + 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, + 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, + 0x02, 0x22, 0x40, 0x0a, 0x0b, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x74, + 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x74, 0x6c, + 0x4d, 0x69, 0x6e, 0x22, 0x4b, 0x0a, 0x0c, 0x45, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x68, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x54, 0x74, 0x6c, + 0x22, 0x83, 0x01, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x90, 0x07, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, + 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, 0x12, 0x2b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, + 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, + 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x73, 0x52, 0x06, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, + 0x66, 0x6c, 0x61, 0x70, 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, + 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, + 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x3c, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, + 0x05, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x75, + 0x74, 0x51, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x70, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, + 0x6e, 0x79, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x61, 0x70, 0x12, 0x31, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x70, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, 0x0a, + 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, + 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, + 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, + 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, + 0x08, 0x4f, 0x50, 0x45, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, + 0x50, 0x45, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, + 0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x06, 0x22, 0x2a, 0x0a, + 0x0a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x55, + 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x50, 0x46, 0x58, 0x5f, 0x43, 0x54, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x08, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x22, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x04, 0x73, 0x65, 0x6e, 0x74, 0x22, 0x97, 0x02, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, + 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, + 0x36, 0x0a, 0x06, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x5f, 0x0a, 0x06, 0x54, 0x69, 0x6d, 0x65, 0x72, + 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x0c, 0x54, 0x69, 0x6d, + 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1b, + 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6b, + 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, + 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x44, 0x0a, 0x1e, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x1c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x69, 0x64, 0x6c, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0xe2, 0x02, 0x0a, + 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x74, 0x72, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, + 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x44, 0x0a, + 0x1e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x12, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x6c, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x6f, 0x77, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x22, 0x9f, 0x02, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, + 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x74, 0x75, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x74, 0x75, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73, + 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x63, 0x70, 0x5f, 0x6d, 0x73, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x63, 0x70, 0x4d, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x22, 0x66, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0f, + 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x6f, 0x6e, 0x67, 0x6c, 0x69, 0x76, + 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, + 0x74, 0x61, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x22, 0x33, 0x0a, 0x17, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x16, 0x4d, 0x70, 0x47, 0x72, + 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x65, 0x6e, 0x64, 0x5f, + 0x6f, 0x66, 0x5f, 0x72, 0x69, 0x62, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x52, 0x69, 0x62, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, + 0x66, 0x5f, 0x72, 0x69, 0x62, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x52, 0x69, 0x62, 0x53, 0x65, 0x6e, 0x74, 0x22, 0x80, + 0x01, 0x0a, 0x11, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x70, 0x47, + 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0x50, 0x0a, 0x0d, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x0c, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, + 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x22, 0x93, 0x03, + 0x0a, 0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, + 0x12, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, + 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x77, 0x61, 0x79, + 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x69, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3b, + 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x61, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, + 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x61, 0x69, 0x67, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x69, 0x67, 0x70, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x67, 0x70, 0x5f, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, + 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x67, 0x70, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x42, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x03, 0x0a, 0x1a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x64, + 0x12, 0x31, 0x0a, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x69, 0x6e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x49, 0x6e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x69, 0x67, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x69, 0x67, 0x70, 0x12, 0x3a, 0x0a, + 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, + 0x5f, 0x69, 0x67, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x49, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x31, 0x0a, 0x15, 0x55, + 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x5d, + 0x0a, 0x0a, 0x45, 0x62, 0x67, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x61, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x41, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x5c, 0x0a, + 0x09, 0x45, 0x62, 0x67, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x41, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, + 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x59, 0x0a, 0x04, 0x45, + 0x62, 0x67, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x0a, 0x49, 0x62, 0x67, 0x70, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x30, 0x0a, 0x09, 0x49, 0x62, 0x67, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, + 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x59, 0x0a, 0x04, 0x49, + 0x62, 0x67, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x49, 0x62, 0x67, 0x70, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x49, 0x62, 0x67, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x65, 0x62, 0x67, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, + 0x70, 0x52, 0x04, 0x65, 0x62, 0x67, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x62, 0x67, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x49, 0x62, + 0x67, 0x70, 0x52, 0x04, 0x69, 0x62, 0x67, 0x70, 0x22, 0x42, 0x0a, 0x1b, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x1a, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0x8c, 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x5d, + 0x0a, 0x1e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xde, 0x01, + 0x0a, 0x1d, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0x95, + 0x01, 0x0a, 0x18, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, + 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, + 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9d, 0x05, 0x0a, 0x07, 0x41, 0x66, 0x69, 0x53, 0x61, + 0x66, 0x69, 0x12, 0x48, 0x0a, 0x13, 0x6d, 0x70, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, + 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x11, 0x6d, 0x70, 0x47, 0x72, 0x61, + 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x54, 0x0a, 0x17, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x37, 0x0a, 0x0d, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x12, 0x54, 0x0a, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x52, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x5e, 0x0a, 0x1b, 0x6c, 0x6f, 0x6e, 0x67, + 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, + 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x18, + 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x08, 0x61, 0x64, + 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x45, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, + 0x68, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x22, 0x44, 0x0a, + 0x0d, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, + 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, + 0x4d, 0x61, 0x78, 0x22, 0x65, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, + 0x2d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x75, 0x0a, 0x06, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x6b, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x73, + 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x61, + 0x78, 0x22, 0x96, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, + 0x12, 0x35, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x29, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x08, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x0c, 0x41, + 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x0b, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xaf, 0x05, + 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, + 0x74, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x0c, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x65, 0x74, 0x52, 0x0b, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x74, + 0x12, 0x39, 0x0a, 0x0e, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x0c, 0x61, + 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x0b, 0x61, + 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, + 0x74, 0x52, 0x09, 0x61, 0x73, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x0d, + 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x65, 0x74, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x11, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x0f, + 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x72, 0x70, 0x6b, 0x69, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x13, + 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, + 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x11, 0x6c, 0x61, 0x72, 0x67, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x27, 0x0a, + 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x49, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0b, 0x61, 0x66, 0x69, 0x5f, 0x73, 0x61, + 0x66, 0x69, 0x5f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x09, 0x61, 0x66, 0x69, 0x53, + 0x61, 0x66, 0x69, 0x49, 0x6e, 0x22, 0x68, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, + 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x22, + 0x70, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x22, 0x58, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, + 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5f, 0x0a, 0x0f, 0x41, + 0x73, 0x50, 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, + 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x75, 0x73, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x73, 0x74, 0x22, 0x5b, 0x0a, 0x0d, + 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x75, + 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x75, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x27, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0xb6, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, + 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x03, 0x6d, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4d, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6d, 0x65, 0x64, 0x12, + 0x35, 0x0a, 0x0a, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x50, 0x72, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x73, 0x50, + 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x78, + 0x74, 0x68, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, + 0x68, 0x6f, 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x12, 0x3f, 0x0a, 0x0f, 0x6c, 0x61, + 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x7c, 0x0a, 0x09, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4e, 0x0a, 0x06, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, + 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x34, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x53, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x22, 0x88, 0x01, 0x0a, 0x03, 0x52, 0x6f, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x4b, + 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0xb5, 0x01, 0x0a, 0x03, + 0x56, 0x72, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x31, 0x0a, + 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x74, + 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x17, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd6, 0x04, 0x0a, + 0x06, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x61, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x08, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, + 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, + 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x24, 0x0a, 0x0e, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x6f, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x41, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x08, 0x52, 0x50, 0x4b, 0x49, 0x43, 0x6f, + 0x6e, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xd4, 0x04, + 0x0a, 0x09, 0x52, 0x50, 0x4b, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x75, + 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x36, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, + 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x02, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x49, 0x70, 0x76, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, 0x70, 0x76, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, 0x70, 0x76, 0x36, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, + 0x69, 0x70, 0x76, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x49, 0x70, 0x76, 0x34, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x6e, + 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x22, 0x53, 0x0a, 0x04, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x23, 0x0a, 0x04, + 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x4b, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, 0x63, 0x6f, 0x6e, + 0x66, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x4b, 0x49, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x53, 0x65, + 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x52, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, + 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x49, + 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, + 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x2a, 0x44, 0x0a, 0x09, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, + 0x41, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, + 0x0a, 0x0a, 0x06, 0x41, 0x44, 0x4a, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, + 0x44, 0x4a, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x52, 0x46, 0x10, + 0x04, 0x2a, 0x4c, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, + 0x5f, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x4f, 0x4b, + 0x55, 0x50, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x45, 0x52, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, + 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x45, 0x52, 0x10, 0x02, 0x2a, + 0x82, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, + 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x47, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x53, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x11, + 0x0a, 0x0d, 0x45, 0x58, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, + 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, + 0x4e, 0x49, 0x54, 0x59, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, + 0x4f, 0x50, 0x10, 0x07, 0x2a, 0x29, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, + 0x4c, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x10, 0x02, 0x2a, + 0x2a, 0x0a, 0x10, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, + 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x2a, 0x2f, 0x0a, 0x0b, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x2a, 0x55, 0x0a, 0x13, + 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, + 0x5f, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, + 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, + 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, + 0x45, 0x10, 0x02, 0x2a, 0x2d, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x10, + 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, + 0x10, 0x01, 0x2a, 0x36, 0x0a, 0x0f, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x0a, + 0x0a, 0x06, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x32, 0xd4, 0x1d, 0x0a, 0x08, 0x47, + 0x6f, 0x62, 0x67, 0x70, 0x41, 0x70, 0x69, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x42, 0x67, 0x70, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x42, 0x67, 0x70, 0x12, 0x15, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x42, 0x67, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x35, 0x0a, + 0x06, 0x47, 0x65, 0x74, 0x42, 0x67, 0x70, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, + 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, + 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, + 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x41, 0x0a, + 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x17, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, + 0x0a, 0x0c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1a, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, + 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, + 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, + 0x65, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x65, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x0c, + 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x48, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x12, 0x41, 0x64, + 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5e, 0x0a, 0x13, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x54, 0x0a, 0x15, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x38, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x15, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x08, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0d, 0x41, 0x64, 0x64, + 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, + 0x01, 0x12, 0x3b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, + 0x0a, 0x0c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x36, 0x0a, 0x06, 0x41, 0x64, 0x64, + 0x56, 0x72, 0x66, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x56, + 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x72, 0x66, 0x12, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x72, 0x66, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x3a, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, + 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x3c, 0x0a, 0x09, 0x41, + 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, + 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70, + 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, + 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x10, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1e, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4f, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x0f, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x24, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x61, 0x0a, + 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x50, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x08, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, + 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x0a, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, + 0x09, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, + 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, + 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x06, 0x41, 0x64, 0x64, + 0x42, 0x6d, 0x70, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x42, + 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6d, 0x70, 0x12, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6d, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x40, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, + 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x73, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70, + 0x69, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_gobgp_proto_rawDescOnce sync.Once + file_gobgp_proto_rawDescData = file_gobgp_proto_rawDesc +) + +func file_gobgp_proto_rawDescGZIP() []byte { + file_gobgp_proto_rawDescOnce.Do(func() { + file_gobgp_proto_rawDescData = protoimpl.X.CompressGZIP(file_gobgp_proto_rawDescData) + }) + return file_gobgp_proto_rawDescData +} + +var file_gobgp_proto_enumTypes = make([]protoimpl.EnumInfo, 23) +var file_gobgp_proto_msgTypes = make([]protoimpl.MessageInfo, 149) +var file_gobgp_proto_goTypes = []interface{}{ + (TableType)(0), // 0: apipb.TableType + (TableLookupOption)(0), // 1: apipb.TableLookupOption + (DefinedType)(0), // 2: apipb.DefinedType + (MatchType)(0), // 3: apipb.MatchType + (AsPathLengthType)(0), // 4: apipb.AsPathLengthType + (RouteAction)(0), // 5: apipb.RouteAction + (CommunityActionType)(0), // 6: apipb.CommunityActionType + (MedActionType)(0), // 7: apipb.MedActionType + (PolicyDirection)(0), // 8: apipb.PolicyDirection + (ResetPeerRequest_SoftResetDirection)(0), // 9: apipb.ResetPeerRequest.SoftResetDirection + (ListPathRequest_SortType)(0), // 10: apipb.ListPathRequest.SortType + (AddBmpRequest_MonitoringPolicy)(0), // 11: apipb.AddBmpRequest.MonitoringPolicy + (Family_Afi)(0), // 12: apipb.Family.Afi + (Family_Safi)(0), // 13: apipb.Family.Safi + (Validation_State)(0), // 14: apipb.Validation.State + (Validation_Reason)(0), // 15: apipb.Validation.Reason + (PeerConf_RemovePrivateAs)(0), // 16: apipb.PeerConf.RemovePrivateAs + (PeerGroupConf_RemovePrivateAs)(0), // 17: apipb.PeerGroupConf.RemovePrivateAs + (PeerGroupState_RemovePrivateAs)(0), // 18: apipb.PeerGroupState.RemovePrivateAs + (PeerState_SessionState)(0), // 19: apipb.PeerState.SessionState + (PeerState_AdminState)(0), // 20: apipb.PeerState.AdminState + (Conditions_RouteType)(0), // 21: apipb.Conditions.RouteType + (SetLogLevelRequest_Level)(0), // 22: apipb.SetLogLevelRequest.Level + (*StartBgpRequest)(nil), // 23: apipb.StartBgpRequest + (*StopBgpRequest)(nil), // 24: apipb.StopBgpRequest + (*GetBgpRequest)(nil), // 25: apipb.GetBgpRequest + (*GetBgpResponse)(nil), // 26: apipb.GetBgpResponse + (*AddPeerRequest)(nil), // 27: apipb.AddPeerRequest + (*DeletePeerRequest)(nil), // 28: apipb.DeletePeerRequest + (*ListPeerRequest)(nil), // 29: apipb.ListPeerRequest + (*ListPeerResponse)(nil), // 30: apipb.ListPeerResponse + (*UpdatePeerRequest)(nil), // 31: apipb.UpdatePeerRequest + (*UpdatePeerResponse)(nil), // 32: apipb.UpdatePeerResponse + (*ResetPeerRequest)(nil), // 33: apipb.ResetPeerRequest + (*ShutdownPeerRequest)(nil), // 34: apipb.ShutdownPeerRequest + (*EnablePeerRequest)(nil), // 35: apipb.EnablePeerRequest + (*DisablePeerRequest)(nil), // 36: apipb.DisablePeerRequest + (*MonitorPeerRequest)(nil), // 37: apipb.MonitorPeerRequest + (*MonitorPeerResponse)(nil), // 38: apipb.MonitorPeerResponse + (*AddPeerGroupRequest)(nil), // 39: apipb.AddPeerGroupRequest + (*DeletePeerGroupRequest)(nil), // 40: apipb.DeletePeerGroupRequest + (*UpdatePeerGroupRequest)(nil), // 41: apipb.UpdatePeerGroupRequest + (*UpdatePeerGroupResponse)(nil), // 42: apipb.UpdatePeerGroupResponse + (*ListPeerGroupRequest)(nil), // 43: apipb.ListPeerGroupRequest + (*ListPeerGroupResponse)(nil), // 44: apipb.ListPeerGroupResponse + (*AddDynamicNeighborRequest)(nil), // 45: apipb.AddDynamicNeighborRequest + (*DeleteDynamicNeighborRequest)(nil), // 46: apipb.DeleteDynamicNeighborRequest + (*ListDynamicNeighborRequest)(nil), // 47: apipb.ListDynamicNeighborRequest + (*ListDynamicNeighborResponse)(nil), // 48: apipb.ListDynamicNeighborResponse + (*AddPathRequest)(nil), // 49: apipb.AddPathRequest + (*AddPathResponse)(nil), // 50: apipb.AddPathResponse + (*DeletePathRequest)(nil), // 51: apipb.DeletePathRequest + (*ListPathRequest)(nil), // 52: apipb.ListPathRequest + (*ListPathResponse)(nil), // 53: apipb.ListPathResponse + (*AddPathStreamRequest)(nil), // 54: apipb.AddPathStreamRequest + (*GetTableRequest)(nil), // 55: apipb.GetTableRequest + (*GetTableResponse)(nil), // 56: apipb.GetTableResponse + (*MonitorTableRequest)(nil), // 57: apipb.MonitorTableRequest + (*MonitorTableResponse)(nil), // 58: apipb.MonitorTableResponse + (*AddVrfRequest)(nil), // 59: apipb.AddVrfRequest + (*DeleteVrfRequest)(nil), // 60: apipb.DeleteVrfRequest + (*ListVrfRequest)(nil), // 61: apipb.ListVrfRequest + (*ListVrfResponse)(nil), // 62: apipb.ListVrfResponse + (*AddPolicyRequest)(nil), // 63: apipb.AddPolicyRequest + (*DeletePolicyRequest)(nil), // 64: apipb.DeletePolicyRequest + (*ListPolicyRequest)(nil), // 65: apipb.ListPolicyRequest + (*ListPolicyResponse)(nil), // 66: apipb.ListPolicyResponse + (*SetPoliciesRequest)(nil), // 67: apipb.SetPoliciesRequest + (*AddDefinedSetRequest)(nil), // 68: apipb.AddDefinedSetRequest + (*DeleteDefinedSetRequest)(nil), // 69: apipb.DeleteDefinedSetRequest + (*ListDefinedSetRequest)(nil), // 70: apipb.ListDefinedSetRequest + (*ListDefinedSetResponse)(nil), // 71: apipb.ListDefinedSetResponse + (*AddStatementRequest)(nil), // 72: apipb.AddStatementRequest + (*DeleteStatementRequest)(nil), // 73: apipb.DeleteStatementRequest + (*ListStatementRequest)(nil), // 74: apipb.ListStatementRequest + (*ListStatementResponse)(nil), // 75: apipb.ListStatementResponse + (*AddPolicyAssignmentRequest)(nil), // 76: apipb.AddPolicyAssignmentRequest + (*DeletePolicyAssignmentRequest)(nil), // 77: apipb.DeletePolicyAssignmentRequest + (*ListPolicyAssignmentRequest)(nil), // 78: apipb.ListPolicyAssignmentRequest + (*ListPolicyAssignmentResponse)(nil), // 79: apipb.ListPolicyAssignmentResponse + (*SetPolicyAssignmentRequest)(nil), // 80: apipb.SetPolicyAssignmentRequest + (*AddRpkiRequest)(nil), // 81: apipb.AddRpkiRequest + (*DeleteRpkiRequest)(nil), // 82: apipb.DeleteRpkiRequest + (*ListRpkiRequest)(nil), // 83: apipb.ListRpkiRequest + (*ListRpkiResponse)(nil), // 84: apipb.ListRpkiResponse + (*EnableRpkiRequest)(nil), // 85: apipb.EnableRpkiRequest + (*DisableRpkiRequest)(nil), // 86: apipb.DisableRpkiRequest + (*ResetRpkiRequest)(nil), // 87: apipb.ResetRpkiRequest + (*ListRpkiTableRequest)(nil), // 88: apipb.ListRpkiTableRequest + (*ListRpkiTableResponse)(nil), // 89: apipb.ListRpkiTableResponse + (*EnableZebraRequest)(nil), // 90: apipb.EnableZebraRequest + (*EnableMrtRequest)(nil), // 91: apipb.EnableMrtRequest + (*DisableMrtRequest)(nil), // 92: apipb.DisableMrtRequest + (*AddBmpRequest)(nil), // 93: apipb.AddBmpRequest + (*DeleteBmpRequest)(nil), // 94: apipb.DeleteBmpRequest + (*Family)(nil), // 95: apipb.Family + (*Validation)(nil), // 96: apipb.Validation + (*Path)(nil), // 97: apipb.Path + (*Destination)(nil), // 98: apipb.Destination + (*TableLookupPrefix)(nil), // 99: apipb.TableLookupPrefix + (*Peer)(nil), // 100: apipb.Peer + (*PeerGroup)(nil), // 101: apipb.PeerGroup + (*DynamicNeighbor)(nil), // 102: apipb.DynamicNeighbor + (*ApplyPolicy)(nil), // 103: apipb.ApplyPolicy + (*PrefixLimit)(nil), // 104: apipb.PrefixLimit + (*PeerConf)(nil), // 105: apipb.PeerConf + (*PeerGroupConf)(nil), // 106: apipb.PeerGroupConf + (*PeerGroupState)(nil), // 107: apipb.PeerGroupState + (*TtlSecurity)(nil), // 108: apipb.TtlSecurity + (*EbgpMultihop)(nil), // 109: apipb.EbgpMultihop + (*RouteReflector)(nil), // 110: apipb.RouteReflector + (*PeerState)(nil), // 111: apipb.PeerState + (*Messages)(nil), // 112: apipb.Messages + (*Message)(nil), // 113: apipb.Message + (*Queues)(nil), // 114: apipb.Queues + (*Timers)(nil), // 115: apipb.Timers + (*TimersConfig)(nil), // 116: apipb.TimersConfig + (*TimersState)(nil), // 117: apipb.TimersState + (*Transport)(nil), // 118: apipb.Transport + (*RouteServer)(nil), // 119: apipb.RouteServer + (*GracefulRestart)(nil), // 120: apipb.GracefulRestart + (*MpGracefulRestartConfig)(nil), // 121: apipb.MpGracefulRestartConfig + (*MpGracefulRestartState)(nil), // 122: apipb.MpGracefulRestartState + (*MpGracefulRestart)(nil), // 123: apipb.MpGracefulRestart + (*AfiSafiConfig)(nil), // 124: apipb.AfiSafiConfig + (*AfiSafiState)(nil), // 125: apipb.AfiSafiState + (*RouteSelectionOptionsConfig)(nil), // 126: apipb.RouteSelectionOptionsConfig + (*RouteSelectionOptionsState)(nil), // 127: apipb.RouteSelectionOptionsState + (*RouteSelectionOptions)(nil), // 128: apipb.RouteSelectionOptions + (*UseMultiplePathsConfig)(nil), // 129: apipb.UseMultiplePathsConfig + (*UseMultiplePathsState)(nil), // 130: apipb.UseMultiplePathsState + (*EbgpConfig)(nil), // 131: apipb.EbgpConfig + (*EbgpState)(nil), // 132: apipb.EbgpState + (*Ebgp)(nil), // 133: apipb.Ebgp + (*IbgpConfig)(nil), // 134: apipb.IbgpConfig + (*IbgpState)(nil), // 135: apipb.IbgpState + (*Ibgp)(nil), // 136: apipb.Ibgp + (*UseMultiplePaths)(nil), // 137: apipb.UseMultiplePaths + (*RouteTargetMembershipConfig)(nil), // 138: apipb.RouteTargetMembershipConfig + (*RouteTargetMembershipState)(nil), // 139: apipb.RouteTargetMembershipState + (*RouteTargetMembership)(nil), // 140: apipb.RouteTargetMembership + (*LongLivedGracefulRestartConfig)(nil), // 141: apipb.LongLivedGracefulRestartConfig + (*LongLivedGracefulRestartState)(nil), // 142: apipb.LongLivedGracefulRestartState + (*LongLivedGracefulRestart)(nil), // 143: apipb.LongLivedGracefulRestart + (*AfiSafi)(nil), // 144: apipb.AfiSafi + (*AddPathsConfig)(nil), // 145: apipb.AddPathsConfig + (*AddPathsState)(nil), // 146: apipb.AddPathsState + (*AddPaths)(nil), // 147: apipb.AddPaths + (*Prefix)(nil), // 148: apipb.Prefix + (*DefinedSet)(nil), // 149: apipb.DefinedSet + (*MatchSet)(nil), // 150: apipb.MatchSet + (*AsPathLength)(nil), // 151: apipb.AsPathLength + (*Conditions)(nil), // 152: apipb.Conditions + (*CommunityAction)(nil), // 153: apipb.CommunityAction + (*MedAction)(nil), // 154: apipb.MedAction + (*AsPrependAction)(nil), // 155: apipb.AsPrependAction + (*NexthopAction)(nil), // 156: apipb.NexthopAction + (*LocalPrefAction)(nil), // 157: apipb.LocalPrefAction + (*Actions)(nil), // 158: apipb.Actions + (*Statement)(nil), // 159: apipb.Statement + (*Policy)(nil), // 160: apipb.Policy + (*PolicyAssignment)(nil), // 161: apipb.PolicyAssignment + (*RoutingPolicy)(nil), // 162: apipb.RoutingPolicy + (*Roa)(nil), // 163: apipb.Roa + (*Vrf)(nil), // 164: apipb.Vrf + (*DefaultRouteDistance)(nil), // 165: apipb.DefaultRouteDistance + (*Global)(nil), // 166: apipb.Global + (*Confederation)(nil), // 167: apipb.Confederation + (*RPKIConf)(nil), // 168: apipb.RPKIConf + (*RPKIState)(nil), // 169: apipb.RPKIState + (*Rpki)(nil), // 170: apipb.Rpki + (*SetLogLevelRequest)(nil), // 171: apipb.SetLogLevelRequest + (*anypb.Any)(nil), // 172: google.protobuf.Any + (*timestamppb.Timestamp)(nil), // 173: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 174: google.protobuf.Empty +} +var file_gobgp_proto_depIdxs = []int32{ + 166, // 0: apipb.StartBgpRequest.global:type_name -> apipb.Global + 166, // 1: apipb.GetBgpResponse.global:type_name -> apipb.Global + 100, // 2: apipb.AddPeerRequest.peer:type_name -> apipb.Peer + 100, // 3: apipb.ListPeerResponse.peer:type_name -> apipb.Peer + 100, // 4: apipb.UpdatePeerRequest.peer:type_name -> apipb.Peer + 9, // 5: apipb.ResetPeerRequest.direction:type_name -> apipb.ResetPeerRequest.SoftResetDirection + 100, // 6: apipb.MonitorPeerResponse.peer:type_name -> apipb.Peer + 101, // 7: apipb.AddPeerGroupRequest.peer_group:type_name -> apipb.PeerGroup + 101, // 8: apipb.UpdatePeerGroupRequest.peer_group:type_name -> apipb.PeerGroup + 101, // 9: apipb.ListPeerGroupResponse.peer_group:type_name -> apipb.PeerGroup + 102, // 10: apipb.AddDynamicNeighborRequest.dynamic_neighbor:type_name -> apipb.DynamicNeighbor + 102, // 11: apipb.ListDynamicNeighborResponse.dynamic_neighbor:type_name -> apipb.DynamicNeighbor + 0, // 12: apipb.AddPathRequest.table_type:type_name -> apipb.TableType + 97, // 13: apipb.AddPathRequest.path:type_name -> apipb.Path + 0, // 14: apipb.DeletePathRequest.table_type:type_name -> apipb.TableType + 95, // 15: apipb.DeletePathRequest.family:type_name -> apipb.Family + 97, // 16: apipb.DeletePathRequest.path:type_name -> apipb.Path + 0, // 17: apipb.ListPathRequest.table_type:type_name -> apipb.TableType + 95, // 18: apipb.ListPathRequest.family:type_name -> apipb.Family + 99, // 19: apipb.ListPathRequest.prefixes:type_name -> apipb.TableLookupPrefix + 10, // 20: apipb.ListPathRequest.sort_type:type_name -> apipb.ListPathRequest.SortType + 98, // 21: apipb.ListPathResponse.destination:type_name -> apipb.Destination + 0, // 22: apipb.AddPathStreamRequest.table_type:type_name -> apipb.TableType + 97, // 23: apipb.AddPathStreamRequest.paths:type_name -> apipb.Path + 0, // 24: apipb.GetTableRequest.table_type:type_name -> apipb.TableType + 95, // 25: apipb.GetTableRequest.family:type_name -> apipb.Family + 0, // 26: apipb.MonitorTableRequest.table_type:type_name -> apipb.TableType + 95, // 27: apipb.MonitorTableRequest.family:type_name -> apipb.Family + 97, // 28: apipb.MonitorTableResponse.path:type_name -> apipb.Path + 164, // 29: apipb.AddVrfRequest.vrf:type_name -> apipb.Vrf + 164, // 30: apipb.ListVrfResponse.vrf:type_name -> apipb.Vrf + 160, // 31: apipb.AddPolicyRequest.policy:type_name -> apipb.Policy + 160, // 32: apipb.DeletePolicyRequest.policy:type_name -> apipb.Policy + 160, // 33: apipb.ListPolicyResponse.policy:type_name -> apipb.Policy + 149, // 34: apipb.SetPoliciesRequest.defined_sets:type_name -> apipb.DefinedSet + 160, // 35: apipb.SetPoliciesRequest.policies:type_name -> apipb.Policy + 161, // 36: apipb.SetPoliciesRequest.assignments:type_name -> apipb.PolicyAssignment + 149, // 37: apipb.AddDefinedSetRequest.defined_set:type_name -> apipb.DefinedSet + 149, // 38: apipb.DeleteDefinedSetRequest.defined_set:type_name -> apipb.DefinedSet + 2, // 39: apipb.ListDefinedSetRequest.defined_type:type_name -> apipb.DefinedType + 149, // 40: apipb.ListDefinedSetResponse.defined_set:type_name -> apipb.DefinedSet + 159, // 41: apipb.AddStatementRequest.statement:type_name -> apipb.Statement + 159, // 42: apipb.DeleteStatementRequest.statement:type_name -> apipb.Statement + 159, // 43: apipb.ListStatementResponse.statement:type_name -> apipb.Statement + 161, // 44: apipb.AddPolicyAssignmentRequest.assignment:type_name -> apipb.PolicyAssignment + 161, // 45: apipb.DeletePolicyAssignmentRequest.assignment:type_name -> apipb.PolicyAssignment + 8, // 46: apipb.ListPolicyAssignmentRequest.direction:type_name -> apipb.PolicyDirection + 161, // 47: apipb.ListPolicyAssignmentResponse.assignment:type_name -> apipb.PolicyAssignment + 161, // 48: apipb.SetPolicyAssignmentRequest.assignment:type_name -> apipb.PolicyAssignment + 95, // 49: apipb.ListRpkiRequest.family:type_name -> apipb.Family + 170, // 50: apipb.ListRpkiResponse.server:type_name -> apipb.Rpki + 95, // 51: apipb.ListRpkiTableRequest.family:type_name -> apipb.Family + 163, // 52: apipb.ListRpkiTableResponse.roa:type_name -> apipb.Roa + 11, // 53: apipb.AddBmpRequest.policy:type_name -> apipb.AddBmpRequest.MonitoringPolicy + 12, // 54: apipb.Family.afi:type_name -> apipb.Family.Afi + 13, // 55: apipb.Family.safi:type_name -> apipb.Family.Safi + 14, // 56: apipb.Validation.state:type_name -> apipb.Validation.State + 15, // 57: apipb.Validation.reason:type_name -> apipb.Validation.Reason + 163, // 58: apipb.Validation.matched:type_name -> apipb.Roa + 163, // 59: apipb.Validation.unmatched_as:type_name -> apipb.Roa + 163, // 60: apipb.Validation.unmatched_length:type_name -> apipb.Roa + 172, // 61: apipb.Path.nlri:type_name -> google.protobuf.Any + 172, // 62: apipb.Path.pattrs:type_name -> google.protobuf.Any + 173, // 63: apipb.Path.age:type_name -> google.protobuf.Timestamp + 96, // 64: apipb.Path.validation:type_name -> apipb.Validation + 95, // 65: apipb.Path.family:type_name -> apipb.Family + 97, // 66: apipb.Destination.paths:type_name -> apipb.Path + 1, // 67: apipb.TableLookupPrefix.lookup_option:type_name -> apipb.TableLookupOption + 103, // 68: apipb.Peer.apply_policy:type_name -> apipb.ApplyPolicy + 105, // 69: apipb.Peer.conf:type_name -> apipb.PeerConf + 109, // 70: apipb.Peer.ebgp_multihop:type_name -> apipb.EbgpMultihop + 110, // 71: apipb.Peer.route_reflector:type_name -> apipb.RouteReflector + 111, // 72: apipb.Peer.state:type_name -> apipb.PeerState + 115, // 73: apipb.Peer.timers:type_name -> apipb.Timers + 118, // 74: apipb.Peer.transport:type_name -> apipb.Transport + 119, // 75: apipb.Peer.route_server:type_name -> apipb.RouteServer + 120, // 76: apipb.Peer.graceful_restart:type_name -> apipb.GracefulRestart + 144, // 77: apipb.Peer.afi_safis:type_name -> apipb.AfiSafi + 108, // 78: apipb.Peer.ttl_security:type_name -> apipb.TtlSecurity + 103, // 79: apipb.PeerGroup.apply_policy:type_name -> apipb.ApplyPolicy + 106, // 80: apipb.PeerGroup.conf:type_name -> apipb.PeerGroupConf + 109, // 81: apipb.PeerGroup.ebgp_multihop:type_name -> apipb.EbgpMultihop + 110, // 82: apipb.PeerGroup.route_reflector:type_name -> apipb.RouteReflector + 107, // 83: apipb.PeerGroup.info:type_name -> apipb.PeerGroupState + 115, // 84: apipb.PeerGroup.timers:type_name -> apipb.Timers + 118, // 85: apipb.PeerGroup.transport:type_name -> apipb.Transport + 119, // 86: apipb.PeerGroup.route_server:type_name -> apipb.RouteServer + 120, // 87: apipb.PeerGroup.graceful_restart:type_name -> apipb.GracefulRestart + 144, // 88: apipb.PeerGroup.afi_safis:type_name -> apipb.AfiSafi + 108, // 89: apipb.PeerGroup.ttl_security:type_name -> apipb.TtlSecurity + 161, // 90: apipb.ApplyPolicy.in_policy:type_name -> apipb.PolicyAssignment + 161, // 91: apipb.ApplyPolicy.export_policy:type_name -> apipb.PolicyAssignment + 161, // 92: apipb.ApplyPolicy.import_policy:type_name -> apipb.PolicyAssignment + 95, // 93: apipb.PrefixLimit.family:type_name -> apipb.Family + 16, // 94: apipb.PeerConf.remove_private_as:type_name -> apipb.PeerConf.RemovePrivateAs + 17, // 95: apipb.PeerGroupConf.remove_private_as:type_name -> apipb.PeerGroupConf.RemovePrivateAs + 18, // 96: apipb.PeerGroupState.remove_private_as:type_name -> apipb.PeerGroupState.RemovePrivateAs + 112, // 97: apipb.PeerState.messages:type_name -> apipb.Messages + 114, // 98: apipb.PeerState.queues:type_name -> apipb.Queues + 19, // 99: apipb.PeerState.session_state:type_name -> apipb.PeerState.SessionState + 20, // 100: apipb.PeerState.admin_state:type_name -> apipb.PeerState.AdminState + 172, // 101: apipb.PeerState.remote_cap:type_name -> google.protobuf.Any + 172, // 102: apipb.PeerState.local_cap:type_name -> google.protobuf.Any + 113, // 103: apipb.Messages.received:type_name -> apipb.Message + 113, // 104: apipb.Messages.sent:type_name -> apipb.Message + 116, // 105: apipb.Timers.config:type_name -> apipb.TimersConfig + 117, // 106: apipb.Timers.state:type_name -> apipb.TimersState + 173, // 107: apipb.TimersState.uptime:type_name -> google.protobuf.Timestamp + 173, // 108: apipb.TimersState.downtime:type_name -> google.protobuf.Timestamp + 121, // 109: apipb.MpGracefulRestart.config:type_name -> apipb.MpGracefulRestartConfig + 122, // 110: apipb.MpGracefulRestart.state:type_name -> apipb.MpGracefulRestartState + 95, // 111: apipb.AfiSafiConfig.family:type_name -> apipb.Family + 95, // 112: apipb.AfiSafiState.family:type_name -> apipb.Family + 126, // 113: apipb.RouteSelectionOptions.config:type_name -> apipb.RouteSelectionOptionsConfig + 127, // 114: apipb.RouteSelectionOptions.state:type_name -> apipb.RouteSelectionOptionsState + 131, // 115: apipb.Ebgp.config:type_name -> apipb.EbgpConfig + 132, // 116: apipb.Ebgp.state:type_name -> apipb.EbgpState + 134, // 117: apipb.Ibgp.config:type_name -> apipb.IbgpConfig + 135, // 118: apipb.Ibgp.state:type_name -> apipb.IbgpState + 129, // 119: apipb.UseMultiplePaths.config:type_name -> apipb.UseMultiplePathsConfig + 130, // 120: apipb.UseMultiplePaths.state:type_name -> apipb.UseMultiplePathsState + 133, // 121: apipb.UseMultiplePaths.ebgp:type_name -> apipb.Ebgp + 136, // 122: apipb.UseMultiplePaths.ibgp:type_name -> apipb.Ibgp + 138, // 123: apipb.RouteTargetMembership.config:type_name -> apipb.RouteTargetMembershipConfig + 139, // 124: apipb.RouteTargetMembership.state:type_name -> apipb.RouteTargetMembershipState + 141, // 125: apipb.LongLivedGracefulRestart.config:type_name -> apipb.LongLivedGracefulRestartConfig + 142, // 126: apipb.LongLivedGracefulRestart.state:type_name -> apipb.LongLivedGracefulRestartState + 123, // 127: apipb.AfiSafi.mp_graceful_restart:type_name -> apipb.MpGracefulRestart + 124, // 128: apipb.AfiSafi.config:type_name -> apipb.AfiSafiConfig + 125, // 129: apipb.AfiSafi.state:type_name -> apipb.AfiSafiState + 103, // 130: apipb.AfiSafi.apply_policy:type_name -> apipb.ApplyPolicy + 128, // 131: apipb.AfiSafi.route_selection_options:type_name -> apipb.RouteSelectionOptions + 137, // 132: apipb.AfiSafi.use_multiple_paths:type_name -> apipb.UseMultiplePaths + 104, // 133: apipb.AfiSafi.prefix_limits:type_name -> apipb.PrefixLimit + 140, // 134: apipb.AfiSafi.route_target_membership:type_name -> apipb.RouteTargetMembership + 143, // 135: apipb.AfiSafi.long_lived_graceful_restart:type_name -> apipb.LongLivedGracefulRestart + 147, // 136: apipb.AfiSafi.add_paths:type_name -> apipb.AddPaths + 145, // 137: apipb.AddPaths.config:type_name -> apipb.AddPathsConfig + 146, // 138: apipb.AddPaths.state:type_name -> apipb.AddPathsState + 2, // 139: apipb.DefinedSet.defined_type:type_name -> apipb.DefinedType + 148, // 140: apipb.DefinedSet.prefixes:type_name -> apipb.Prefix + 3, // 141: apipb.MatchSet.match_type:type_name -> apipb.MatchType + 4, // 142: apipb.AsPathLength.length_type:type_name -> apipb.AsPathLengthType + 150, // 143: apipb.Conditions.prefix_set:type_name -> apipb.MatchSet + 150, // 144: apipb.Conditions.neighbor_set:type_name -> apipb.MatchSet + 151, // 145: apipb.Conditions.as_path_length:type_name -> apipb.AsPathLength + 150, // 146: apipb.Conditions.as_path_set:type_name -> apipb.MatchSet + 150, // 147: apipb.Conditions.community_set:type_name -> apipb.MatchSet + 150, // 148: apipb.Conditions.ext_community_set:type_name -> apipb.MatchSet + 21, // 149: apipb.Conditions.route_type:type_name -> apipb.Conditions.RouteType + 150, // 150: apipb.Conditions.large_community_set:type_name -> apipb.MatchSet + 95, // 151: apipb.Conditions.afi_safi_in:type_name -> apipb.Family + 6, // 152: apipb.CommunityAction.action_type:type_name -> apipb.CommunityActionType + 7, // 153: apipb.MedAction.action_type:type_name -> apipb.MedActionType + 5, // 154: apipb.Actions.route_action:type_name -> apipb.RouteAction + 153, // 155: apipb.Actions.community:type_name -> apipb.CommunityAction + 154, // 156: apipb.Actions.med:type_name -> apipb.MedAction + 155, // 157: apipb.Actions.as_prepend:type_name -> apipb.AsPrependAction + 153, // 158: apipb.Actions.ext_community:type_name -> apipb.CommunityAction + 156, // 159: apipb.Actions.nexthop:type_name -> apipb.NexthopAction + 157, // 160: apipb.Actions.local_pref:type_name -> apipb.LocalPrefAction + 153, // 161: apipb.Actions.large_community:type_name -> apipb.CommunityAction + 152, // 162: apipb.Statement.conditions:type_name -> apipb.Conditions + 158, // 163: apipb.Statement.actions:type_name -> apipb.Actions + 159, // 164: apipb.Policy.statements:type_name -> apipb.Statement + 8, // 165: apipb.PolicyAssignment.direction:type_name -> apipb.PolicyDirection + 160, // 166: apipb.PolicyAssignment.policies:type_name -> apipb.Policy + 5, // 167: apipb.PolicyAssignment.default_action:type_name -> apipb.RouteAction + 149, // 168: apipb.RoutingPolicy.defined_sets:type_name -> apipb.DefinedSet + 160, // 169: apipb.RoutingPolicy.policies:type_name -> apipb.Policy + 168, // 170: apipb.Roa.conf:type_name -> apipb.RPKIConf + 172, // 171: apipb.Vrf.rd:type_name -> google.protobuf.Any + 172, // 172: apipb.Vrf.import_rt:type_name -> google.protobuf.Any + 172, // 173: apipb.Vrf.export_rt:type_name -> google.protobuf.Any + 126, // 174: apipb.Global.route_selection_options:type_name -> apipb.RouteSelectionOptionsConfig + 165, // 175: apipb.Global.default_route_distance:type_name -> apipb.DefaultRouteDistance + 167, // 176: apipb.Global.confederation:type_name -> apipb.Confederation + 120, // 177: apipb.Global.graceful_restart:type_name -> apipb.GracefulRestart + 103, // 178: apipb.Global.apply_policy:type_name -> apipb.ApplyPolicy + 173, // 179: apipb.RPKIState.uptime:type_name -> google.protobuf.Timestamp + 173, // 180: apipb.RPKIState.downtime:type_name -> google.protobuf.Timestamp + 168, // 181: apipb.Rpki.conf:type_name -> apipb.RPKIConf + 169, // 182: apipb.Rpki.state:type_name -> apipb.RPKIState + 22, // 183: apipb.SetLogLevelRequest.level:type_name -> apipb.SetLogLevelRequest.Level + 23, // 184: apipb.GobgpApi.StartBgp:input_type -> apipb.StartBgpRequest + 24, // 185: apipb.GobgpApi.StopBgp:input_type -> apipb.StopBgpRequest + 25, // 186: apipb.GobgpApi.GetBgp:input_type -> apipb.GetBgpRequest + 27, // 187: apipb.GobgpApi.AddPeer:input_type -> apipb.AddPeerRequest + 28, // 188: apipb.GobgpApi.DeletePeer:input_type -> apipb.DeletePeerRequest + 29, // 189: apipb.GobgpApi.ListPeer:input_type -> apipb.ListPeerRequest + 31, // 190: apipb.GobgpApi.UpdatePeer:input_type -> apipb.UpdatePeerRequest + 33, // 191: apipb.GobgpApi.ResetPeer:input_type -> apipb.ResetPeerRequest + 34, // 192: apipb.GobgpApi.ShutdownPeer:input_type -> apipb.ShutdownPeerRequest + 35, // 193: apipb.GobgpApi.EnablePeer:input_type -> apipb.EnablePeerRequest + 36, // 194: apipb.GobgpApi.DisablePeer:input_type -> apipb.DisablePeerRequest + 37, // 195: apipb.GobgpApi.MonitorPeer:input_type -> apipb.MonitorPeerRequest + 39, // 196: apipb.GobgpApi.AddPeerGroup:input_type -> apipb.AddPeerGroupRequest + 40, // 197: apipb.GobgpApi.DeletePeerGroup:input_type -> apipb.DeletePeerGroupRequest + 43, // 198: apipb.GobgpApi.ListPeerGroup:input_type -> apipb.ListPeerGroupRequest + 41, // 199: apipb.GobgpApi.UpdatePeerGroup:input_type -> apipb.UpdatePeerGroupRequest + 45, // 200: apipb.GobgpApi.AddDynamicNeighbor:input_type -> apipb.AddDynamicNeighborRequest + 47, // 201: apipb.GobgpApi.ListDynamicNeighbor:input_type -> apipb.ListDynamicNeighborRequest + 46, // 202: apipb.GobgpApi.DeleteDynamicNeighbor:input_type -> apipb.DeleteDynamicNeighborRequest + 49, // 203: apipb.GobgpApi.AddPath:input_type -> apipb.AddPathRequest + 51, // 204: apipb.GobgpApi.DeletePath:input_type -> apipb.DeletePathRequest + 52, // 205: apipb.GobgpApi.ListPath:input_type -> apipb.ListPathRequest + 54, // 206: apipb.GobgpApi.AddPathStream:input_type -> apipb.AddPathStreamRequest + 55, // 207: apipb.GobgpApi.GetTable:input_type -> apipb.GetTableRequest + 57, // 208: apipb.GobgpApi.MonitorTable:input_type -> apipb.MonitorTableRequest + 59, // 209: apipb.GobgpApi.AddVrf:input_type -> apipb.AddVrfRequest + 60, // 210: apipb.GobgpApi.DeleteVrf:input_type -> apipb.DeleteVrfRequest + 61, // 211: apipb.GobgpApi.ListVrf:input_type -> apipb.ListVrfRequest + 63, // 212: apipb.GobgpApi.AddPolicy:input_type -> apipb.AddPolicyRequest + 64, // 213: apipb.GobgpApi.DeletePolicy:input_type -> apipb.DeletePolicyRequest + 65, // 214: apipb.GobgpApi.ListPolicy:input_type -> apipb.ListPolicyRequest + 67, // 215: apipb.GobgpApi.SetPolicies:input_type -> apipb.SetPoliciesRequest + 68, // 216: apipb.GobgpApi.AddDefinedSet:input_type -> apipb.AddDefinedSetRequest + 69, // 217: apipb.GobgpApi.DeleteDefinedSet:input_type -> apipb.DeleteDefinedSetRequest + 70, // 218: apipb.GobgpApi.ListDefinedSet:input_type -> apipb.ListDefinedSetRequest + 72, // 219: apipb.GobgpApi.AddStatement:input_type -> apipb.AddStatementRequest + 73, // 220: apipb.GobgpApi.DeleteStatement:input_type -> apipb.DeleteStatementRequest + 74, // 221: apipb.GobgpApi.ListStatement:input_type -> apipb.ListStatementRequest + 76, // 222: apipb.GobgpApi.AddPolicyAssignment:input_type -> apipb.AddPolicyAssignmentRequest + 77, // 223: apipb.GobgpApi.DeletePolicyAssignment:input_type -> apipb.DeletePolicyAssignmentRequest + 78, // 224: apipb.GobgpApi.ListPolicyAssignment:input_type -> apipb.ListPolicyAssignmentRequest + 80, // 225: apipb.GobgpApi.SetPolicyAssignment:input_type -> apipb.SetPolicyAssignmentRequest + 81, // 226: apipb.GobgpApi.AddRpki:input_type -> apipb.AddRpkiRequest + 82, // 227: apipb.GobgpApi.DeleteRpki:input_type -> apipb.DeleteRpkiRequest + 83, // 228: apipb.GobgpApi.ListRpki:input_type -> apipb.ListRpkiRequest + 85, // 229: apipb.GobgpApi.EnableRpki:input_type -> apipb.EnableRpkiRequest + 86, // 230: apipb.GobgpApi.DisableRpki:input_type -> apipb.DisableRpkiRequest + 87, // 231: apipb.GobgpApi.ResetRpki:input_type -> apipb.ResetRpkiRequest + 88, // 232: apipb.GobgpApi.ListRpkiTable:input_type -> apipb.ListRpkiTableRequest + 90, // 233: apipb.GobgpApi.EnableZebra:input_type -> apipb.EnableZebraRequest + 91, // 234: apipb.GobgpApi.EnableMrt:input_type -> apipb.EnableMrtRequest + 92, // 235: apipb.GobgpApi.DisableMrt:input_type -> apipb.DisableMrtRequest + 93, // 236: apipb.GobgpApi.AddBmp:input_type -> apipb.AddBmpRequest + 94, // 237: apipb.GobgpApi.DeleteBmp:input_type -> apipb.DeleteBmpRequest + 171, // 238: apipb.GobgpApi.SetLogLevel:input_type -> apipb.SetLogLevelRequest + 174, // 239: apipb.GobgpApi.StartBgp:output_type -> google.protobuf.Empty + 174, // 240: apipb.GobgpApi.StopBgp:output_type -> google.protobuf.Empty + 26, // 241: apipb.GobgpApi.GetBgp:output_type -> apipb.GetBgpResponse + 174, // 242: apipb.GobgpApi.AddPeer:output_type -> google.protobuf.Empty + 174, // 243: apipb.GobgpApi.DeletePeer:output_type -> google.protobuf.Empty + 30, // 244: apipb.GobgpApi.ListPeer:output_type -> apipb.ListPeerResponse + 32, // 245: apipb.GobgpApi.UpdatePeer:output_type -> apipb.UpdatePeerResponse + 174, // 246: apipb.GobgpApi.ResetPeer:output_type -> google.protobuf.Empty + 174, // 247: apipb.GobgpApi.ShutdownPeer:output_type -> google.protobuf.Empty + 174, // 248: apipb.GobgpApi.EnablePeer:output_type -> google.protobuf.Empty + 174, // 249: apipb.GobgpApi.DisablePeer:output_type -> google.protobuf.Empty + 38, // 250: apipb.GobgpApi.MonitorPeer:output_type -> apipb.MonitorPeerResponse + 174, // 251: apipb.GobgpApi.AddPeerGroup:output_type -> google.protobuf.Empty + 174, // 252: apipb.GobgpApi.DeletePeerGroup:output_type -> google.protobuf.Empty + 44, // 253: apipb.GobgpApi.ListPeerGroup:output_type -> apipb.ListPeerGroupResponse + 42, // 254: apipb.GobgpApi.UpdatePeerGroup:output_type -> apipb.UpdatePeerGroupResponse + 174, // 255: apipb.GobgpApi.AddDynamicNeighbor:output_type -> google.protobuf.Empty + 48, // 256: apipb.GobgpApi.ListDynamicNeighbor:output_type -> apipb.ListDynamicNeighborResponse + 174, // 257: apipb.GobgpApi.DeleteDynamicNeighbor:output_type -> google.protobuf.Empty + 50, // 258: apipb.GobgpApi.AddPath:output_type -> apipb.AddPathResponse + 174, // 259: apipb.GobgpApi.DeletePath:output_type -> google.protobuf.Empty + 53, // 260: apipb.GobgpApi.ListPath:output_type -> apipb.ListPathResponse + 174, // 261: apipb.GobgpApi.AddPathStream:output_type -> google.protobuf.Empty + 56, // 262: apipb.GobgpApi.GetTable:output_type -> apipb.GetTableResponse + 58, // 263: apipb.GobgpApi.MonitorTable:output_type -> apipb.MonitorTableResponse + 174, // 264: apipb.GobgpApi.AddVrf:output_type -> google.protobuf.Empty + 174, // 265: apipb.GobgpApi.DeleteVrf:output_type -> google.protobuf.Empty + 62, // 266: apipb.GobgpApi.ListVrf:output_type -> apipb.ListVrfResponse + 174, // 267: apipb.GobgpApi.AddPolicy:output_type -> google.protobuf.Empty + 174, // 268: apipb.GobgpApi.DeletePolicy:output_type -> google.protobuf.Empty + 66, // 269: apipb.GobgpApi.ListPolicy:output_type -> apipb.ListPolicyResponse + 174, // 270: apipb.GobgpApi.SetPolicies:output_type -> google.protobuf.Empty + 174, // 271: apipb.GobgpApi.AddDefinedSet:output_type -> google.protobuf.Empty + 174, // 272: apipb.GobgpApi.DeleteDefinedSet:output_type -> google.protobuf.Empty + 71, // 273: apipb.GobgpApi.ListDefinedSet:output_type -> apipb.ListDefinedSetResponse + 174, // 274: apipb.GobgpApi.AddStatement:output_type -> google.protobuf.Empty + 174, // 275: apipb.GobgpApi.DeleteStatement:output_type -> google.protobuf.Empty + 75, // 276: apipb.GobgpApi.ListStatement:output_type -> apipb.ListStatementResponse + 174, // 277: apipb.GobgpApi.AddPolicyAssignment:output_type -> google.protobuf.Empty + 174, // 278: apipb.GobgpApi.DeletePolicyAssignment:output_type -> google.protobuf.Empty + 79, // 279: apipb.GobgpApi.ListPolicyAssignment:output_type -> apipb.ListPolicyAssignmentResponse + 174, // 280: apipb.GobgpApi.SetPolicyAssignment:output_type -> google.protobuf.Empty + 174, // 281: apipb.GobgpApi.AddRpki:output_type -> google.protobuf.Empty + 174, // 282: apipb.GobgpApi.DeleteRpki:output_type -> google.protobuf.Empty + 84, // 283: apipb.GobgpApi.ListRpki:output_type -> apipb.ListRpkiResponse + 174, // 284: apipb.GobgpApi.EnableRpki:output_type -> google.protobuf.Empty + 174, // 285: apipb.GobgpApi.DisableRpki:output_type -> google.protobuf.Empty + 174, // 286: apipb.GobgpApi.ResetRpki:output_type -> google.protobuf.Empty + 89, // 287: apipb.GobgpApi.ListRpkiTable:output_type -> apipb.ListRpkiTableResponse + 174, // 288: apipb.GobgpApi.EnableZebra:output_type -> google.protobuf.Empty + 174, // 289: apipb.GobgpApi.EnableMrt:output_type -> google.protobuf.Empty + 174, // 290: apipb.GobgpApi.DisableMrt:output_type -> google.protobuf.Empty + 174, // 291: apipb.GobgpApi.AddBmp:output_type -> google.protobuf.Empty + 174, // 292: apipb.GobgpApi.DeleteBmp:output_type -> google.protobuf.Empty + 174, // 293: apipb.GobgpApi.SetLogLevel:output_type -> google.protobuf.Empty + 239, // [239:294] is the sub-list for method output_type + 184, // [184:239] is the sub-list for method input_type + 184, // [184:184] is the sub-list for extension type_name + 184, // [184:184] is the sub-list for extension extendee + 0, // [0:184] is the sub-list for field type_name +} + +func init() { file_gobgp_proto_init() } +func file_gobgp_proto_init() { + if File_gobgp_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_gobgp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartBgpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StopBgpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBgpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBgpResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPeerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePeerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResetPeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShutdownPeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnablePeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisablePeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MonitorPeerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MonitorPeerResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPeerGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePeerGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePeerGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePeerGroupResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPeerGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPeerGroupResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddDynamicNeighborRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDynamicNeighborRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDynamicNeighborRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDynamicNeighborResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPathResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTableRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTableResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MonitorTableRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MonitorTableResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddVrfRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteVrfRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVrfRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVrfResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPolicyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetPoliciesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddDefinedSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDefinedSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDefinedSetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDefinedSetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddStatementRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteStatementRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStatementRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStatementResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPolicyAssignmentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePolicyAssignmentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPolicyAssignmentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPolicyAssignmentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetPolicyAssignmentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddRpkiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteRpkiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRpkiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRpkiResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnableRpkiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableRpkiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResetRpkiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRpkiTableRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRpkiTableResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnableZebraRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnableMrtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableMrtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddBmpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBmpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Family); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Validation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Path); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Destination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TableLookupPrefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Peer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DynamicNeighbor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixLimit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerConf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerGroupConf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerGroupState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TtlSecurity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EbgpMultihop); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteReflector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Messages); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Message); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Queues); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimersConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimersState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Transport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteServer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GracefulRestart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MpGracefulRestartConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MpGracefulRestartState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MpGracefulRestart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AfiSafiConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AfiSafiState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteSelectionOptionsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteSelectionOptionsState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteSelectionOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UseMultiplePathsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UseMultiplePathsState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EbgpConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EbgpState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ebgp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IbgpConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IbgpState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ibgp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UseMultiplePaths); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTargetMembershipConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTargetMembershipState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RouteTargetMembership); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LongLivedGracefulRestartConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LongLivedGracefulRestartState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LongLivedGracefulRestart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AfiSafi); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPathsState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddPaths); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Prefix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DefinedSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AsPathLength); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Conditions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommunityAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MedAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AsPrependAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NexthopAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LocalPrefAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Actions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Statement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Policy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PolicyAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoutingPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Roa); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Vrf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DefaultRouteDistance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Global); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Confederation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPKIConf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RPKIState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Rpki); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_gobgp_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetLogLevelRequest); 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_gobgp_proto_rawDesc, + NumEnums: 23, + NumMessages: 149, + NumExtensions: 0, + NumServices: 1, }, - { - MethodName: "StopBgp", - Handler: _GobgpApi_StopBgp_Handler, - }, - { - MethodName: "GetBgp", - Handler: _GobgpApi_GetBgp_Handler, - }, - { - MethodName: "AddPeer", - Handler: _GobgpApi_AddPeer_Handler, - }, - { - MethodName: "DeletePeer", - Handler: _GobgpApi_DeletePeer_Handler, - }, - { - MethodName: "UpdatePeer", - Handler: _GobgpApi_UpdatePeer_Handler, - }, - { - MethodName: "ResetPeer", - Handler: _GobgpApi_ResetPeer_Handler, - }, - { - MethodName: "ShutdownPeer", - Handler: _GobgpApi_ShutdownPeer_Handler, - }, - { - MethodName: "EnablePeer", - Handler: _GobgpApi_EnablePeer_Handler, - }, - { - MethodName: "DisablePeer", - Handler: _GobgpApi_DisablePeer_Handler, - }, - { - MethodName: "AddPeerGroup", - Handler: _GobgpApi_AddPeerGroup_Handler, - }, - { - MethodName: "DeletePeerGroup", - Handler: _GobgpApi_DeletePeerGroup_Handler, - }, - { - MethodName: "UpdatePeerGroup", - Handler: _GobgpApi_UpdatePeerGroup_Handler, - }, - { - MethodName: "AddDynamicNeighbor", - Handler: _GobgpApi_AddDynamicNeighbor_Handler, - }, - { - MethodName: "DeleteDynamicNeighbor", - Handler: _GobgpApi_DeleteDynamicNeighbor_Handler, - }, - { - MethodName: "AddPath", - Handler: _GobgpApi_AddPath_Handler, - }, - { - MethodName: "DeletePath", - Handler: _GobgpApi_DeletePath_Handler, - }, - { - MethodName: "GetTable", - Handler: _GobgpApi_GetTable_Handler, - }, - { - MethodName: "AddVrf", - Handler: _GobgpApi_AddVrf_Handler, - }, - { - MethodName: "DeleteVrf", - Handler: _GobgpApi_DeleteVrf_Handler, - }, - { - MethodName: "AddPolicy", - Handler: _GobgpApi_AddPolicy_Handler, - }, - { - MethodName: "DeletePolicy", - Handler: _GobgpApi_DeletePolicy_Handler, - }, - { - MethodName: "SetPolicies", - Handler: _GobgpApi_SetPolicies_Handler, - }, - { - MethodName: "AddDefinedSet", - Handler: _GobgpApi_AddDefinedSet_Handler, - }, - { - MethodName: "DeleteDefinedSet", - Handler: _GobgpApi_DeleteDefinedSet_Handler, - }, - { - MethodName: "AddStatement", - Handler: _GobgpApi_AddStatement_Handler, - }, - { - MethodName: "DeleteStatement", - Handler: _GobgpApi_DeleteStatement_Handler, - }, - { - MethodName: "AddPolicyAssignment", - Handler: _GobgpApi_AddPolicyAssignment_Handler, - }, - { - MethodName: "DeletePolicyAssignment", - Handler: _GobgpApi_DeletePolicyAssignment_Handler, - }, - { - MethodName: "SetPolicyAssignment", - Handler: _GobgpApi_SetPolicyAssignment_Handler, - }, - { - MethodName: "AddRpki", - Handler: _GobgpApi_AddRpki_Handler, - }, - { - MethodName: "DeleteRpki", - Handler: _GobgpApi_DeleteRpki_Handler, - }, - { - MethodName: "EnableRpki", - Handler: _GobgpApi_EnableRpki_Handler, - }, - { - MethodName: "DisableRpki", - Handler: _GobgpApi_DisableRpki_Handler, - }, - { - MethodName: "ResetRpki", - Handler: _GobgpApi_ResetRpki_Handler, - }, - { - MethodName: "EnableZebra", - Handler: _GobgpApi_EnableZebra_Handler, - }, - { - MethodName: "EnableMrt", - Handler: _GobgpApi_EnableMrt_Handler, - }, - { - MethodName: "DisableMrt", - Handler: _GobgpApi_DisableMrt_Handler, - }, - { - MethodName: "AddBmp", - Handler: _GobgpApi_AddBmp_Handler, - }, - { - MethodName: "DeleteBmp", - Handler: _GobgpApi_DeleteBmp_Handler, - }, - { - MethodName: "SetLogLevel", - Handler: _GobgpApi_SetLogLevel_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "ListPeer", - Handler: _GobgpApi_ListPeer_Handler, - ServerStreams: true, - }, - { - StreamName: "MonitorPeer", - Handler: _GobgpApi_MonitorPeer_Handler, - ServerStreams: true, - }, - { - StreamName: "ListPeerGroup", - Handler: _GobgpApi_ListPeerGroup_Handler, - ServerStreams: true, - }, - { - StreamName: "ListDynamicNeighbor", - Handler: _GobgpApi_ListDynamicNeighbor_Handler, - ServerStreams: true, - }, - { - StreamName: "ListPath", - Handler: _GobgpApi_ListPath_Handler, - ServerStreams: true, - }, - { - StreamName: "AddPathStream", - Handler: _GobgpApi_AddPathStream_Handler, - ClientStreams: true, - }, - { - StreamName: "MonitorTable", - Handler: _GobgpApi_MonitorTable_Handler, - ServerStreams: true, - }, - { - StreamName: "ListVrf", - Handler: _GobgpApi_ListVrf_Handler, - ServerStreams: true, - }, - { - StreamName: "ListPolicy", - Handler: _GobgpApi_ListPolicy_Handler, - ServerStreams: true, - }, - { - StreamName: "ListDefinedSet", - Handler: _GobgpApi_ListDefinedSet_Handler, - ServerStreams: true, - }, - { - StreamName: "ListStatement", - Handler: _GobgpApi_ListStatement_Handler, - ServerStreams: true, - }, - { - StreamName: "ListPolicyAssignment", - Handler: _GobgpApi_ListPolicyAssignment_Handler, - ServerStreams: true, - }, - { - StreamName: "ListRpki", - Handler: _GobgpApi_ListRpki_Handler, - ServerStreams: true, - }, - { - StreamName: "ListRpkiTable", - Handler: _GobgpApi_ListRpkiTable_Handler, - ServerStreams: true, - }, - }, - Metadata: "gobgp.proto", + GoTypes: file_gobgp_proto_goTypes, + DependencyIndexes: file_gobgp_proto_depIdxs, + EnumInfos: file_gobgp_proto_enumTypes, + MessageInfos: file_gobgp_proto_msgTypes, + }.Build() + File_gobgp_proto = out.File + file_gobgp_proto_rawDesc = nil + file_gobgp_proto_goTypes = nil + file_gobgp_proto_depIdxs = nil } diff --git a/api/gobgp.proto b/api/gobgp.proto index 621a0351..57c6108e 100644 --- a/api/gobgp.proto +++ b/api/gobgp.proto @@ -21,11 +21,13 @@ syntax = "proto3"; +package apipb; +option go_package = "github.com/osrg/gobgp/v3/api;apipb"; + import "google/protobuf/any.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; -package gobgpapi; // Interface exported by the server. diff --git a/api/gobgp_grpc.pb.go b/api/gobgp_grpc.pb.go new file mode 100644 index 00000000..327c5c27 --- /dev/null +++ b/api/gobgp_grpc.pb.go @@ -0,0 +1,2432 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package apipb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// 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 + +// GobgpApiClient is the client API for GobgpApi 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. +type GobgpApiClient interface { + StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) + AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) + UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) + ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + MonitorPeer(ctx context.Context, in *MonitorPeerRequest, opts ...grpc.CallOption) (GobgpApi_MonitorPeerClient, error) + AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListPeerGroup(ctx context.Context, in *ListPeerGroupRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerGroupClient, error) + UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) + AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListDynamicNeighbor(ctx context.Context, in *ListDynamicNeighborRequest, opts ...grpc.CallOption) (GobgpApi_ListDynamicNeighborClient, error) + DeleteDynamicNeighbor(ctx context.Context, in *DeleteDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) + DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) + AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) + GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) + MonitorTable(ctx context.Context, in *MonitorTableRequest, opts ...grpc.CallOption) (GobgpApi_MonitorTableClient, error) + AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) + AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) + SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) + AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) + AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) + SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) + EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) + EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type gobgpApiClient struct { + cc grpc.ClientConnInterface +} + +func NewGobgpApiClient(cc grpc.ClientConnInterface) GobgpApiClient { + return &gobgpApiClient{cc} +} + +func (c *gobgpApiClient) StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/StartBgp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/StopBgp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) { + out := new(GetBgpResponse) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/GetBgp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[0], "/apipb.GobgpApi/ListPeer", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListPeerClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListPeerClient interface { + Recv() (*ListPeerResponse, error) + grpc.ClientStream +} + +type gobgpApiListPeerClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListPeerClient) Recv() (*ListPeerResponse, error) { + m := new(ListPeerResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) { + out := new(UpdatePeerResponse) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/UpdatePeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/ResetPeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/ShutdownPeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnablePeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DisablePeer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) MonitorPeer(ctx context.Context, in *MonitorPeerRequest, opts ...grpc.CallOption) (GobgpApi_MonitorPeerClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[1], "/apipb.GobgpApi/MonitorPeer", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiMonitorPeerClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_MonitorPeerClient interface { + Recv() (*MonitorPeerResponse, error) + grpc.ClientStream +} + +type gobgpApiMonitorPeerClient struct { + grpc.ClientStream +} + +func (x *gobgpApiMonitorPeerClient) Recv() (*MonitorPeerResponse, error) { + m := new(MonitorPeerResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPeerGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePeerGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListPeerGroup(ctx context.Context, in *ListPeerGroupRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerGroupClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[2], "/apipb.GobgpApi/ListPeerGroup", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListPeerGroupClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListPeerGroupClient interface { + Recv() (*ListPeerGroupResponse, error) + grpc.ClientStream +} + +type gobgpApiListPeerGroupClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListPeerGroupClient) Recv() (*ListPeerGroupResponse, error) { + m := new(ListPeerGroupResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) { + out := new(UpdatePeerGroupResponse) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/UpdatePeerGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddDynamicNeighbor", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListDynamicNeighbor(ctx context.Context, in *ListDynamicNeighborRequest, opts ...grpc.CallOption) (GobgpApi_ListDynamicNeighborClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[3], "/apipb.GobgpApi/ListDynamicNeighbor", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListDynamicNeighborClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListDynamicNeighborClient interface { + Recv() (*ListDynamicNeighborResponse, error) + grpc.ClientStream +} + +type gobgpApiListDynamicNeighborClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListDynamicNeighborClient) Recv() (*ListDynamicNeighborResponse, error) { + m := new(ListDynamicNeighborResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) DeleteDynamicNeighbor(ctx context.Context, in *DeleteDynamicNeighborRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteDynamicNeighbor", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) { + out := new(AddPathResponse) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPath", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePath", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[4], "/apipb.GobgpApi/ListPath", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListPathClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListPathClient interface { + Recv() (*ListPathResponse, error) + grpc.ClientStream +} + +type gobgpApiListPathClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListPathClient) Recv() (*ListPathResponse, error) { + m := new(ListPathResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[5], "/apipb.GobgpApi/AddPathStream", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiAddPathStreamClient{stream} + return x, nil +} + +type GobgpApi_AddPathStreamClient interface { + Send(*AddPathStreamRequest) error + CloseAndRecv() (*emptypb.Empty, error) + grpc.ClientStream +} + +type gobgpApiAddPathStreamClient struct { + grpc.ClientStream +} + +func (x *gobgpApiAddPathStreamClient) Send(m *AddPathStreamRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *gobgpApiAddPathStreamClient) CloseAndRecv() (*emptypb.Empty, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(emptypb.Empty) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) { + out := new(GetTableResponse) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/GetTable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) MonitorTable(ctx context.Context, in *MonitorTableRequest, opts ...grpc.CallOption) (GobgpApi_MonitorTableClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[6], "/apipb.GobgpApi/MonitorTable", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiMonitorTableClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_MonitorTableClient interface { + Recv() (*MonitorTableResponse, error) + grpc.ClientStream +} + +type gobgpApiMonitorTableClient struct { + grpc.ClientStream +} + +func (x *gobgpApiMonitorTableClient) Recv() (*MonitorTableResponse, error) { + m := new(MonitorTableResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddVrf", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteVrf", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[7], "/apipb.GobgpApi/ListVrf", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListVrfClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListVrfClient interface { + Recv() (*ListVrfResponse, error) + grpc.ClientStream +} + +type gobgpApiListVrfClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListVrfClient) Recv() (*ListVrfResponse, error) { + m := new(ListVrfResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[8], "/apipb.GobgpApi/ListPolicy", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListPolicyClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListPolicyClient interface { + Recv() (*ListPolicyResponse, error) + grpc.ClientStream +} + +type gobgpApiListPolicyClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListPolicyClient) Recv() (*ListPolicyResponse, error) { + m := new(ListPolicyResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/SetPolicies", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddDefinedSet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteDefinedSet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[9], "/apipb.GobgpApi/ListDefinedSet", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListDefinedSetClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListDefinedSetClient interface { + Recv() (*ListDefinedSetResponse, error) + grpc.ClientStream +} + +type gobgpApiListDefinedSetClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListDefinedSetClient) Recv() (*ListDefinedSetResponse, error) { + m := new(ListDefinedSetResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddStatement", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteStatement", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[10], "/apipb.GobgpApi/ListStatement", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListStatementClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListStatementClient interface { + Recv() (*ListStatementResponse, error) + grpc.ClientStream +} + +type gobgpApiListStatementClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListStatementClient) Recv() (*ListStatementResponse, error) { + m := new(ListStatementResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddPolicyAssignment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeletePolicyAssignment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[11], "/apipb.GobgpApi/ListPolicyAssignment", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListPolicyAssignmentClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListPolicyAssignmentClient interface { + Recv() (*ListPolicyAssignmentResponse, error) + grpc.ClientStream +} + +type gobgpApiListPolicyAssignmentClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListPolicyAssignmentClient) Recv() (*ListPolicyAssignmentResponse, error) { + m := new(ListPolicyAssignmentResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/SetPolicyAssignment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddRpki", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteRpki", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[12], "/apipb.GobgpApi/ListRpki", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListRpkiClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListRpkiClient interface { + Recv() (*ListRpkiResponse, error) + grpc.ClientStream +} + +type gobgpApiListRpkiClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListRpkiClient) Recv() (*ListRpkiResponse, error) { + m := new(ListRpkiResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnableRpki", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DisableRpki", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/ResetRpki", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) { + stream, err := c.cc.NewStream(ctx, &GobgpApi_ServiceDesc.Streams[13], "/apipb.GobgpApi/ListRpkiTable", opts...) + if err != nil { + return nil, err + } + x := &gobgpApiListRpkiTableClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GobgpApi_ListRpkiTableClient interface { + Recv() (*ListRpkiTableResponse, error) + grpc.ClientStream +} + +type gobgpApiListRpkiTableClient struct { + grpc.ClientStream +} + +func (x *gobgpApiListRpkiTableClient) Recv() (*ListRpkiTableResponse, error) { + m := new(ListRpkiTableResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gobgpApiClient) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnableZebra", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/EnableMrt", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DisableMrt", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/AddBmp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/DeleteBmp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/apipb.GobgpApi/SetLogLevel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// GobgpApiServer is the server API for GobgpApi service. +// All implementations must embed UnimplementedGobgpApiServer +// for forward compatibility +type GobgpApiServer interface { + StartBgp(context.Context, *StartBgpRequest) (*emptypb.Empty, error) + StopBgp(context.Context, *StopBgpRequest) (*emptypb.Empty, error) + GetBgp(context.Context, *GetBgpRequest) (*GetBgpResponse, error) + AddPeer(context.Context, *AddPeerRequest) (*emptypb.Empty, error) + DeletePeer(context.Context, *DeletePeerRequest) (*emptypb.Empty, error) + ListPeer(*ListPeerRequest, GobgpApi_ListPeerServer) error + UpdatePeer(context.Context, *UpdatePeerRequest) (*UpdatePeerResponse, error) + ResetPeer(context.Context, *ResetPeerRequest) (*emptypb.Empty, error) + ShutdownPeer(context.Context, *ShutdownPeerRequest) (*emptypb.Empty, error) + EnablePeer(context.Context, *EnablePeerRequest) (*emptypb.Empty, error) + DisablePeer(context.Context, *DisablePeerRequest) (*emptypb.Empty, error) + MonitorPeer(*MonitorPeerRequest, GobgpApi_MonitorPeerServer) error + AddPeerGroup(context.Context, *AddPeerGroupRequest) (*emptypb.Empty, error) + DeletePeerGroup(context.Context, *DeletePeerGroupRequest) (*emptypb.Empty, error) + ListPeerGroup(*ListPeerGroupRequest, GobgpApi_ListPeerGroupServer) error + UpdatePeerGroup(context.Context, *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error) + AddDynamicNeighbor(context.Context, *AddDynamicNeighborRequest) (*emptypb.Empty, error) + ListDynamicNeighbor(*ListDynamicNeighborRequest, GobgpApi_ListDynamicNeighborServer) error + DeleteDynamicNeighbor(context.Context, *DeleteDynamicNeighborRequest) (*emptypb.Empty, error) + AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) + DeletePath(context.Context, *DeletePathRequest) (*emptypb.Empty, error) + ListPath(*ListPathRequest, GobgpApi_ListPathServer) error + AddPathStream(GobgpApi_AddPathStreamServer) error + GetTable(context.Context, *GetTableRequest) (*GetTableResponse, error) + MonitorTable(*MonitorTableRequest, GobgpApi_MonitorTableServer) error + AddVrf(context.Context, *AddVrfRequest) (*emptypb.Empty, error) + DeleteVrf(context.Context, *DeleteVrfRequest) (*emptypb.Empty, error) + ListVrf(*ListVrfRequest, GobgpApi_ListVrfServer) error + AddPolicy(context.Context, *AddPolicyRequest) (*emptypb.Empty, error) + DeletePolicy(context.Context, *DeletePolicyRequest) (*emptypb.Empty, error) + ListPolicy(*ListPolicyRequest, GobgpApi_ListPolicyServer) error + SetPolicies(context.Context, *SetPoliciesRequest) (*emptypb.Empty, error) + AddDefinedSet(context.Context, *AddDefinedSetRequest) (*emptypb.Empty, error) + DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*emptypb.Empty, error) + ListDefinedSet(*ListDefinedSetRequest, GobgpApi_ListDefinedSetServer) error + AddStatement(context.Context, *AddStatementRequest) (*emptypb.Empty, error) + DeleteStatement(context.Context, *DeleteStatementRequest) (*emptypb.Empty, error) + ListStatement(*ListStatementRequest, GobgpApi_ListStatementServer) error + AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*emptypb.Empty, error) + DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*emptypb.Empty, error) + ListPolicyAssignment(*ListPolicyAssignmentRequest, GobgpApi_ListPolicyAssignmentServer) error + SetPolicyAssignment(context.Context, *SetPolicyAssignmentRequest) (*emptypb.Empty, error) + AddRpki(context.Context, *AddRpkiRequest) (*emptypb.Empty, error) + DeleteRpki(context.Context, *DeleteRpkiRequest) (*emptypb.Empty, error) + ListRpki(*ListRpkiRequest, GobgpApi_ListRpkiServer) error + EnableRpki(context.Context, *EnableRpkiRequest) (*emptypb.Empty, error) + DisableRpki(context.Context, *DisableRpkiRequest) (*emptypb.Empty, error) + ResetRpki(context.Context, *ResetRpkiRequest) (*emptypb.Empty, error) + ListRpkiTable(*ListRpkiTableRequest, GobgpApi_ListRpkiTableServer) error + EnableZebra(context.Context, *EnableZebraRequest) (*emptypb.Empty, error) + EnableMrt(context.Context, *EnableMrtRequest) (*emptypb.Empty, error) + DisableMrt(context.Context, *DisableMrtRequest) (*emptypb.Empty, error) + AddBmp(context.Context, *AddBmpRequest) (*emptypb.Empty, error) + DeleteBmp(context.Context, *DeleteBmpRequest) (*emptypb.Empty, error) + SetLogLevel(context.Context, *SetLogLevelRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedGobgpApiServer() +} + +// UnimplementedGobgpApiServer must be embedded to have forward compatible implementations. +type UnimplementedGobgpApiServer struct { +} + +func (UnimplementedGobgpApiServer) StartBgp(context.Context, *StartBgpRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method StartBgp not implemented") +} +func (UnimplementedGobgpApiServer) StopBgp(context.Context, *StopBgpRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method StopBgp not implemented") +} +func (UnimplementedGobgpApiServer) GetBgp(context.Context, *GetBgpRequest) (*GetBgpResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBgp not implemented") +} +func (UnimplementedGobgpApiServer) AddPeer(context.Context, *AddPeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddPeer not implemented") +} +func (UnimplementedGobgpApiServer) DeletePeer(context.Context, *DeletePeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePeer not implemented") +} +func (UnimplementedGobgpApiServer) ListPeer(*ListPeerRequest, GobgpApi_ListPeerServer) error { + return status.Errorf(codes.Unimplemented, "method ListPeer not implemented") +} +func (UnimplementedGobgpApiServer) UpdatePeer(context.Context, *UpdatePeerRequest) (*UpdatePeerResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePeer not implemented") +} +func (UnimplementedGobgpApiServer) ResetPeer(context.Context, *ResetPeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetPeer not implemented") +} +func (UnimplementedGobgpApiServer) ShutdownPeer(context.Context, *ShutdownPeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShutdownPeer not implemented") +} +func (UnimplementedGobgpApiServer) EnablePeer(context.Context, *EnablePeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnablePeer not implemented") +} +func (UnimplementedGobgpApiServer) DisablePeer(context.Context, *DisablePeerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisablePeer not implemented") +} +func (UnimplementedGobgpApiServer) MonitorPeer(*MonitorPeerRequest, GobgpApi_MonitorPeerServer) error { + return status.Errorf(codes.Unimplemented, "method MonitorPeer not implemented") +} +func (UnimplementedGobgpApiServer) AddPeerGroup(context.Context, *AddPeerGroupRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddPeerGroup not implemented") +} +func (UnimplementedGobgpApiServer) DeletePeerGroup(context.Context, *DeletePeerGroupRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePeerGroup not implemented") +} +func (UnimplementedGobgpApiServer) ListPeerGroup(*ListPeerGroupRequest, GobgpApi_ListPeerGroupServer) error { + return status.Errorf(codes.Unimplemented, "method ListPeerGroup not implemented") +} +func (UnimplementedGobgpApiServer) UpdatePeerGroup(context.Context, *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePeerGroup not implemented") +} +func (UnimplementedGobgpApiServer) AddDynamicNeighbor(context.Context, *AddDynamicNeighborRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddDynamicNeighbor not implemented") +} +func (UnimplementedGobgpApiServer) ListDynamicNeighbor(*ListDynamicNeighborRequest, GobgpApi_ListDynamicNeighborServer) error { + return status.Errorf(codes.Unimplemented, "method ListDynamicNeighbor not implemented") +} +func (UnimplementedGobgpApiServer) DeleteDynamicNeighbor(context.Context, *DeleteDynamicNeighborRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDynamicNeighbor not implemented") +} +func (UnimplementedGobgpApiServer) AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddPath not implemented") +} +func (UnimplementedGobgpApiServer) DeletePath(context.Context, *DeletePathRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePath not implemented") +} +func (UnimplementedGobgpApiServer) ListPath(*ListPathRequest, GobgpApi_ListPathServer) error { + return status.Errorf(codes.Unimplemented, "method ListPath not implemented") +} +func (UnimplementedGobgpApiServer) AddPathStream(GobgpApi_AddPathStreamServer) error { + return status.Errorf(codes.Unimplemented, "method AddPathStream not implemented") +} +func (UnimplementedGobgpApiServer) GetTable(context.Context, *GetTableRequest) (*GetTableResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTable not implemented") +} +func (UnimplementedGobgpApiServer) MonitorTable(*MonitorTableRequest, GobgpApi_MonitorTableServer) error { + return status.Errorf(codes.Unimplemented, "method MonitorTable not implemented") +} +func (UnimplementedGobgpApiServer) AddVrf(context.Context, *AddVrfRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddVrf not implemented") +} +func (UnimplementedGobgpApiServer) DeleteVrf(context.Context, *DeleteVrfRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteVrf not implemented") +} +func (UnimplementedGobgpApiServer) ListVrf(*ListVrfRequest, GobgpApi_ListVrfServer) error { + return status.Errorf(codes.Unimplemented, "method ListVrf not implemented") +} +func (UnimplementedGobgpApiServer) AddPolicy(context.Context, *AddPolicyRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddPolicy not implemented") +} +func (UnimplementedGobgpApiServer) DeletePolicy(context.Context, *DeletePolicyRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePolicy not implemented") +} +func (UnimplementedGobgpApiServer) ListPolicy(*ListPolicyRequest, GobgpApi_ListPolicyServer) error { + return status.Errorf(codes.Unimplemented, "method ListPolicy not implemented") +} +func (UnimplementedGobgpApiServer) SetPolicies(context.Context, *SetPoliciesRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPolicies not implemented") +} +func (UnimplementedGobgpApiServer) AddDefinedSet(context.Context, *AddDefinedSetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddDefinedSet not implemented") +} +func (UnimplementedGobgpApiServer) DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDefinedSet not implemented") +} +func (UnimplementedGobgpApiServer) ListDefinedSet(*ListDefinedSetRequest, GobgpApi_ListDefinedSetServer) error { + return status.Errorf(codes.Unimplemented, "method ListDefinedSet not implemented") +} +func (UnimplementedGobgpApiServer) AddStatement(context.Context, *AddStatementRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddStatement not implemented") +} +func (UnimplementedGobgpApiServer) DeleteStatement(context.Context, *DeleteStatementRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteStatement not implemented") +} +func (UnimplementedGobgpApiServer) ListStatement(*ListStatementRequest, GobgpApi_ListStatementServer) error { + return status.Errorf(codes.Unimplemented, "method ListStatement not implemented") +} +func (UnimplementedGobgpApiServer) AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddPolicyAssignment not implemented") +} +func (UnimplementedGobgpApiServer) DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePolicyAssignment not implemented") +} +func (UnimplementedGobgpApiServer) ListPolicyAssignment(*ListPolicyAssignmentRequest, GobgpApi_ListPolicyAssignmentServer) error { + return status.Errorf(codes.Unimplemented, "method ListPolicyAssignment not implemented") +} +func (UnimplementedGobgpApiServer) SetPolicyAssignment(context.Context, *SetPolicyAssignmentRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPolicyAssignment not implemented") +} +func (UnimplementedGobgpApiServer) AddRpki(context.Context, *AddRpkiRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddRpki not implemented") +} +func (UnimplementedGobgpApiServer) DeleteRpki(context.Context, *DeleteRpkiRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteRpki not implemented") +} +func (UnimplementedGobgpApiServer) ListRpki(*ListRpkiRequest, GobgpApi_ListRpkiServer) error { + return status.Errorf(codes.Unimplemented, "method ListRpki not implemented") +} +func (UnimplementedGobgpApiServer) EnableRpki(context.Context, *EnableRpkiRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableRpki not implemented") +} +func (UnimplementedGobgpApiServer) DisableRpki(context.Context, *DisableRpkiRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableRpki not implemented") +} +func (UnimplementedGobgpApiServer) ResetRpki(context.Context, *ResetRpkiRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetRpki not implemented") +} +func (UnimplementedGobgpApiServer) ListRpkiTable(*ListRpkiTableRequest, GobgpApi_ListRpkiTableServer) error { + return status.Errorf(codes.Unimplemented, "method ListRpkiTable not implemented") +} +func (UnimplementedGobgpApiServer) EnableZebra(context.Context, *EnableZebraRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableZebra not implemented") +} +func (UnimplementedGobgpApiServer) EnableMrt(context.Context, *EnableMrtRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableMrt not implemented") +} +func (UnimplementedGobgpApiServer) DisableMrt(context.Context, *DisableMrtRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableMrt not implemented") +} +func (UnimplementedGobgpApiServer) AddBmp(context.Context, *AddBmpRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddBmp not implemented") +} +func (UnimplementedGobgpApiServer) DeleteBmp(context.Context, *DeleteBmpRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteBmp not implemented") +} +func (UnimplementedGobgpApiServer) SetLogLevel(context.Context, *SetLogLevelRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetLogLevel not implemented") +} +func (UnimplementedGobgpApiServer) mustEmbedUnimplementedGobgpApiServer() {} + +// UnsafeGobgpApiServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GobgpApiServer will +// result in compilation errors. +type UnsafeGobgpApiServer interface { + mustEmbedUnimplementedGobgpApiServer() +} + +func RegisterGobgpApiServer(s grpc.ServiceRegistrar, srv GobgpApiServer) { + s.RegisterService(&GobgpApi_ServiceDesc, srv) +} + +func _GobgpApi_StartBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartBgpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).StartBgp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/StartBgp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).StartBgp(ctx, req.(*StartBgpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_StopBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StopBgpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).StopBgp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/StopBgp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).StopBgp(ctx, req.(*StopBgpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_GetBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBgpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).GetBgp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/GetBgp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).GetBgp(ctx, req.(*GetBgpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_AddPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddPeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddPeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddPeer(ctx, req.(*AddPeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeletePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeletePeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeletePeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePeer(ctx, req.(*DeletePeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListPeer_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListPeerRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListPeer(m, &gobgpApiListPeerServer{stream}) +} + +type GobgpApi_ListPeerServer interface { + Send(*ListPeerResponse) error + grpc.ServerStream +} + +type gobgpApiListPeerServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListPeerServer) Send(m *ListPeerResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_UpdatePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).UpdatePeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/UpdatePeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).UpdatePeer(ctx, req.(*UpdatePeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ResetPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetPeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).ResetPeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/ResetPeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).ResetPeer(ctx, req.(*ResetPeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ShutdownPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShutdownPeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).ShutdownPeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/ShutdownPeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).ShutdownPeer(ctx, req.(*ShutdownPeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_EnablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnablePeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).EnablePeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/EnablePeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).EnablePeer(ctx, req.(*EnablePeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DisablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisablePeerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DisablePeer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DisablePeer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DisablePeer(ctx, req.(*DisablePeerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_MonitorPeer_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(MonitorPeerRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).MonitorPeer(m, &gobgpApiMonitorPeerServer{stream}) +} + +type GobgpApi_MonitorPeerServer interface { + Send(*MonitorPeerResponse) error + grpc.ServerStream +} + +type gobgpApiMonitorPeerServer struct { + grpc.ServerStream +} + +func (x *gobgpApiMonitorPeerServer) Send(m *MonitorPeerResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_AddPeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPeerGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddPeerGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddPeerGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddPeerGroup(ctx, req.(*AddPeerGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeletePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePeerGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeletePeerGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeletePeerGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePeerGroup(ctx, req.(*DeletePeerGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListPeerGroup_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListPeerGroupRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListPeerGroup(m, &gobgpApiListPeerGroupServer{stream}) +} + +type GobgpApi_ListPeerGroupServer interface { + Send(*ListPeerGroupResponse) error + grpc.ServerStream +} + +type gobgpApiListPeerGroupServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListPeerGroupServer) Send(m *ListPeerGroupResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_UpdatePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePeerGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).UpdatePeerGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/UpdatePeerGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).UpdatePeerGroup(ctx, req.(*UpdatePeerGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_AddDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddDynamicNeighborRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddDynamicNeighbor", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, req.(*AddDynamicNeighborRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListDynamicNeighbor_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListDynamicNeighborRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListDynamicNeighbor(m, &gobgpApiListDynamicNeighborServer{stream}) +} + +type GobgpApi_ListDynamicNeighborServer interface { + Send(*ListDynamicNeighborResponse) error + grpc.ServerStream +} + +type gobgpApiListDynamicNeighborServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListDynamicNeighborServer) Send(m *ListDynamicNeighborResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_DeleteDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDynamicNeighborRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteDynamicNeighbor(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeleteDynamicNeighbor", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteDynamicNeighbor(ctx, req.(*DeleteDynamicNeighborRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_AddPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPathRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddPath(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddPath", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddPath(ctx, req.(*AddPathRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeletePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePathRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeletePath(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeletePath", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePath(ctx, req.(*DeletePathRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListPath_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListPathRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListPath(m, &gobgpApiListPathServer{stream}) +} + +type GobgpApi_ListPathServer interface { + Send(*ListPathResponse) error + grpc.ServerStream +} + +type gobgpApiListPathServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListPathServer) Send(m *ListPathResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_AddPathStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GobgpApiServer).AddPathStream(&gobgpApiAddPathStreamServer{stream}) +} + +type GobgpApi_AddPathStreamServer interface { + SendAndClose(*emptypb.Empty) error + Recv() (*AddPathStreamRequest, error) + grpc.ServerStream +} + +type gobgpApiAddPathStreamServer struct { + grpc.ServerStream +} + +func (x *gobgpApiAddPathStreamServer) SendAndClose(m *emptypb.Empty) error { + return x.ServerStream.SendMsg(m) +} + +func (x *gobgpApiAddPathStreamServer) Recv() (*AddPathStreamRequest, error) { + m := new(AddPathStreamRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _GobgpApi_GetTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTableRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).GetTable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/GetTable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).GetTable(ctx, req.(*GetTableRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_MonitorTable_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(MonitorTableRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).MonitorTable(m, &gobgpApiMonitorTableServer{stream}) +} + +type GobgpApi_MonitorTableServer interface { + Send(*MonitorTableResponse) error + grpc.ServerStream +} + +type gobgpApiMonitorTableServer struct { + grpc.ServerStream +} + +func (x *gobgpApiMonitorTableServer) Send(m *MonitorTableResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_AddVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddVrfRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddVrf(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddVrf", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddVrf(ctx, req.(*AddVrfRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeleteVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteVrfRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteVrf(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeleteVrf", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteVrf(ctx, req.(*DeleteVrfRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListVrf_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListVrfRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListVrf(m, &gobgpApiListVrfServer{stream}) +} + +type GobgpApi_ListVrfServer interface { + Send(*ListVrfResponse) error + grpc.ServerStream +} + +type gobgpApiListVrfServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListVrfServer) Send(m *ListVrfResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_AddPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddPolicy(ctx, req.(*AddPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeletePolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeletePolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePolicy(ctx, req.(*DeletePolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListPolicy_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListPolicyRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListPolicy(m, &gobgpApiListPolicyServer{stream}) +} + +type GobgpApi_ListPolicyServer interface { + Send(*ListPolicyResponse) error + grpc.ServerStream +} + +type gobgpApiListPolicyServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListPolicyServer) Send(m *ListPolicyResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_SetPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetPoliciesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).SetPolicies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/SetPolicies", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).SetPolicies(ctx, req.(*SetPoliciesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_AddDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddDefinedSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddDefinedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddDefinedSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddDefinedSet(ctx, req.(*AddDefinedSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeleteDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDefinedSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteDefinedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeleteDefinedSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteDefinedSet(ctx, req.(*DeleteDefinedSetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListDefinedSet_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListDefinedSetRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListDefinedSet(m, &gobgpApiListDefinedSetServer{stream}) +} + +type GobgpApi_ListDefinedSetServer interface { + Send(*ListDefinedSetResponse) error + grpc.ServerStream +} + +type gobgpApiListDefinedSetServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListDefinedSetServer) Send(m *ListDefinedSetResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_AddStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddStatementRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddStatement(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddStatement", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddStatement(ctx, req.(*AddStatementRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeleteStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteStatementRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteStatement(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeleteStatement", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteStatement(ctx, req.(*DeleteStatementRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListStatement_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListStatementRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListStatement(m, &gobgpApiListStatementServer{stream}) +} + +type GobgpApi_ListStatementServer interface { + Send(*ListStatementResponse) error + grpc.ServerStream +} + +type gobgpApiListStatementServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListStatementServer) Send(m *ListStatementResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_AddPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPolicyAssignmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddPolicyAssignment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddPolicyAssignment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddPolicyAssignment(ctx, req.(*AddPolicyAssignmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeletePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePolicyAssignmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeletePolicyAssignment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, req.(*DeletePolicyAssignmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListPolicyAssignment_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListPolicyAssignmentRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListPolicyAssignment(m, &gobgpApiListPolicyAssignmentServer{stream}) +} + +type GobgpApi_ListPolicyAssignmentServer interface { + Send(*ListPolicyAssignmentResponse) error + grpc.ServerStream +} + +type gobgpApiListPolicyAssignmentServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListPolicyAssignmentServer) Send(m *ListPolicyAssignmentResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_SetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetPolicyAssignmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).SetPolicyAssignment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/SetPolicyAssignment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).SetPolicyAssignment(ctx, req.(*SetPolicyAssignmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_AddRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddRpki(ctx, req.(*AddRpkiRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeleteRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeleteRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteRpki(ctx, req.(*DeleteRpkiRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListRpki_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListRpkiRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListRpki(m, &gobgpApiListRpkiServer{stream}) +} + +type GobgpApi_ListRpkiServer interface { + Send(*ListRpkiResponse) error + grpc.ServerStream +} + +type gobgpApiListRpkiServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListRpkiServer) Send(m *ListRpkiResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_EnableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).EnableRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/EnableRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).EnableRpki(ctx, req.(*EnableRpkiRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DisableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DisableRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DisableRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DisableRpki(ctx, req.(*DisableRpkiRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).ResetRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/ResetRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).ResetRpki(ctx, req.(*ResetRpkiRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_ListRpkiTable_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListRpkiTableRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GobgpApiServer).ListRpkiTable(m, &gobgpApiListRpkiTableServer{stream}) +} + +type GobgpApi_ListRpkiTableServer interface { + Send(*ListRpkiTableResponse) error + grpc.ServerStream +} + +type gobgpApiListRpkiTableServer struct { + grpc.ServerStream +} + +func (x *gobgpApiListRpkiTableServer) Send(m *ListRpkiTableResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _GobgpApi_EnableZebra_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableZebraRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).EnableZebra(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/EnableZebra", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).EnableZebra(ctx, req.(*EnableZebraRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_EnableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableMrtRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).EnableMrt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/EnableMrt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).EnableMrt(ctx, req.(*EnableMrtRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DisableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableMrtRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DisableMrt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DisableMrt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DisableMrt(ctx, req.(*DisableMrtRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_AddBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddBmpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddBmp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/AddBmp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddBmp(ctx, req.(*AddBmpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DeleteBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteBmpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteBmp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/DeleteBmp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteBmp(ctx, req.(*DeleteBmpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_SetLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetLogLevelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).SetLogLevel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/apipb.GobgpApi/SetLogLevel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).SetLogLevel(ctx, req.(*SetLogLevelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// GobgpApi_ServiceDesc is the grpc.ServiceDesc for GobgpApi service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var GobgpApi_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "apipb.GobgpApi", + HandlerType: (*GobgpApiServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "StartBgp", + Handler: _GobgpApi_StartBgp_Handler, + }, + { + MethodName: "StopBgp", + Handler: _GobgpApi_StopBgp_Handler, + }, + { + MethodName: "GetBgp", + Handler: _GobgpApi_GetBgp_Handler, + }, + { + MethodName: "AddPeer", + Handler: _GobgpApi_AddPeer_Handler, + }, + { + MethodName: "DeletePeer", + Handler: _GobgpApi_DeletePeer_Handler, + }, + { + MethodName: "UpdatePeer", + Handler: _GobgpApi_UpdatePeer_Handler, + }, + { + MethodName: "ResetPeer", + Handler: _GobgpApi_ResetPeer_Handler, + }, + { + MethodName: "ShutdownPeer", + Handler: _GobgpApi_ShutdownPeer_Handler, + }, + { + MethodName: "EnablePeer", + Handler: _GobgpApi_EnablePeer_Handler, + }, + { + MethodName: "DisablePeer", + Handler: _GobgpApi_DisablePeer_Handler, + }, + { + MethodName: "AddPeerGroup", + Handler: _GobgpApi_AddPeerGroup_Handler, + }, + { + MethodName: "DeletePeerGroup", + Handler: _GobgpApi_DeletePeerGroup_Handler, + }, + { + MethodName: "UpdatePeerGroup", + Handler: _GobgpApi_UpdatePeerGroup_Handler, + }, + { + MethodName: "AddDynamicNeighbor", + Handler: _GobgpApi_AddDynamicNeighbor_Handler, + }, + { + MethodName: "DeleteDynamicNeighbor", + Handler: _GobgpApi_DeleteDynamicNeighbor_Handler, + }, + { + MethodName: "AddPath", + Handler: _GobgpApi_AddPath_Handler, + }, + { + MethodName: "DeletePath", + Handler: _GobgpApi_DeletePath_Handler, + }, + { + MethodName: "GetTable", + Handler: _GobgpApi_GetTable_Handler, + }, + { + MethodName: "AddVrf", + Handler: _GobgpApi_AddVrf_Handler, + }, + { + MethodName: "DeleteVrf", + Handler: _GobgpApi_DeleteVrf_Handler, + }, + { + MethodName: "AddPolicy", + Handler: _GobgpApi_AddPolicy_Handler, + }, + { + MethodName: "DeletePolicy", + Handler: _GobgpApi_DeletePolicy_Handler, + }, + { + MethodName: "SetPolicies", + Handler: _GobgpApi_SetPolicies_Handler, + }, + { + MethodName: "AddDefinedSet", + Handler: _GobgpApi_AddDefinedSet_Handler, + }, + { + MethodName: "DeleteDefinedSet", + Handler: _GobgpApi_DeleteDefinedSet_Handler, + }, + { + MethodName: "AddStatement", + Handler: _GobgpApi_AddStatement_Handler, + }, + { + MethodName: "DeleteStatement", + Handler: _GobgpApi_DeleteStatement_Handler, + }, + { + MethodName: "AddPolicyAssignment", + Handler: _GobgpApi_AddPolicyAssignment_Handler, + }, + { + MethodName: "DeletePolicyAssignment", + Handler: _GobgpApi_DeletePolicyAssignment_Handler, + }, + { + MethodName: "SetPolicyAssignment", + Handler: _GobgpApi_SetPolicyAssignment_Handler, + }, + { + MethodName: "AddRpki", + Handler: _GobgpApi_AddRpki_Handler, + }, + { + MethodName: "DeleteRpki", + Handler: _GobgpApi_DeleteRpki_Handler, + }, + { + MethodName: "EnableRpki", + Handler: _GobgpApi_EnableRpki_Handler, + }, + { + MethodName: "DisableRpki", + Handler: _GobgpApi_DisableRpki_Handler, + }, + { + MethodName: "ResetRpki", + Handler: _GobgpApi_ResetRpki_Handler, + }, + { + MethodName: "EnableZebra", + Handler: _GobgpApi_EnableZebra_Handler, + }, + { + MethodName: "EnableMrt", + Handler: _GobgpApi_EnableMrt_Handler, + }, + { + MethodName: "DisableMrt", + Handler: _GobgpApi_DisableMrt_Handler, + }, + { + MethodName: "AddBmp", + Handler: _GobgpApi_AddBmp_Handler, + }, + { + MethodName: "DeleteBmp", + Handler: _GobgpApi_DeleteBmp_Handler, + }, + { + MethodName: "SetLogLevel", + Handler: _GobgpApi_SetLogLevel_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "ListPeer", + Handler: _GobgpApi_ListPeer_Handler, + ServerStreams: true, + }, + { + StreamName: "MonitorPeer", + Handler: _GobgpApi_MonitorPeer_Handler, + ServerStreams: true, + }, + { + StreamName: "ListPeerGroup", + Handler: _GobgpApi_ListPeerGroup_Handler, + ServerStreams: true, + }, + { + StreamName: "ListDynamicNeighbor", + Handler: _GobgpApi_ListDynamicNeighbor_Handler, + ServerStreams: true, + }, + { + StreamName: "ListPath", + Handler: _GobgpApi_ListPath_Handler, + ServerStreams: true, + }, + { + StreamName: "AddPathStream", + Handler: _GobgpApi_AddPathStream_Handler, + ClientStreams: true, + }, + { + StreamName: "MonitorTable", + Handler: _GobgpApi_MonitorTable_Handler, + ServerStreams: true, + }, + { + StreamName: "ListVrf", + Handler: _GobgpApi_ListVrf_Handler, + ServerStreams: true, + }, + { + StreamName: "ListPolicy", + Handler: _GobgpApi_ListPolicy_Handler, + ServerStreams: true, + }, + { + StreamName: "ListDefinedSet", + Handler: _GobgpApi_ListDefinedSet_Handler, + ServerStreams: true, + }, + { + StreamName: "ListStatement", + Handler: _GobgpApi_ListStatement_Handler, + ServerStreams: true, + }, + { + StreamName: "ListPolicyAssignment", + Handler: _GobgpApi_ListPolicyAssignment_Handler, + ServerStreams: true, + }, + { + StreamName: "ListRpki", + Handler: _GobgpApi_ListRpki_Handler, + ServerStreams: true, + }, + { + StreamName: "ListRpkiTable", + Handler: _GobgpApi_ListRpkiTable_Handler, + ServerStreams: true, + }, + }, + Metadata: "gobgp.proto", +} diff --git a/cmd/gobgp/bmp.go b/cmd/gobgp/bmp.go index 8fd61ff9..b177bbf5 100644 --- a/cmd/gobgp/bmp.go +++ b/cmd/gobgp/bmp.go @@ -20,8 +20,8 @@ import ( "net" "strconv" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bmp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bmp" "github.com/spf13/cobra" ) diff --git a/cmd/gobgp/common.go b/cmd/gobgp/common.go index 9fb494e1..3893f9e9 100644 --- a/cmd/gobgp/common.go +++ b/cmd/gobgp/common.go @@ -29,8 +29,8 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) const globalRIBName = "global" diff --git a/cmd/gobgp/global.go b/cmd/gobgp/global.go index ae79e919..e54c44b2 100644 --- a/cmd/gobgp/global.go +++ b/cmd/gobgp/global.go @@ -27,11 +27,11 @@ import ( "github.com/spf13/cobra" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/internal/pkg/table" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) type extCommType int diff --git a/cmd/gobgp/global_test.go b/cmd/gobgp/global_test.go index 8aacdc54..3310eb8a 100644 --- a/cmd/gobgp/global_test.go +++ b/cmd/gobgp/global_test.go @@ -19,8 +19,8 @@ import ( "strings" "testing" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/cmd/gobgp/loglevel.go b/cmd/gobgp/loglevel.go index 520437d5..bbac5b1c 100644 --- a/cmd/gobgp/loglevel.go +++ b/cmd/gobgp/loglevel.go @@ -18,7 +18,7 @@ package main import ( "fmt" - api "github.com/osrg/gobgp/api" + api "github.com/osrg/gobgp/v3/api" "github.com/spf13/cobra" ) diff --git a/cmd/gobgp/main.go b/cmd/gobgp/main.go index 079b1d4a..93cb4c43 100644 --- a/cmd/gobgp/main.go +++ b/cmd/gobgp/main.go @@ -19,7 +19,7 @@ import ( "fmt" "os" - "github.com/osrg/gobgp/internal/pkg/version" + "github.com/osrg/gobgp/v3/internal/pkg/version" "google.golang.org/grpc" ) diff --git a/cmd/gobgp/monitor.go b/cmd/gobgp/monitor.go index 52e1c3b4..a4b55fda 100644 --- a/cmd/gobgp/monitor.go +++ b/cmd/gobgp/monitor.go @@ -24,9 +24,9 @@ import ( "github.com/spf13/cobra" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) func makeMonitorRouteArgs(p *api.Path, showIdentifier bgp.BGPAddPathMode) []interface{} { diff --git a/cmd/gobgp/mrt.go b/cmd/gobgp/mrt.go index 70cb2a2a..687d5dcf 100644 --- a/cmd/gobgp/mrt.go +++ b/cmd/gobgp/mrt.go @@ -24,10 +24,10 @@ import ( "github.com/spf13/cobra" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/packet/mrt" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/mrt" ) func injectMrt() error { diff --git a/cmd/gobgp/neighbor.go b/cmd/gobgp/neighbor.go index 280385d4..a9e8bfdc 100644 --- a/cmd/gobgp/neighbor.go +++ b/cmd/gobgp/neighbor.go @@ -26,13 +26,12 @@ import ( "strings" "time" - "github.com/golang/protobuf/ptypes" "github.com/spf13/cobra" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) // used in showRoute() to determine the width of each column @@ -173,9 +172,9 @@ func showNeighbors(vrf string) error { } timeStr := "never" if n.Timers.State.Uptime != nil { - t, _ := ptypes.Timestamp(n.Timers.State.Downtime) + t := n.Timers.State.Downtime.AsTime() if n.State.SessionState == api.PeerState_ESTABLISHED { - t, _ = ptypes.Timestamp(n.Timers.State.Uptime) + t = n.Timers.State.Uptime.AsTime() } timeStr = formatTimedelta(t) } @@ -259,8 +258,7 @@ func showNeighbor(args []string) error { fmt.Printf(" BGP version 4, remote router ID %s\n", id) fmt.Printf(" BGP state = %s", p.State.SessionState) if p.Timers.State.Uptime != nil { - t, _ := ptypes.Timestamp(p.Timers.State.Uptime) - fmt.Printf(", up for %s\n", formatTimedelta(t)) + fmt.Printf(", up for %s\n", formatTimedelta(p.Timers.State.Uptime.AsTime())) } else { fmt.Print("\n") } @@ -601,8 +599,7 @@ func makeShowRouteArgs(p *api.Path, idx int, now time.Time, showAge, showBest, s // Age if showAge { - t, _ := ptypes.Timestamp(p.Age) - args = append(args, formatTimedelta(t)) + args = append(args, formatTimedelta(p.Age.AsTime())) } // Path Attributes diff --git a/cmd/gobgp/policy.go b/cmd/gobgp/policy.go index 1e87a6a9..fdd60826 100644 --- a/cmd/gobgp/policy.go +++ b/cmd/gobgp/policy.go @@ -25,14 +25,14 @@ import ( "strconv" "strings" - "github.com/osrg/gobgp/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" "github.com/spf13/cobra" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/config" - table "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/config" + table "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) var ( diff --git a/cmd/gobgp/root.go b/cmd/gobgp/root.go index eb63d0c1..dfb26003 100644 --- a/cmd/gobgp/root.go +++ b/cmd/gobgp/root.go @@ -21,7 +21,7 @@ import ( _ "net/http/pprof" "strconv" - api "github.com/osrg/gobgp/api" + api "github.com/osrg/gobgp/v3/api" "github.com/spf13/cobra" ) diff --git a/cmd/gobgp/rpki.go b/cmd/gobgp/rpki.go index b506ccef..afd3de21 100644 --- a/cmd/gobgp/rpki.go +++ b/cmd/gobgp/rpki.go @@ -21,9 +21,9 @@ import ( "net" "strconv" - "github.com/golang/protobuf/ptypes" - api "github.com/osrg/gobgp/api" "github.com/spf13/cobra" + + api "github.com/osrg/gobgp/v3/api" ) func showRPKIServer(args []string) error { @@ -50,8 +50,7 @@ func showRPKIServer(args []string) error { uptime := "never" if r.State.Up { s = "Up" - t, _ := ptypes.Timestamp(r.State.Uptime) - uptime = fmt.Sprint(formatTimedelta(t)) + uptime = fmt.Sprint(formatTimedelta(r.State.Uptime.AsTime())) } fmt.Printf(format, net.JoinHostPort(r.Conf.Address, fmt.Sprintf("%d", r.Conf.RemotePort)), s, uptime, fmt.Sprintf("%d/%d", r.State.RecordIpv4, r.State.RecordIpv6)) diff --git a/cmd/gobgp/vrf.go b/cmd/gobgp/vrf.go index 1034091c..152be569 100644 --- a/cmd/gobgp/vrf.go +++ b/cmd/gobgp/vrf.go @@ -23,12 +23,12 @@ import ( "strconv" "strings" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/pkg/packet/bgp" - - "github.com/golang/protobuf/ptypes/any" "github.com/spf13/cobra" + apb "google.golang.org/protobuf/types/known/anypb" + + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) func getVrfs() ([]*api.Vrf, error) { @@ -78,7 +78,7 @@ func showVrfs() error { } rdStr := rd.String() - f := func(rts []*any.Any) (string, error) { + f := func(rts []*apb.Any) (string, error) { ret := make([]string, 0, len(rts)) for _, an := range rts { rt, err := apiutil.UnmarshalRT(an) diff --git a/cmd/gobgpd/main.go b/cmd/gobgpd/main.go index 555dfab6..5daee298 100644 --- a/cmd/gobgpd/main.go +++ b/cmd/gobgpd/main.go @@ -34,9 +34,9 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials" - "github.com/osrg/gobgp/internal/pkg/version" - "github.com/osrg/gobgp/pkg/config" - "github.com/osrg/gobgp/pkg/server" + "github.com/osrg/gobgp/v3/internal/pkg/version" + "github.com/osrg/gobgp/v3/pkg/config" + "github.com/osrg/gobgp/v3/pkg/server" ) func main() { diff --git a/cmd/gobgpd/util.go b/cmd/gobgpd/util.go index 1b7885b8..df736c67 100644 --- a/cmd/gobgpd/util.go +++ b/cmd/gobgpd/util.go @@ -13,6 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build !windows // +build !windows package main diff --git a/docs/sources/lib-ls.md b/docs/sources/lib-ls.md index adc6fe79..bf68c9d7 100644 --- a/docs/sources/lib-ls.md +++ b/docs/sources/lib-ls.md @@ -13,11 +13,10 @@ package main import ( "context" - "os" - "github.com/golang/protobuf/jsonpb" - api "github.com/osrg/gobgp/api" - gobgp "github.com/osrg/gobgp/pkg/server" + "google.golang.org/protobuf/encoding/protojson" + api "github.com/osrg/gobgp/v3/api" + gobgp "github.com/osrg/gobgp/v3/pkg/server" log "github.com/sirupsen/logrus" ) @@ -73,9 +72,9 @@ func main() { log.Fatal(err) } - marshaller := jsonpb.Marshaler{ + marshaller := protojson.MarshalOptions{ Indent: " ", - OrigName: true, + UseProtoNames: true, } // Display incoming Prefixes in JSON format. @@ -87,7 +86,7 @@ func main() { }, }, func(p *api.Path) { // Your application should do something useful with the BGP-LS path here. - marshaller.Marshal(os.Stdout, p) + marshaller.Marshal(p) }); err != nil { log.Fatal(err) } diff --git a/docs/sources/lib-srpolicy.md b/docs/sources/lib-srpolicy.md index ee74995e..90069fab 100644 --- a/docs/sources/lib-srpolicy.md +++ b/docs/sources/lib-srpolicy.md @@ -21,28 +21,27 @@ import ( "net" "os" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" - api "github.com/osrg/gobgp/api" toolbox "github.com/sbezverk/gobgptoolbox" "google.golang.org/grpc" - "google.golang.org/protobuf/types/known/anypb" + apb "google.golang.org/protobuf/types/known/anypb" + + api "github.com/osrg/gobgp/v3/api" ) func AddSRPolicy(client api.GobgpApiClient) error { - nlrisr, _ := ptypes.MarshalAny(&api.SRPolicyNLRI{ + nlrisr, _ := apb.New(&api.SRPolicyNLRI{ Length: 96, Distinguisher: 2, Color: 99, Endpoint: net.ParseIP("10.0.0.15").To4(), }) // Origin attribute - origin, _ := ptypes.MarshalAny(&api.OriginAttribute{ + origin, _ := apb.New(&api.OriginAttribute{ Origin: 0, }) // Next hop attribute - nh, _ := ptypes.MarshalAny(&api.NextHopAttribute{ + nh, _ := apb.New(&api.NextHopAttribute{ NextHop: net.ParseIP("192.168.20.1").To4().String(), }) // Extended communities attribute @@ -51,13 +50,13 @@ func AddSRPolicy(client api.GobgpApiClient) error { if err != nil { return err } - rt, _ := ptypes.MarshalAny(&api.ExtendedCommunitiesAttribute{ + rt, _ := apb.New(&api.ExtendedCommunitiesAttribute{ Communities: []*any.Any{rtm}, }) // Tunnel Encapsulation Type 15 (SR Policy) sub tlvs s := make([]byte, 4) binary.BigEndian.PutUint32(s, 24321) - sid, err := ptypes.MarshalAny(&api.SRBindingSID{ + sid, err := apb.New(&api.SRBindingSID{ SFlag: true, IFlag: false, Sid: s, @@ -65,13 +64,13 @@ func AddSRPolicy(client api.GobgpApiClient) error { if err != nil { return err } - bsid, err := ptypes.MarshalAny(&api.TunnelEncapSubTLVSRBindingSID{ + bsid, err := apb.New(&api.TunnelEncapSubTLVSRBindingSID{ Bsid: sid, }) if err != nil { return err } - segment, err := ptypes.MarshalAny(&api.SegmentTypeA{ + segment, err := apb.New(&api.SegmentTypeA{ Flags: &api.SegmentFlags{ SFlag: true, }, @@ -80,7 +79,7 @@ func AddSRPolicy(client api.GobgpApiClient) error { if err != nil { return err } - seglist, err := ptypes.MarshalAny(&api.TunnelEncapSubTLVSRSegmentList{ + seglist, err := apb.New(&api.TunnelEncapSubTLVSRSegmentList{ Weight: &api.SRWeight{ Flags: 0, Weight: 12, @@ -90,27 +89,27 @@ func AddSRPolicy(client api.GobgpApiClient) error { if err != nil { return err } - pref, err := ptypes.MarshalAny(&api.TunnelEncapSubTLVSRPreference{ + pref, err := apb.New(&api.TunnelEncapSubTLVSRPreference{ Flags: 0, Preference: 11, }) if err != nil { return err } - cpn, err := ptypes.MarshalAny(&api.TunnelEncapSubTLVSRCandidatePathName{ + cpn, err := apb.New(&api.TunnelEncapSubTLVSRCandidatePathName{ CandidatePathName: "CandidatePathName", }) if err != nil { return err } - pri, err := ptypes.MarshalAny(&api.TunnelEncapSubTLVSRPriority{ + pri, err := apb.New(&api.TunnelEncapSubTLVSRPriority{ Priority: 10, }) if err != nil { return err } // Tunnel Encapsulation attribute for SR Policy - tun, err := ptypes.MarshalAny(&api.TunnelEncapAttribute{ + tun, err := apb.New(&api.TunnelEncapAttribute{ Tlvs: []*api.TunnelEncapTLV{ { Type: 15, diff --git a/docs/sources/lib.md b/docs/sources/lib.md index 933f3cb2..28626958 100644 --- a/docs/sources/lib.md +++ b/docs/sources/lib.md @@ -15,10 +15,10 @@ import ( "context" "time" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" - api "github.com/osrg/gobgp/api" - gobgp "github.com/osrg/gobgp/pkg/server" + apb "google.golang.org/protobuf/types/known/anypb" + + api "github.com/osrg/gobgp/v3/api" + gobgp "github.com/osrg/gobgp/v3/pkg/server" log "github.com/sirupsen/logrus" ) @@ -58,18 +58,18 @@ func main() { } // add routes - nlri, _ := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri, _ := apb.New(&api.IPAddressPrefix{ Prefix: "10.0.0.0", PrefixLen: 24, }) - a1, _ := ptypes.MarshalAny(&api.OriginAttribute{ + a1, _ := apb.New(&api.OriginAttribute{ Origin: 0, }) - a2, _ := ptypes.MarshalAny(&api.NextHopAttribute{ + a2, _ := apb.New(&api.NextHopAttribute{ NextHop: "10.0.0.1", }) - a3, _ := ptypes.MarshalAny(&api.AsPathAttribute{ + a3, _ := apb.New(&api.AsPathAttribute{ Segments: []*api.AsSegment{ { Type: 2, @@ -77,7 +77,7 @@ func main() { }, }, }) - attrs := []*any.Any{a1, a2, a3} + attrs := []*apb.Any{a1, a2, a3} _, err := s.AddPath(context.Background(), &api.AddPathRequest{ Path: &api.Path{ @@ -96,17 +96,17 @@ func main() { } // add v6 route - nlri, _ = ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri, _ = apb.New(&api.IPAddressPrefix{ PrefixLen: 64, Prefix: "2001:db8:1::", }) - v6Attrs, _ := ptypes.MarshalAny(&api.MpReachNLRIAttribute{ + v6Attrs, _ := apb.New(&api.MpReachNLRIAttribute{ Family: v6Family, NextHops: []string{"2001:db8::1"}, - Nlris: []*any.Any{nlri}, + Nlris: []*apb.Any{nlri}, }) - c, _ := ptypes.MarshalAny(&api.CommunitiesAttribute{ + c, _ := apb.New(&api.CommunitiesAttribute{ Communities: []uint32{100, 200}, }) @@ -114,7 +114,7 @@ func main() { Path: &api.Path{ Family: v6Family, Nlri: nlri, - Pattrs: []*any.Any{a1, v6Attrs, c}, + Pattrs: []*apb.Any{a1, v6Attrs, c}, }, }) if err != nil { diff --git a/go.mod b/go.mod index 0f0c5d6b..f5d0182a 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/osrg/gobgp +module github.com/osrg/gobgp/v3 require ( github.com/BurntSushi/toml v0.4.1 @@ -7,7 +7,6 @@ require ( github.com/eapache/channels v1.1.0 github.com/eapache/queue v1.1.0 // indirect github.com/go-test/deep v1.0.7 - github.com/golang/protobuf v1.3.2 github.com/google/uuid v1.3.0 github.com/jessevdk/go-flags v1.5.0 github.com/k-sone/critbitgo v1.4.0 @@ -17,8 +16,14 @@ require ( github.com/spf13/viper v1.7.1 github.com/stretchr/testify v1.7.0 github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 - golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d - google.golang.org/grpc v1.21.1 + golang.org/x/net v0.0.0-20211205041911-012df41ee64c + golang.org/x/sys v0.0.0-20211205182925-97ca703d548d // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/tools v0.1.8 // indirect + google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9 // indirect + google.golang.org/grpc v1.42.0 + google.golang.org/protobuf v1.27.1 + honnef.co/go/tools v0.2.2 // indirect ) go 1.13 diff --git a/go.sum b/go.sum index 6d8dc9e1..0e67264b 100644 --- a/go.sum +++ b/go.sum @@ -18,6 +18,7 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -25,8 +26,17 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -47,6 +57,13 @@ github.com/eapache/channels v1.1.0 h1:F1taHcn7/F0i8DYqKXJnyhJcVpp2kgFcNePxXtnyu4 github.com/eapache/channels v1.1.0/go.mod h1:jMm2qB5Ubtg9zLd+inMZd2/NUvXgzmWXsDaLyQIGfH0= github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -60,7 +77,6 @@ github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -68,16 +84,33 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -88,6 +121,7 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -163,12 +197,14 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -203,6 +239,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= @@ -213,9 +250,12 @@ github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:tw github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns= github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -224,6 +264,8 @@ golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -242,6 +284,9 @@ golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -256,16 +301,23 @@ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211205041911-012df41ee64c h1:7SfqwP5fxEtl/P02w5IhKc86ziJ+A25yFrkVgoy2FT8= +golang.org/x/net v0.0.0-20211205041911-012df41ee64c/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -281,17 +333,29 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211204120058-94396e421777 h1:QAkhGVjOxMa+n4mlsAWeAU+BMZmimQAaNiMu+iUi94E= +golang.org/x/sys v0.0.0-20211204120058-94396e421777/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -304,6 +368,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -311,7 +376,15 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -329,12 +402,35 @@ google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a h1:Ob5/580gVHBJZgXnff1cZDbG+xLtMVE5mDRTe+nIsX4= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9 h1:fU3FNfL/oBU2D5DvGqiuyVqqn40DdxvaTFHq7aivA3k= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +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.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= @@ -345,6 +441,8 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= @@ -353,5 +451,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.2.2 h1:MNh1AVMyVX23VUHE2O27jm6lNj3vjO5DexS4A1xvnzk= +honnef.co/go/tools v0.2.2/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/internal/pkg/apiutil/attribute.go b/internal/pkg/apiutil/attribute.go index 28c43cd8..3d9327ba 100644 --- a/internal/pkg/apiutil/attribute.go +++ b/internal/pkg/apiutil/attribute.go @@ -20,20 +20,20 @@ import ( "fmt" "net" - "github.com/golang/protobuf/proto" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bgp" log "github.com/sirupsen/logrus" + "google.golang.org/protobuf/proto" + apb "google.golang.org/protobuf/types/known/anypb" + + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) -func UnmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { +func UnmarshalAttribute(an *apb.Any) (bgp.PathAttributeInterface, error) { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal route distinguisher: %s", err) } - switch a := value.Message.(type) { + switch a := value.(type) { case *api.OriginAttribute: return bgp.NewPathAttributeOrigin(uint8(a.Origin)), nil case *api.AsPathAttribute: @@ -158,8 +158,8 @@ func NewPrefixSIDAttributeFromNative(a *bgp.PathAttributePrefixSID) *api.PrefixS return psid } -func MarshalSRv6TLVs(tlvs []bgp.PrefixSIDTLVInterface) []*any.Any { - mtlvs := make([]*any.Any, len(tlvs)) +func MarshalSRv6TLVs(tlvs []bgp.PrefixSIDTLVInterface) []*apb.Any { + mtlvs := make([]*apb.Any, len(tlvs)) for i, tlv := range tlvs { var r proto.Message switch t := tlv.(type) { @@ -174,7 +174,7 @@ func MarshalSRv6TLVs(tlvs []bgp.PrefixSIDTLVInterface) []*any.Any { }).Warn("invalid prefix sid tlv type to marshal") return nil } - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) mtlvs[i] = a } @@ -206,11 +206,11 @@ func MarshalSRv6SubTLVs(tlvs []bgp.PrefixSIDTLVInterface) map[uint32]*api.SRv6TL }).Warn("invalid prefix sid sub tlv type to marshal") return nil } - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) tlvs, ok := mtlvs[key] if !ok { tlvs = &api.SRv6TLV{ - Tlv: make([]*any.Any, 0), + Tlv: make([]*apb.Any, 0), } mtlvs[key] = tlvs } @@ -245,11 +245,11 @@ func MarshalSRv6SubSubTLVs(tlvs []bgp.PrefixSIDTLVInterface) map[uint32]*api.SRv }).Warn("invalid prefix sid sub sub tlv type to marshal") return nil } - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) tlvs, ok := mtlvs[key] if !ok { tlvs = &api.SRv6TLV{ - Tlv: make([]*any.Any, 0), + Tlv: make([]*apb.Any, 0), } mtlvs[key] = tlvs } @@ -259,7 +259,7 @@ func MarshalSRv6SubSubTLVs(tlvs []bgp.PrefixSIDTLVInterface) map[uint32]*api.SRv return mtlvs } -func MarshalRD(rd bgp.RouteDistinguisherInterface) *any.Any { +func MarshalRD(rd bgp.RouteDistinguisherInterface) *apb.Any { var r proto.Message switch v := rd.(type) { case *bgp.RouteDistinguisherTwoOctetAS: @@ -284,16 +284,16 @@ func MarshalRD(rd bgp.RouteDistinguisherInterface) *any.Any { }).Warn("invalid rd type to marshal") return nil } - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) return a } -func UnmarshalRD(a *any.Any) (bgp.RouteDistinguisherInterface, error) { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(a, &value); err != nil { +func UnmarshalRD(a *apb.Any) (bgp.RouteDistinguisherInterface, error) { + value, err := a.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal route distinguisher: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.RouteDistinguisherTwoOctetAS: return bgp.NewRouteDistinguisherTwoOctetAS(uint16(v.Admin), v.Assigned), nil case *api.RouteDistinguisherIPAddress: @@ -322,8 +322,8 @@ func unmarshalESI(a *api.EthernetSegmentIdentifier) (*bgp.EthernetSegmentIdentif }, nil } -func MarshalFlowSpecRules(values []bgp.FlowSpecComponentInterface) []*any.Any { - rules := make([]*any.Any, 0, len(values)) +func MarshalFlowSpecRules(values []bgp.FlowSpecComponentInterface) []*apb.Any { + rules := make([]*apb.Any, 0, len(values)) for _, value := range values { var rule proto.Message switch v := value.(type) { @@ -376,21 +376,21 @@ func MarshalFlowSpecRules(values []bgp.FlowSpecComponentInterface) []*any.Any { Items: items, } } - a, _ := ptypes.MarshalAny(rule) + a, _ := apb.New(rule) rules = append(rules, a) } return rules } -func UnmarshalFlowSpecRules(values []*any.Any) ([]bgp.FlowSpecComponentInterface, error) { +func UnmarshalFlowSpecRules(values []*apb.Any) ([]bgp.FlowSpecComponentInterface, error) { rules := make([]bgp.FlowSpecComponentInterface, 0, len(values)) for _, an := range values { var rule bgp.FlowSpecComponentInterface - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal flow spec component: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.FlowSpecIPPrefix: typ := bgp.BGPFlowSpecType(v.Type) isIPv4 := net.ParseIP(v.Prefix).To4() != nil @@ -424,7 +424,7 @@ func UnmarshalFlowSpecRules(values []*any.Any) ([]bgp.FlowSpecComponentInterface rule = bgp.NewFlowSpecComponent(bgp.BGPFlowSpecType(v.Type), items) } if rule == nil { - return nil, fmt.Errorf("invalid flow spec component: %v", value.Message) + return nil, fmt.Errorf("invalid flow spec component: %v", value) } rules = append(rules, rule) } @@ -464,16 +464,16 @@ func MarshalLsPrefixDescriptor(d *bgp.LsPrefixDescriptor) *api.LsPrefixDescripto return p } -func MarshalLsNodeNLRI(n *bgp.LsNodeNLRI) *any.Any { +func MarshalLsNodeNLRI(n *bgp.LsNodeNLRI) *apb.Any { node := &api.LsNodeNLRI{ LocalNode: MarshalLsNodeDescriptor(n.LocalNodeDesc.(*bgp.LsTLVNodeDescriptor).Extract()), } - a, _ := ptypes.MarshalAny(node) + a, _ := apb.New(node) return a } -func MarshalLsLinkNLRI(n *bgp.LsLinkNLRI) *any.Any { +func MarshalLsLinkNLRI(n *bgp.LsLinkNLRI) *apb.Any { desc := &bgp.LsLinkDescriptor{} desc.ParseTLVs(n.LinkDesc) @@ -482,12 +482,12 @@ func MarshalLsLinkNLRI(n *bgp.LsLinkNLRI) *any.Any { RemoteNode: MarshalLsNodeDescriptor(n.RemoteNodeDesc.(*bgp.LsTLVNodeDescriptor).Extract()), LinkDescriptor: MarshalLsLinkDescriptor(desc), } - a, _ := ptypes.MarshalAny(link) + a, _ := apb.New(link) return a } -func MarshalLsPrefixV4NLRI(n *bgp.LsPrefixV4NLRI) *any.Any { +func MarshalLsPrefixV4NLRI(n *bgp.LsPrefixV4NLRI) *apb.Any { desc := &bgp.LsPrefixDescriptor{} desc.ParseTLVs(n.PrefixDesc, false) @@ -495,12 +495,12 @@ func MarshalLsPrefixV4NLRI(n *bgp.LsPrefixV4NLRI) *any.Any { LocalNode: MarshalLsNodeDescriptor(n.LocalNodeDesc.(*bgp.LsTLVNodeDescriptor).Extract()), PrefixDescriptor: MarshalLsPrefixDescriptor(desc), } - a, _ := ptypes.MarshalAny(prefix) + a, _ := apb.New(prefix) return a } -func MarshalLsPrefixV6NLRI(n *bgp.LsPrefixV6NLRI) *any.Any { +func MarshalLsPrefixV6NLRI(n *bgp.LsPrefixV6NLRI) *apb.Any { desc := &bgp.LsPrefixDescriptor{} desc.ParseTLVs(n.PrefixDesc, true) @@ -508,12 +508,12 @@ func MarshalLsPrefixV6NLRI(n *bgp.LsPrefixV6NLRI) *any.Any { LocalNode: MarshalLsNodeDescriptor(n.LocalNodeDesc.(*bgp.LsTLVNodeDescriptor).Extract()), PrefixDescriptor: MarshalLsPrefixDescriptor(desc), } - a, _ := ptypes.MarshalAny(prefix) + a, _ := apb.New(prefix) return a } -func MarshalNLRI(value bgp.AddrPrefixInterface) *any.Any { +func MarshalNLRI(value bgp.AddrPrefixInterface) *apb.Any { var nlri proto.Message switch v := value.(type) { @@ -684,27 +684,27 @@ func MarshalNLRI(value bgp.AddrPrefixInterface) *any.Any { } } - an, _ := ptypes.MarshalAny(nlri) + an, _ := apb.New(nlri) return an } -func MarshalNLRIs(values []bgp.AddrPrefixInterface) []*any.Any { - nlris := make([]*any.Any, 0, len(values)) +func MarshalNLRIs(values []bgp.AddrPrefixInterface) []*apb.Any { + nlris := make([]*apb.Any, 0, len(values)) for _, value := range values { nlris = append(nlris, MarshalNLRI(value)) } return nlris } -func UnmarshalNLRI(rf bgp.RouteFamily, an *any.Any) (bgp.AddrPrefixInterface, error) { +func UnmarshalNLRI(rf bgp.RouteFamily, an *apb.Any) (bgp.AddrPrefixInterface, error) { var nlri bgp.AddrPrefixInterface - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal nlri: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.IPAddressPrefix: switch rf { case bgp.RF_IPv4_UC: @@ -837,13 +837,13 @@ func UnmarshalNLRI(rf bgp.RouteFamily, an *any.Any) (bgp.AddrPrefixInterface, er } if nlri == nil { - return nil, fmt.Errorf("invalid nlri for %s family: %s", rf.String(), value.Message) + return nil, fmt.Errorf("invalid nlri for %s family: %s", rf.String(), value) } return nlri, nil } -func UnmarshalNLRIs(rf bgp.RouteFamily, values []*any.Any) ([]bgp.AddrPrefixInterface, error) { +func UnmarshalNLRIs(rf bgp.RouteFamily, values []*apb.Any) ([]bgp.AddrPrefixInterface, error) { nlris := make([]bgp.AddrPrefixInterface, 0, len(values)) for _, an := range values { nlri, err := UnmarshalNLRI(rf, an) @@ -879,7 +879,7 @@ func NewMpUnreachNLRIAttributeFromNative(a *bgp.PathAttributeMpUnreachNLRI) *api } } -func MarshalRT(rt bgp.ExtendedCommunityInterface) *any.Any { +func MarshalRT(rt bgp.ExtendedCommunityInterface) *apb.Any { var r proto.Message switch v := rt.(type) { case *bgp.TwoOctetAsSpecificExtended: @@ -910,24 +910,24 @@ func MarshalRT(rt bgp.ExtendedCommunityInterface) *any.Any { }).Warn("invalid rt type to marshal") return nil } - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) return a } -func MarshalRTs(values []bgp.ExtendedCommunityInterface) []*any.Any { - rts := make([]*any.Any, 0, len(values)) +func MarshalRTs(values []bgp.ExtendedCommunityInterface) []*apb.Any { + rts := make([]*apb.Any, 0, len(values)) for _, rt := range values { rts = append(rts, MarshalRT(rt)) } return rts } -func UnmarshalRT(a *any.Any) (bgp.ExtendedCommunityInterface, error) { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(a, &value); err != nil { +func UnmarshalRT(a *apb.Any) (bgp.ExtendedCommunityInterface, error) { + value, err := a.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal route target: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.TwoOctetAsSpecificExtended: return bgp.NewTwoOctetAsSpecificExtended(bgp.ExtendedCommunityAttrSubType(v.SubType), uint16(v.As), v.LocalAdmin, v.IsTransitive), nil case *api.IPv4AddressSpecificExtended: @@ -942,7 +942,7 @@ func UnmarshalRT(a *any.Any) (bgp.ExtendedCommunityInterface, error) { return nil, fmt.Errorf("invalid route target type: %s", a.TypeUrl) } -func UnmarshalRTs(values []*any.Any) ([]bgp.ExtendedCommunityInterface, error) { +func UnmarshalRTs(values []*apb.Any) ([]bgp.ExtendedCommunityInterface, error) { rts := make([]bgp.ExtendedCommunityInterface, 0, len(values)) for _, an := range values { rt, err := UnmarshalRT(an) @@ -955,7 +955,7 @@ func UnmarshalRTs(values []*any.Any) ([]bgp.ExtendedCommunityInterface, error) { } func NewExtendedCommunitiesAttributeFromNative(a *bgp.PathAttributeExtendedCommunities) *api.ExtendedCommunitiesAttribute { - communities := make([]*any.Any, 0, len(a.Value)) + communities := make([]*apb.Any, 0, len(a.Value)) for _, value := range a.Value { var community proto.Message switch v := value.(type) { @@ -1063,7 +1063,7 @@ func NewExtendedCommunitiesAttributeFromNative(a *bgp.PathAttributeExtendedCommu }).Warn("unsupported extended community") return nil } - an, _ := ptypes.MarshalAny(community) + an, _ := apb.New(community) communities = append(communities, an) } return &api.ExtendedCommunitiesAttribute{ @@ -1075,11 +1075,11 @@ func unmarshalExComm(a *api.ExtendedCommunitiesAttribute) (*bgp.PathAttributeExt communities := make([]bgp.ExtendedCommunityInterface, 0, len(a.Communities)) for _, an := range a.Communities { var community bgp.ExtendedCommunityInterface - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal extended community: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.TwoOctetAsSpecificExtended: community = bgp.NewTwoOctetAsSpecificExtended(bgp.ExtendedCommunityAttrSubType(v.SubType), uint16(v.As), v.LocalAdmin, v.IsTransitive) case *api.IPv4AddressSpecificExtended: @@ -1122,7 +1122,7 @@ func unmarshalExComm(a *api.ExtendedCommunitiesAttribute) (*bgp.PathAttributeExt community = bgp.NewUnknownExtended(bgp.ExtendedCommunityAttrType(v.Type), v.Value) } if community == nil { - return nil, fmt.Errorf("invalid extended community: %v", value.Message) + return nil, fmt.Errorf("invalid extended community: %v", value) } communities = append(communities, community) } @@ -1166,7 +1166,7 @@ func NewPmsiTunnelAttributeFromNative(a *bgp.PathAttributePmsiTunnel) *api.PmsiT func NewTunnelEncapAttributeFromNative(a *bgp.PathAttributeTunnelEncap) *api.TunnelEncapAttribute { tlvs := make([]*api.TunnelEncapTLV, 0, len(a.Value)) for _, v := range a.Value { - subTlvs := make([]*any.Any, 0, len(v.Value)) + subTlvs := make([]*apb.Any, 0, len(v.Value)) for _, s := range v.Value { var subTlv proto.Message switch sv := s.(type) { @@ -1227,7 +1227,7 @@ func NewTunnelEncapAttributeFromNative(a *bgp.PathAttributeTunnelEncap) *api.Tun Segments: MarshalSRSegments(sv.Segments), } } - an, _ := ptypes.MarshalAny(subTlv) + an, _ := apb.New(subTlv) subTlvs = append(subTlvs, an) } tlvs = append(tlvs, &api.TunnelEncapTLV{ @@ -1241,7 +1241,7 @@ func NewTunnelEncapAttributeFromNative(a *bgp.PathAttributeTunnelEncap) *api.Tun } func NewIP6ExtendedCommunitiesAttributeFromNative(a *bgp.PathAttributeIP6ExtendedCommunities) *api.IP6ExtendedCommunitiesAttribute { - communities := make([]*any.Any, 0, len(a.Value)) + communities := make([]*apb.Any, 0, len(a.Value)) for _, value := range a.Value { var community proto.Message switch v := value.(type) { @@ -1264,7 +1264,7 @@ func NewIP6ExtendedCommunitiesAttributeFromNative(a *bgp.PathAttributeIP6Extende }).Warn("invalid ipv6 extended community") return nil } - an, _ := ptypes.MarshalAny(community) + an, _ := apb.New(community) communities = append(communities, an) } return &api.IP6ExtendedCommunitiesAttribute{ @@ -1273,7 +1273,7 @@ func NewIP6ExtendedCommunitiesAttributeFromNative(a *bgp.PathAttributeIP6Extende } func NewAigpAttributeFromNative(a *bgp.PathAttributeAigp) *api.AigpAttribute { - tlvs := make([]*any.Any, 0, len(a.Values)) + tlvs := make([]*apb.Any, 0, len(a.Values)) for _, value := range a.Values { var tlv proto.Message switch v := value.(type) { @@ -1287,7 +1287,7 @@ func NewAigpAttributeFromNative(a *bgp.PathAttributeAigp) *api.AigpAttribute { Value: v.Value, } } - an, _ := ptypes.MarshalAny(tlv) + an, _ := apb.New(tlv) tlvs = append(tlvs, an) } return &api.AigpAttribute{ @@ -1444,85 +1444,85 @@ func NewUnknownAttributeFromNative(a *bgp.PathAttributeUnknown) *api.UnknownAttr } } -func MarshalPathAttributes(attrList []bgp.PathAttributeInterface) []*any.Any { - anyList := make([]*any.Any, 0, len(attrList)) +func MarshalPathAttributes(attrList []bgp.PathAttributeInterface) []*apb.Any { + anyList := make([]*apb.Any, 0, len(attrList)) for _, attr := range attrList { switch a := attr.(type) { case *bgp.PathAttributeOrigin: - n, _ := ptypes.MarshalAny(NewOriginAttributeFromNative(a)) + n, _ := apb.New(NewOriginAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeAsPath: - n, _ := ptypes.MarshalAny(NewAsPathAttributeFromNative(a)) + n, _ := apb.New(NewAsPathAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeNextHop: - n, _ := ptypes.MarshalAny(NewNextHopAttributeFromNative(a)) + n, _ := apb.New(NewNextHopAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeMultiExitDisc: - n, _ := ptypes.MarshalAny(NewMultiExitDiscAttributeFromNative(a)) + n, _ := apb.New(NewMultiExitDiscAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeLocalPref: - n, _ := ptypes.MarshalAny(NewLocalPrefAttributeFromNative(a)) + n, _ := apb.New(NewLocalPrefAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeAtomicAggregate: - n, _ := ptypes.MarshalAny(NewAtomicAggregateAttributeFromNative(a)) + n, _ := apb.New(NewAtomicAggregateAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeAggregator: - n, _ := ptypes.MarshalAny(NewAggregatorAttributeFromNative(a)) + n, _ := apb.New(NewAggregatorAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeCommunities: - n, _ := ptypes.MarshalAny(NewCommunitiesAttributeFromNative(a)) + n, _ := apb.New(NewCommunitiesAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeOriginatorId: - n, _ := ptypes.MarshalAny(NewOriginatorIdAttributeFromNative(a)) + n, _ := apb.New(NewOriginatorIdAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeClusterList: - n, _ := ptypes.MarshalAny(NewClusterListAttributeFromNative(a)) + n, _ := apb.New(NewClusterListAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeMpReachNLRI: - n, _ := ptypes.MarshalAny(NewMpReachNLRIAttributeFromNative(a)) + n, _ := apb.New(NewMpReachNLRIAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeMpUnreachNLRI: - n, _ := ptypes.MarshalAny(NewMpUnreachNLRIAttributeFromNative(a)) + n, _ := apb.New(NewMpUnreachNLRIAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeExtendedCommunities: - n, _ := ptypes.MarshalAny(NewExtendedCommunitiesAttributeFromNative(a)) + n, _ := apb.New(NewExtendedCommunitiesAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeAs4Path: - n, _ := ptypes.MarshalAny(NewAs4PathAttributeFromNative(a)) + n, _ := apb.New(NewAs4PathAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeAs4Aggregator: - n, _ := ptypes.MarshalAny(NewAs4AggregatorAttributeFromNative(a)) + n, _ := apb.New(NewAs4AggregatorAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributePmsiTunnel: - n, _ := ptypes.MarshalAny(NewPmsiTunnelAttributeFromNative(a)) + n, _ := apb.New(NewPmsiTunnelAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeTunnelEncap: - n, _ := ptypes.MarshalAny(NewTunnelEncapAttributeFromNative(a)) + n, _ := apb.New(NewTunnelEncapAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeIP6ExtendedCommunities: - n, _ := ptypes.MarshalAny(NewIP6ExtendedCommunitiesAttributeFromNative(a)) + n, _ := apb.New(NewIP6ExtendedCommunitiesAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeAigp: - n, _ := ptypes.MarshalAny(NewAigpAttributeFromNative(a)) + n, _ := apb.New(NewAigpAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeLargeCommunities: - n, _ := ptypes.MarshalAny(NewLargeCommunitiesAttributeFromNative(a)) + n, _ := apb.New(NewLargeCommunitiesAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeLs: - n, _ := ptypes.MarshalAny(NewLsAttributeFromNative(a)) + n, _ := apb.New(NewLsAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributePrefixSID: - n, _ := ptypes.MarshalAny(NewPrefixSIDAttributeFromNative(a)) + n, _ := apb.New(NewPrefixSIDAttributeFromNative(a)) anyList = append(anyList, n) case *bgp.PathAttributeUnknown: - n, _ := ptypes.MarshalAny(NewUnknownAttributeFromNative(a)) + n, _ := apb.New(NewUnknownAttributeFromNative(a)) anyList = append(anyList, n) } } return anyList } -func UnmarshalPathAttributes(values []*any.Any) ([]bgp.PathAttributeInterface, error) { +func UnmarshalPathAttributes(values []*apb.Any) ([]bgp.PathAttributeInterface, error) { attrList := make([]bgp.PathAttributeInterface, 0, len(values)) typeMap := make(map[bgp.BGPAttrType]struct{}) for _, an := range values { @@ -1539,12 +1539,12 @@ func UnmarshalPathAttributes(values []*any.Any) ([]bgp.PathAttributeInterface, e return attrList, nil } -func unmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { +func unmarshalAttribute(an *apb.Any) (bgp.PathAttributeInterface, error) { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal route distinguisher: %s", err) } - switch a := value.Message.(type) { + switch a := value.(type) { case *api.OriginAttribute: return bgp.NewPathAttributeOrigin(uint8(a.Origin)), nil case *api.AsPathAttribute: @@ -1662,11 +1662,11 @@ func unmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { subTlvs := make([]bgp.TunnelEncapSubTLVInterface, 0, len(tlv.Tlvs)) for _, an := range tlv.Tlvs { var subTlv bgp.TunnelEncapSubTLVInterface - var subValue ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &subValue); err != nil { + subValue, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal tunnel encapsulation attribute sub tlv: %s", err) } - switch sv := subValue.Message.(type) { + switch sv := subValue.(type) { case *api.TunnelEncapSubTLVEncapsulation: subTlv = bgp.NewTunnelEncapSubTLVEncapsulation(sv.Key, sv.Cookie) case *api.TunnelEncapSubTLVProtocol: @@ -1728,7 +1728,7 @@ func unmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { case *api.TunnelEncapSubTLVUnknown: subTlv = bgp.NewTunnelEncapSubTLVUnknown(bgp.EncapSubTLVType(sv.Type), sv.Value) default: - return nil, fmt.Errorf("invalid tunnel encapsulation attribute sub tlv: %v type: %T", subValue.Message, sv) + return nil, fmt.Errorf("invalid tunnel encapsulation attribute sub tlv: %v type: %T", subValue, sv) } subTlvs = append(subTlvs, subTlv) } @@ -1739,18 +1739,18 @@ func unmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { communities := make([]bgp.ExtendedCommunityInterface, 0, len(a.Communities)) for _, an := range a.Communities { var community bgp.ExtendedCommunityInterface - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal ipv6 extended community: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.IPv6AddressSpecificExtended: community = bgp.NewIPv6AddressSpecificExtended(bgp.ExtendedCommunityAttrSubType(v.SubType), v.Address, uint16(v.LocalAdmin), v.IsTransitive) case *api.RedirectIPv6AddressSpecificExtended: community = bgp.NewRedirectIPv6AddressSpecificExtended(v.Address, uint16(v.LocalAdmin)) } if community == nil { - return nil, fmt.Errorf("invalid ipv6 extended community: %v", value.Message) + return nil, fmt.Errorf("invalid ipv6 extended community: %v", value) } communities = append(communities, community) } @@ -1760,18 +1760,18 @@ func unmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { tlvs := make([]bgp.AigpTLVInterface, 0, len(a.Tlvs)) for _, an := range a.Tlvs { var tlv bgp.AigpTLVInterface - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(an, &value); err != nil { + value, err := an.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal aigp attribute tlv: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.AigpTLVIGPMetric: tlv = bgp.NewAigpTLVIgpMetric(v.Metric) case *api.AigpTLVUnknown: tlv = bgp.NewAigpTLVDefault(bgp.AigpTLVType(v.Type), v.Value) } if tlv == nil { - return nil, fmt.Errorf("invalid aigp attribute tlv: %v", value.Message) + return nil, fmt.Errorf("invalid aigp attribute tlv: %v", value) } tlvs = append(tlvs, tlv) } @@ -1792,7 +1792,7 @@ func unmarshalAttribute(an *any.Any) (bgp.PathAttributeInterface, error) { } // MarshalSRBSID marshals SR Policy Binding SID Sub TLV structure -func MarshalSRBSID(bsid *bgp.TunnelEncapSubTLVSRBSID) *any.Any { +func MarshalSRBSID(bsid *bgp.TunnelEncapSubTLVSRBSID) *apb.Any { var r proto.Message s := &api.SRBindingSID{ Sid: make([]byte, len(bsid.BSID.Value)), @@ -1801,17 +1801,17 @@ func MarshalSRBSID(bsid *bgp.TunnelEncapSubTLVSRBSID) *any.Any { s.SFlag = bsid.Flags&0x80 == 0x80 s.IFlag = bsid.Flags&0x40 == 0x40 r = s - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) return a } // UnmarshalSRBSID unmarshals SR Policy Binding SID Sub TLV and returns native TunnelEncapSubTLVInterface interface -func UnmarshalSRBSID(bsid *any.Any) (bgp.TunnelEncapSubTLVInterface, error) { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(bsid, &value); err != nil { +func UnmarshalSRBSID(bsid *apb.Any) (bgp.TunnelEncapSubTLVInterface, error) { + value, err := bsid.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal tunnel encap sub tlv: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.SRBindingSID: b, err := bgp.NewBSID(v.Sid) if err != nil { @@ -1863,8 +1863,8 @@ func UnmarshalSRBSID(bsid *any.Any) (bgp.TunnelEncapSubTLVInterface, error) { } // MarshalSRSegments marshals a slice of SR Policy Segment List -func MarshalSRSegments(segs []bgp.TunnelEncapSubTLVInterface) []*any.Any { - anyList := make([]*any.Any, 0, len(segs)) +func MarshalSRSegments(segs []bgp.TunnelEncapSubTLVInterface) []*apb.Any { + anyList := make([]*apb.Any, 0, len(segs)) for _, seg := range segs { var r proto.Message switch s := seg.(type) { @@ -1903,24 +1903,24 @@ func MarshalSRSegments(segs []bgp.TunnelEncapSubTLVInterface) []*any.Any { // Unrecognize Segment type, skip it continue } - a, _ := ptypes.MarshalAny(r) + a, _ := apb.New(r) anyList = append(anyList, a) } return anyList } // UnmarshalSRSegments unmarshals SR Policy Segments slice of structs -func UnmarshalSRSegments(s []*any.Any) ([]bgp.TunnelEncapSubTLVInterface, error) { +func UnmarshalSRSegments(s []*apb.Any) ([]bgp.TunnelEncapSubTLVInterface, error) { if len(s) == 0 { return nil, nil } segments := make([]bgp.TunnelEncapSubTLVInterface, len(s)) for i := 0; i < len(s); i++ { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(s[i], &value); err != nil { + value, err := s[i].UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal SR Policy Segment: %s", err) } - switch v := value.Message.(type) { + switch v := value.(type) { case *api.SegmentTypeA: seg := &bgp.SegmentTypeA{ TunnelEncapSubTLV: bgp.TunnelEncapSubTLV{ diff --git a/internal/pkg/apiutil/attribute_test.go b/internal/pkg/apiutil/attribute_test.go index 137b4f3a..67e99327 100644 --- a/internal/pkg/apiutil/attribute_test.go +++ b/internal/pkg/apiutil/attribute_test.go @@ -20,11 +20,11 @@ import ( "net" "testing" - "github.com/golang/protobuf/proto" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bgp" + "google.golang.org/protobuf/proto" + apb "google.golang.org/protobuf/types/known/anypb" + + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) @@ -34,7 +34,7 @@ func Test_OriginAttribute(t *testing.T) { input := &api.OriginAttribute{ Origin: 0, // IGP } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -59,7 +59,7 @@ func Test_AsPathAttribute(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -78,7 +78,7 @@ func Test_NextHopAttribute(t *testing.T) { NextHop: "192.168.0.1", } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -94,7 +94,7 @@ func Test_MultiExitDiscAttribute(t *testing.T) { Med: 100, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -110,7 +110,7 @@ func Test_LocalPrefAttribute(t *testing.T) { LocalPref: 100, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -124,7 +124,7 @@ func Test_AtomicAggregateAttribute(t *testing.T) { input := &api.AtomicAggregateAttribute{} - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -142,7 +142,7 @@ func Test_AggregatorAttribute(t *testing.T) { Address: "1.1.1.1", } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -159,7 +159,7 @@ func Test_CommunitiesAttribute(t *testing.T) { Communities: []uint32{100, 200}, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -175,7 +175,7 @@ func Test_OriginatorIdAttribute(t *testing.T) { Id: "1.1.1.1", } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -191,7 +191,7 @@ func Test_ClusterListAttribute(t *testing.T) { Ids: []string{"1.1.1.1", "2.2.2.2"}, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -203,14 +203,14 @@ func Test_ClusterListAttribute(t *testing.T) { func Test_MpReachNLRIAttribute_IPv4_UC(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.IPAddressPrefix{ PrefixLen: 24, Prefix: "192.168.101.0", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.IPAddressPrefix{ + a, err = apb.New(&api.IPAddressPrefix{ PrefixLen: 24, Prefix: "192.168.201.0", }) @@ -226,7 +226,7 @@ func Test_MpReachNLRIAttribute_IPv4_UC(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -246,14 +246,14 @@ func Test_MpReachNLRIAttribute_IPv4_UC(t *testing.T) { func Test_MpReachNLRIAttribute_IPv6_UC(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.IPAddressPrefix{ PrefixLen: 64, Prefix: "2001:db8:1::", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.IPAddressPrefix{ + a, err = apb.New(&api.IPAddressPrefix{ PrefixLen: 64, Prefix: "2001:db8:2::", }) @@ -269,7 +269,7 @@ func Test_MpReachNLRIAttribute_IPv6_UC(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -289,15 +289,15 @@ func Test_MpReachNLRIAttribute_IPv6_UC(t *testing.T) { func Test_MpReachNLRIAttribute_IPv4_MPLS(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.LabeledIPAddressPrefix{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.LabeledIPAddressPrefix{ Labels: []uint32{100}, PrefixLen: 24, Prefix: "192.168.101.0", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.LabeledIPAddressPrefix{ + a, err = apb.New(&api.LabeledIPAddressPrefix{ Labels: []uint32{200}, PrefixLen: 24, Prefix: "192.168.201.0", @@ -314,7 +314,7 @@ func Test_MpReachNLRIAttribute_IPv4_MPLS(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -334,15 +334,15 @@ func Test_MpReachNLRIAttribute_IPv4_MPLS(t *testing.T) { func Test_MpReachNLRIAttribute_IPv6_MPLS(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.LabeledIPAddressPrefix{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.LabeledIPAddressPrefix{ Labels: []uint32{100}, PrefixLen: 64, Prefix: "2001:db8:1::", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.LabeledIPAddressPrefix{ + a, err = apb.New(&api.LabeledIPAddressPrefix{ Labels: []uint32{200}, PrefixLen: 64, Prefix: "2001:db8:2::", @@ -359,7 +359,7 @@ func Test_MpReachNLRIAttribute_IPv6_MPLS(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -379,13 +379,13 @@ func Test_MpReachNLRIAttribute_IPv6_MPLS(t *testing.T) { func Test_MpReachNLRIAttribute_IPv4_ENCAP(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.EncapsulationNLRI{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.EncapsulationNLRI{ Address: "192.168.101.1", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.EncapsulationNLRI{ + a, err = apb.New(&api.EncapsulationNLRI{ Address: "192.168.201.1", }) assert.Nil(err) @@ -400,7 +400,7 @@ func Test_MpReachNLRIAttribute_IPv4_ENCAP(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -420,13 +420,13 @@ func Test_MpReachNLRIAttribute_IPv4_ENCAP(t *testing.T) { func Test_MpReachNLRIAttribute_IPv6_ENCAP(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.EncapsulationNLRI{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.EncapsulationNLRI{ Address: "2001:db8:1::1", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.EncapsulationNLRI{ + a, err = apb.New(&api.EncapsulationNLRI{ Address: "2001:db8:2::1", }) assert.Nil(err) @@ -441,7 +441,7 @@ func Test_MpReachNLRIAttribute_IPv6_ENCAP(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -461,8 +461,8 @@ func Test_MpReachNLRIAttribute_IPv6_ENCAP(t *testing.T) { func Test_MpReachNLRIAttribute_EVPN_AD_Route(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherTwoOctetAS{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherTwoOctetAS{ Admin: 65000, Assigned: 100, }) @@ -471,7 +471,7 @@ func Test_MpReachNLRIAttribute_EVPN_AD_Route(t *testing.T) { Type: 0, Value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9}, } - a, err := ptypes.MarshalAny(&api.EVPNEthernetAutoDiscoveryRoute{ + a, err := apb.New(&api.EVPNEthernetAutoDiscoveryRoute{ Rd: rd, Esi: esi, EthernetTag: 100, @@ -489,7 +489,7 @@ func Test_MpReachNLRIAttribute_EVPN_AD_Route(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -509,8 +509,8 @@ func Test_MpReachNLRIAttribute_EVPN_AD_Route(t *testing.T) { func Test_MpReachNLRIAttribute_EVPN_MAC_IP_Route(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) @@ -519,7 +519,7 @@ func Test_MpReachNLRIAttribute_EVPN_MAC_IP_Route(t *testing.T) { Type: 0, Value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9}, } - a, err := ptypes.MarshalAny(&api.EVPNMACIPAdvertisementRoute{ + a, err := apb.New(&api.EVPNMACIPAdvertisementRoute{ Rd: rd, Esi: esi, EthernetTag: 100, @@ -539,7 +539,7 @@ func Test_MpReachNLRIAttribute_EVPN_MAC_IP_Route(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -559,13 +559,13 @@ func Test_MpReachNLRIAttribute_EVPN_MAC_IP_Route(t *testing.T) { func Test_MpReachNLRIAttribute_EVPN_MC_Route(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherFourOctetAS{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherFourOctetAS{ Admin: 65000, Assigned: 100, }) assert.Nil(err) - a, err := ptypes.MarshalAny(&api.EVPNInclusiveMulticastEthernetTagRoute{ + a, err := apb.New(&api.EVPNInclusiveMulticastEthernetTagRoute{ Rd: rd, EthernetTag: 100, IpAddress: "192.168.101.1", @@ -582,7 +582,7 @@ func Test_MpReachNLRIAttribute_EVPN_MC_Route(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -602,8 +602,8 @@ func Test_MpReachNLRIAttribute_EVPN_MC_Route(t *testing.T) { func Test_MpReachNLRIAttribute_EVPN_ES_Route(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) @@ -612,7 +612,7 @@ func Test_MpReachNLRIAttribute_EVPN_ES_Route(t *testing.T) { Type: 0, Value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9}, } - a, err := ptypes.MarshalAny(&api.EVPNEthernetSegmentRoute{ + a, err := apb.New(&api.EVPNEthernetSegmentRoute{ Rd: rd, Esi: esi, IpAddress: "192.168.101.1", @@ -629,7 +629,7 @@ func Test_MpReachNLRIAttribute_EVPN_ES_Route(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -649,8 +649,8 @@ func Test_MpReachNLRIAttribute_EVPN_ES_Route(t *testing.T) { func Test_MpReachNLRIAttribute_EVPN_Prefix_Route(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) @@ -659,7 +659,7 @@ func Test_MpReachNLRIAttribute_EVPN_Prefix_Route(t *testing.T) { Type: 0, Value: []byte{1, 2, 3, 4, 5, 6, 7, 8, 9}, } - a, err := ptypes.MarshalAny(&api.EVPNIPPrefixRoute{ + a, err := apb.New(&api.EVPNIPPrefixRoute{ Rd: rd, Esi: esi, EthernetTag: 100, @@ -680,7 +680,7 @@ func Test_MpReachNLRIAttribute_EVPN_Prefix_Route(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -700,13 +700,13 @@ func Test_MpReachNLRIAttribute_EVPN_Prefix_Route(t *testing.T) { func Test_MpReachNLRIAttribute_IPv4_VPN(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) assert.Nil(err) - a, err := ptypes.MarshalAny(&api.LabeledVPNIPAddressPrefix{ + a, err := apb.New(&api.LabeledVPNIPAddressPrefix{ Labels: []uint32{100, 200}, Rd: rd, PrefixLen: 24, @@ -724,7 +724,7 @@ func Test_MpReachNLRIAttribute_IPv4_VPN(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -744,13 +744,13 @@ func Test_MpReachNLRIAttribute_IPv4_VPN(t *testing.T) { func Test_MpReachNLRIAttribute_IPv6_VPN(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + nlris := make([]*apb.Any, 0, 1) + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) assert.Nil(err) - a, err := ptypes.MarshalAny(&api.LabeledVPNIPAddressPrefix{ + a, err := apb.New(&api.LabeledVPNIPAddressPrefix{ Labels: []uint32{100, 200}, Rd: rd, PrefixLen: 64, @@ -768,7 +768,7 @@ func Test_MpReachNLRIAttribute_IPv6_VPN(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -788,15 +788,15 @@ func Test_MpReachNLRIAttribute_IPv6_VPN(t *testing.T) { func Test_MpReachNLRIAttribute_RTC_UC(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 1) - rt, err := ptypes.MarshalAny(&api.IPv4AddressSpecificExtended{ + nlris := make([]*apb.Any, 0, 1) + rt, err := apb.New(&api.IPv4AddressSpecificExtended{ IsTransitive: true, SubType: 0x02, // Route Target Address: "1.1.1.1", LocalAdmin: 100, }) assert.Nil(err) - a, err := ptypes.MarshalAny(&api.RouteTargetMembershipNLRI{ + a, err := apb.New(&api.RouteTargetMembershipNLRI{ As: 65000, Rt: rt, }) @@ -812,7 +812,7 @@ func Test_MpReachNLRIAttribute_RTC_UC(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -832,22 +832,22 @@ func Test_MpReachNLRIAttribute_RTC_UC(t *testing.T) { func Test_MpReachNLRIAttribute_FS_IPv4_UC(t *testing.T) { assert := assert.New(t) - rules := make([]*any.Any, 0, 3) - rule, err := ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rules := make([]*apb.Any, 0, 3) + rule, err := apb.New(&api.FlowSpecIPPrefix{ Type: 1, // Destination Prefix PrefixLen: 24, Prefix: "192.168.101.0", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rule, err = apb.New(&api.FlowSpecIPPrefix{ Type: 2, // Source Prefix PrefixLen: 24, Prefix: "192.168.201.0", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecComponent{ + rule, err = apb.New(&api.FlowSpecComponent{ Type: 3, // IP Protocol Items: []*api.FlowSpecComponentItem{ { @@ -859,8 +859,8 @@ func Test_MpReachNLRIAttribute_FS_IPv4_UC(t *testing.T) { assert.Nil(err) rules = append(rules, rule) - nlris := make([]*any.Any, 0, 1) - a, err := ptypes.MarshalAny(&api.FlowSpecNLRI{ + nlris := make([]*apb.Any, 0, 1) + a, err := apb.New(&api.FlowSpecNLRI{ Rules: rules, }) assert.Nil(err) @@ -875,7 +875,7 @@ func Test_MpReachNLRIAttribute_FS_IPv4_UC(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -895,28 +895,28 @@ func Test_MpReachNLRIAttribute_FS_IPv4_UC(t *testing.T) { func Test_MpReachNLRIAttribute_FS_IPv4_VPN(t *testing.T) { assert := assert.New(t) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) assert.Nil(err) - rules := make([]*any.Any, 0, 3) - rule, err := ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rules := make([]*apb.Any, 0, 3) + rule, err := apb.New(&api.FlowSpecIPPrefix{ Type: 1, // Destination Prefix PrefixLen: 24, Prefix: "192.168.101.0", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rule, err = apb.New(&api.FlowSpecIPPrefix{ Type: 2, // Source Prefix PrefixLen: 24, Prefix: "192.168.201.0", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecComponent{ + rule, err = apb.New(&api.FlowSpecComponent{ Type: 3, // IP Protocol Items: []*api.FlowSpecComponentItem{ { @@ -928,8 +928,8 @@ func Test_MpReachNLRIAttribute_FS_IPv4_VPN(t *testing.T) { assert.Nil(err) rules = append(rules, rule) - nlris := make([]*any.Any, 0, 1) - a, err := ptypes.MarshalAny(&api.VPNFlowSpecNLRI{ + nlris := make([]*apb.Any, 0, 1) + a, err := apb.New(&api.VPNFlowSpecNLRI{ Rd: rd, Rules: rules, }) @@ -945,7 +945,7 @@ func Test_MpReachNLRIAttribute_FS_IPv4_VPN(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -965,22 +965,22 @@ func Test_MpReachNLRIAttribute_FS_IPv4_VPN(t *testing.T) { func Test_MpReachNLRIAttribute_FS_IPv6_UC(t *testing.T) { assert := assert.New(t) - rules := make([]*any.Any, 0, 3) - rule, err := ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rules := make([]*apb.Any, 0, 3) + rule, err := apb.New(&api.FlowSpecIPPrefix{ Type: 1, // Destination Prefix PrefixLen: 64, Prefix: "2001:db8:1::", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rule, err = apb.New(&api.FlowSpecIPPrefix{ Type: 2, // Source Prefix PrefixLen: 64, Prefix: "2001:db8:2::", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecComponent{ + rule, err = apb.New(&api.FlowSpecComponent{ Type: 3, // Next Header Items: []*api.FlowSpecComponentItem{ { @@ -992,8 +992,8 @@ func Test_MpReachNLRIAttribute_FS_IPv6_UC(t *testing.T) { assert.Nil(err) rules = append(rules, rule) - nlris := make([]*any.Any, 0, 1) - a, err := ptypes.MarshalAny(&api.FlowSpecNLRI{ + nlris := make([]*apb.Any, 0, 1) + a, err := apb.New(&api.FlowSpecNLRI{ Rules: rules, }) assert.Nil(err) @@ -1008,7 +1008,7 @@ func Test_MpReachNLRIAttribute_FS_IPv6_UC(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1028,28 +1028,28 @@ func Test_MpReachNLRIAttribute_FS_IPv6_UC(t *testing.T) { func Test_MpReachNLRIAttribute_FS_IPv6_VPN(t *testing.T) { assert := assert.New(t) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) assert.Nil(err) - rules := make([]*any.Any, 0, 3) - rule, err := ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rules := make([]*apb.Any, 0, 3) + rule, err := apb.New(&api.FlowSpecIPPrefix{ Type: 1, // Destination Prefix PrefixLen: 64, Prefix: "2001:db8:1::", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecIPPrefix{ + rule, err = apb.New(&api.FlowSpecIPPrefix{ Type: 2, // Source Prefix PrefixLen: 64, Prefix: "2001:db8:2::", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecComponent{ + rule, err = apb.New(&api.FlowSpecComponent{ Type: 3, // Next Header Items: []*api.FlowSpecComponentItem{ { @@ -1061,8 +1061,8 @@ func Test_MpReachNLRIAttribute_FS_IPv6_VPN(t *testing.T) { assert.Nil(err) rules = append(rules, rule) - nlris := make([]*any.Any, 0, 1) - a, err := ptypes.MarshalAny(&api.VPNFlowSpecNLRI{ + nlris := make([]*apb.Any, 0, 1) + a, err := apb.New(&api.VPNFlowSpecNLRI{ Rd: rd, Rules: rules, }) @@ -1078,7 +1078,7 @@ func Test_MpReachNLRIAttribute_FS_IPv6_VPN(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1098,26 +1098,26 @@ func Test_MpReachNLRIAttribute_FS_IPv6_VPN(t *testing.T) { func Test_MpReachNLRIAttribute_FS_L2_VPN(t *testing.T) { assert := assert.New(t) - rd, err := ptypes.MarshalAny(&api.RouteDistinguisherIPAddress{ + rd, err := apb.New(&api.RouteDistinguisherIPAddress{ Admin: "1.1.1.1", Assigned: 100, }) assert.Nil(err) - rules := make([]*any.Any, 0, 3) - rule, err := ptypes.MarshalAny(&api.FlowSpecMAC{ + rules := make([]*apb.Any, 0, 3) + rule, err := apb.New(&api.FlowSpecMAC{ Type: 15, // Source MAC Address: "aa:bb:cc:11:22:33", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecMAC{ + rule, err = apb.New(&api.FlowSpecMAC{ Type: 16, // Destination MAC Address: "dd:ee:ff:11:22:33", }) assert.Nil(err) rules = append(rules, rule) - rule, err = ptypes.MarshalAny(&api.FlowSpecComponent{ + rule, err = apb.New(&api.FlowSpecComponent{ Type: 21, // VLAN ID Items: []*api.FlowSpecComponentItem{ { @@ -1129,8 +1129,8 @@ func Test_MpReachNLRIAttribute_FS_L2_VPN(t *testing.T) { assert.Nil(err) rules = append(rules, rule) - nlris := make([]*any.Any, 0, 1) - a, err := ptypes.MarshalAny(&api.VPNFlowSpecNLRI{ + nlris := make([]*apb.Any, 0, 1) + a, err := apb.New(&api.VPNFlowSpecNLRI{ Rd: rd, Rules: rules, }) @@ -1146,7 +1146,7 @@ func Test_MpReachNLRIAttribute_FS_L2_VPN(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1166,14 +1166,14 @@ func Test_MpReachNLRIAttribute_FS_L2_VPN(t *testing.T) { func Test_MpUnreachNLRIAttribute_IPv4_UC(t *testing.T) { assert := assert.New(t) - nlris := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlris := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.IPAddressPrefix{ PrefixLen: 24, Prefix: "192.168.101.0", }) assert.Nil(err) nlris = append(nlris, a) - a, err = ptypes.MarshalAny(&api.IPAddressPrefix{ + a, err = apb.New(&api.IPAddressPrefix{ PrefixLen: 24, Prefix: "192.168.201.0", }) @@ -1188,7 +1188,7 @@ func Test_MpUnreachNLRIAttribute_IPv4_UC(t *testing.T) { Nlris: nlris, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1207,8 +1207,8 @@ func Test_MpUnreachNLRIAttribute_IPv4_UC(t *testing.T) { func Test_ExtendedCommunitiesAttribute(t *testing.T) { assert := assert.New(t) - communities := make([]*any.Any, 0, 19) - a, err := ptypes.MarshalAny(&api.TwoOctetAsSpecificExtended{ + communities := make([]*apb.Any, 0, 19) + a, err := apb.New(&api.TwoOctetAsSpecificExtended{ IsTransitive: true, SubType: 0x02, // ROUTE_TARGET As: 65001, @@ -1216,7 +1216,7 @@ func Test_ExtendedCommunitiesAttribute(t *testing.T) { }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.IPv4AddressSpecificExtended{ + a, err = apb.New(&api.IPv4AddressSpecificExtended{ IsTransitive: true, SubType: 0x02, // ROUTE_TARGET Address: "2.2.2.2", @@ -1224,7 +1224,7 @@ func Test_ExtendedCommunitiesAttribute(t *testing.T) { }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.FourOctetAsSpecificExtended{ + a, err = apb.New(&api.FourOctetAsSpecificExtended{ IsTransitive: true, SubType: 0x02, // ROUTE_TARGET As: 65003, @@ -1232,96 +1232,96 @@ func Test_ExtendedCommunitiesAttribute(t *testing.T) { }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.ValidationExtended{ + a, err = apb.New(&api.ValidationExtended{ State: 0, // VALID }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.ColorExtended{ + a, err = apb.New(&api.ColorExtended{ Color: 400, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.EncapExtended{ + a, err = apb.New(&api.EncapExtended{ TunnelType: 8, // VXLAN }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.DefaultGatewayExtended{ + a, err = apb.New(&api.DefaultGatewayExtended{ // No value }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.OpaqueExtended{ + a, err = apb.New(&api.OpaqueExtended{ IsTransitive: true, Value: []byte{0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77}, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.ESILabelExtended{ + a, err = apb.New(&api.ESILabelExtended{ IsSingleActive: true, Label: 500, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.ESImportRouteTarget{ + a, err = apb.New(&api.ESImportRouteTarget{ EsImport: "aa:bb:cc:dd:ee:ff", }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.MacMobilityExtended{ + a, err = apb.New(&api.MacMobilityExtended{ IsSticky: true, SequenceNum: 1, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.RouterMacExtended{ + a, err = apb.New(&api.RouterMacExtended{ Mac: "ff:ee:dd:cc:bb:aa", }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.TrafficRateExtended{ + a, err = apb.New(&api.TrafficRateExtended{ As: 65004, Rate: 100.0, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.TrafficActionExtended{ + a, err = apb.New(&api.TrafficActionExtended{ Terminal: true, Sample: false, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.RedirectTwoOctetAsSpecificExtended{ + a, err = apb.New(&api.RedirectTwoOctetAsSpecificExtended{ As: 65005, LocalAdmin: 500, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.RedirectIPv4AddressSpecificExtended{ + a, err = apb.New(&api.RedirectIPv4AddressSpecificExtended{ Address: "6.6.6.6", LocalAdmin: 600, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.RedirectFourOctetAsSpecificExtended{ + a, err = apb.New(&api.RedirectFourOctetAsSpecificExtended{ As: 65007, LocalAdmin: 700, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.TrafficRemarkExtended{ + a, err = apb.New(&api.TrafficRemarkExtended{ Dscp: 0x0a, // AF11 }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.UnknownExtended{ + a, err = apb.New(&api.UnknownExtended{ Type: 0xff, // Max of uint8 Value: []byte{1, 2, 3, 4, 5, 6, 7}, }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.LinkBandiwdthExtended{ + a, err = apb.New(&api.LinkBandiwdthExtended{ As: 65004, Bandwidth: 125000.0, }) @@ -1332,7 +1332,7 @@ func Test_ExtendedCommunitiesAttribute(t *testing.T) { Communities: communities, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1362,7 +1362,7 @@ func Test_As4PathAttribute(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1382,7 +1382,7 @@ func Test_As4AggregatorAttribute(t *testing.T) { Address: "1.1.1.1", } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1402,7 +1402,7 @@ func Test_PmsiTunnelAttribute(t *testing.T) { Id: net.ParseIP("1.1.1.1").To4(), // IngressReplTunnelID with IPv4 } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1417,29 +1417,29 @@ func Test_PmsiTunnelAttribute(t *testing.T) { func Test_TunnelEncapAttribute(t *testing.T) { assert := assert.New(t) - subTlvs := make([]*any.Any, 0, 4) - a, err := ptypes.MarshalAny(&api.TunnelEncapSubTLVEncapsulation{ + subTlvs := make([]*apb.Any, 0, 4) + a, err := apb.New(&api.TunnelEncapSubTLVEncapsulation{ Key: 100, Cookie: []byte{0x11, 0x22, 0x33, 0x44}, }) assert.Nil(err) subTlvs = append(subTlvs, a) - a, err = ptypes.MarshalAny(&api.TunnelEncapSubTLVProtocol{ + a, err = apb.New(&api.TunnelEncapSubTLVProtocol{ Protocol: 200, }) assert.Nil(err) subTlvs = append(subTlvs, a) - a, err = ptypes.MarshalAny(&api.TunnelEncapSubTLVColor{ + a, err = apb.New(&api.TunnelEncapSubTLVColor{ Color: 300, }) assert.Nil(err) subTlvs = append(subTlvs, a) - a, err = ptypes.MarshalAny(&api.TunnelEncapSubTLVUDPDestPort{ + a, err = apb.New(&api.TunnelEncapSubTLVUDPDestPort{ Port: 400, }) assert.Nil(err) subTlvs = append(subTlvs, a) - a, err = ptypes.MarshalAny(&api.TunnelEncapSubTLVUnknown{ + a, err = apb.New(&api.TunnelEncapSubTLVUnknown{ Type: 0xff, // Max of uint8 Value: []byte{0x55, 0x66, 0x77, 0x88}, }) @@ -1455,7 +1455,7 @@ func Test_TunnelEncapAttribute(t *testing.T) { }, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1474,8 +1474,8 @@ func Test_TunnelEncapAttribute(t *testing.T) { func Test_IP6ExtendedCommunitiesAttribute(t *testing.T) { assert := assert.New(t) - communities := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.IPv6AddressSpecificExtended{ + communities := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.IPv6AddressSpecificExtended{ IsTransitive: true, SubType: 0xff, // Max of uint8 Address: "2001:db8:1::1", @@ -1483,7 +1483,7 @@ func Test_IP6ExtendedCommunitiesAttribute(t *testing.T) { }) assert.Nil(err) communities = append(communities, a) - a, err = ptypes.MarshalAny(&api.RedirectIPv6AddressSpecificExtended{ + a, err = apb.New(&api.RedirectIPv6AddressSpecificExtended{ Address: "2001:db8:2::1", LocalAdmin: 200, }) @@ -1494,7 +1494,7 @@ func Test_IP6ExtendedCommunitiesAttribute(t *testing.T) { Communities: communities, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1511,13 +1511,13 @@ func Test_IP6ExtendedCommunitiesAttribute(t *testing.T) { func Test_AigpAttribute(t *testing.T) { assert := assert.New(t) - tlvs := make([]*any.Any, 0, 2) - a, err := ptypes.MarshalAny(&api.AigpTLVIGPMetric{ + tlvs := make([]*apb.Any, 0, 2) + a, err := apb.New(&api.AigpTLVIGPMetric{ Metric: 50, }) assert.Nil(err) tlvs = append(tlvs, a) - a, err = ptypes.MarshalAny(&api.AigpTLVUnknown{ + a, err = apb.New(&api.AigpTLVUnknown{ Type: 0xff, // Max of uint8 Value: []byte{0x11, 0x22, 0x33, 0x44}, }) @@ -1528,7 +1528,7 @@ func Test_AigpAttribute(t *testing.T) { Tlvs: tlvs, } - a, err = ptypes.MarshalAny(input) + a, err = apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1560,7 +1560,7 @@ func Test_LargeCommunitiesAttribute(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) @@ -1581,7 +1581,7 @@ func Test_UnknownAttribute(t *testing.T) { Value: []byte{0x11, 0x22, 0x33, 0x44}, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalAttribute(a) assert.Nil(err) diff --git a/internal/pkg/apiutil/capability.go b/internal/pkg/apiutil/capability.go index 125427db..daf93a71 100644 --- a/internal/pkg/apiutil/capability.go +++ b/internal/pkg/apiutil/capability.go @@ -18,11 +18,10 @@ package apiutil import ( "fmt" - proto "github.com/golang/protobuf/proto" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + proto "google.golang.org/protobuf/proto" + apb "google.golang.org/protobuf/types/known/anypb" ) func NewMultiProtocolCapability(a *bgp.CapMultiProtocol) *api.MultiProtocolCapability { @@ -126,7 +125,7 @@ func NewUnknownCapability(a *bgp.CapUnknown) *api.UnknownCapability { } } -func MarshalCapability(value bgp.ParameterCapabilityInterface) (*any.Any, error) { +func MarshalCapability(value bgp.ParameterCapabilityInterface) (*apb.Any, error) { var m proto.Message switch n := value.(type) { case *bgp.CapMultiProtocol: @@ -156,11 +155,11 @@ func MarshalCapability(value bgp.ParameterCapabilityInterface) (*any.Any, error) default: return nil, fmt.Errorf("invalid capability type to marshal: %+v", value) } - return ptypes.MarshalAny(m) + return apb.New(m) } -func MarshalCapabilities(values []bgp.ParameterCapabilityInterface) ([]*any.Any, error) { - caps := make([]*any.Any, 0, len(values)) +func MarshalCapabilities(values []bgp.ParameterCapabilityInterface) ([]*apb.Any, error) { + caps := make([]*apb.Any, 0, len(values)) for _, value := range values { a, err := MarshalCapability(value) if err != nil { @@ -171,12 +170,12 @@ func MarshalCapabilities(values []bgp.ParameterCapabilityInterface) ([]*any.Any, return caps, nil } -func unmarshalCapability(a *any.Any) (bgp.ParameterCapabilityInterface, error) { - var value ptypes.DynamicAny - if err := ptypes.UnmarshalAny(a, &value); err != nil { +func unmarshalCapability(a *apb.Any) (bgp.ParameterCapabilityInterface, error) { + value, err := a.UnmarshalNew() + if err != nil { return nil, fmt.Errorf("failed to unmarshal capability: %s", err) } - switch a := value.Message.(type) { + switch a := value.(type) { case *api.MultiProtocolCapability: return bgp.NewCapMultiProtocol(ToRouteFamily(a.Family)), nil case *api.RouteRefreshCapability: @@ -246,7 +245,7 @@ func unmarshalCapability(a *any.Any) (bgp.ParameterCapabilityInterface, error) { return nil, fmt.Errorf("invalid capability type to unmarshal: %s", a.TypeUrl) } -func UnmarshalCapabilities(values []*any.Any) ([]bgp.ParameterCapabilityInterface, error) { +func UnmarshalCapabilities(values []*apb.Any) ([]bgp.ParameterCapabilityInterface, error) { caps := make([]bgp.ParameterCapabilityInterface, 0, len(values)) for _, value := range values { c, err := unmarshalCapability(value) diff --git a/internal/pkg/apiutil/capability_test.go b/internal/pkg/apiutil/capability_test.go index 6a1c020f..55c5b782 100644 --- a/internal/pkg/apiutil/capability_test.go +++ b/internal/pkg/apiutil/capability_test.go @@ -18,10 +18,11 @@ package apiutil import ( "testing" - "github.com/golang/protobuf/proto" - "github.com/golang/protobuf/ptypes" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bgp" + "google.golang.org/protobuf/proto" + apb "google.golang.org/protobuf/types/known/anypb" + + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) @@ -35,7 +36,7 @@ func Test_MultiProtocolCapability(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -51,7 +52,7 @@ func Test_RouteRefreshCapability(t *testing.T) { input := &api.RouteRefreshCapability{} - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -65,7 +66,7 @@ func Test_CarryingLabelInfoCapability(t *testing.T) { input := &api.CarryingLabelInfoCapability{} - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -92,7 +93,7 @@ func Test_ExtendedNexthopCapability(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -123,7 +124,7 @@ func Test_GracefulRestartCapability(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -147,7 +148,7 @@ func Test_FourOctetASNumberCapability(t *testing.T) { As: 100, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -174,7 +175,7 @@ func Test_AddPathCapability(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -193,7 +194,7 @@ func Test_EnhancedRouteRefreshCapability(t *testing.T) { input := &api.EnhancedRouteRefreshCapability{} - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -218,7 +219,7 @@ func Test_LongLivedGracefulRestartCapability(t *testing.T) { }, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -239,7 +240,7 @@ func Test_RouteRefreshCiscoCapability(t *testing.T) { input := &api.RouteRefreshCiscoCapability{} - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) @@ -256,7 +257,7 @@ func Test_UnknownCapability(t *testing.T) { Value: []byte{0x11, 0x22, 0x33, 0x44}, } - a, err := ptypes.MarshalAny(input) + a, err := apb.New(input) assert.Nil(err) n, err := unmarshalCapability(a) assert.Nil(err) diff --git a/internal/pkg/apiutil/util.go b/internal/pkg/apiutil/util.go index 7eb3ee86..f425a01c 100644 --- a/internal/pkg/apiutil/util.go +++ b/internal/pkg/apiutil/util.go @@ -21,9 +21,9 @@ import ( "net" "time" - "github.com/golang/protobuf/ptypes" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + tspb "google.golang.org/protobuf/types/known/timestamppb" ) // workaround. This for the json format compatibility. Once we update senario tests, we can remove this. @@ -51,10 +51,9 @@ func NewDestination(dst *api.Destination) *Destination { for _, p := range dst.Paths { nlri, _ := GetNativeNlri(p) attrs, _ := GetNativePathAttributes(p) - t, _ := ptypes.Timestamp(p.Age) l = append(l, &Path{ Nlri: nlri, - Age: t.Unix(), + Age: p.Age.AsTime().Unix(), Best: p.Best, Attrs: attrs, Stale: p.Stale, @@ -67,11 +66,10 @@ func NewDestination(dst *api.Destination) *Destination { } func NewPath(nlri bgp.AddrPrefixInterface, isWithdraw bool, attrs []bgp.PathAttributeInterface, age time.Time) *api.Path { - t, _ := ptypes.TimestampProto(age) return &api.Path{ Nlri: MarshalNLRI(nlri), Pattrs: MarshalPathAttributes(attrs), - Age: t, + Age: tspb.New(age), IsWithdraw: isWithdraw, Family: ToApiFamily(nlri.AFI(), nlri.SAFI()), Identifier: nlri.PathIdentifier(), diff --git a/internal/pkg/config/bgp_configs.go b/internal/pkg/config/bgp_configs.go index 7777cacb..bd19448e 100644 --- a/internal/pkg/config/bgp_configs.go +++ b/internal/pkg/config/bgp_configs.go @@ -23,7 +23,7 @@ package config import ( "fmt" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) func mapkey(index int, name string) string { diff --git a/internal/pkg/config/default.go b/internal/pkg/config/default.go index 3d723cd9..9f30f76a 100644 --- a/internal/pkg/config/default.go +++ b/internal/pkg/config/default.go @@ -8,10 +8,10 @@ import ( "reflect" "strconv" - "github.com/osrg/gobgp/internal/pkg/zebra" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/packet/bmp" - "github.com/osrg/gobgp/pkg/packet/rtr" + "github.com/osrg/gobgp/v3/internal/pkg/zebra" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bmp" + "github.com/osrg/gobgp/v3/pkg/packet/rtr" "github.com/spf13/viper" ) diff --git a/internal/pkg/config/default_linux.go b/internal/pkg/config/default_linux.go index 8cfcc501..87898802 100644 --- a/internal/pkg/config/default_linux.go +++ b/internal/pkg/config/default_linux.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build linux // +build linux package config diff --git a/internal/pkg/config/default_nonlinux.go b/internal/pkg/config/default_nonlinux.go index fe4705a6..e9ad86dc 100644 --- a/internal/pkg/config/default_nonlinux.go +++ b/internal/pkg/config/default_nonlinux.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build !linux // +build !linux package config diff --git a/internal/pkg/config/util.go b/internal/pkg/config/util.go index 966fcf15..a4830d56 100644 --- a/internal/pkg/config/util.go +++ b/internal/pkg/config/util.go @@ -24,11 +24,11 @@ import ( "strings" "time" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/timestamp" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/pkg/packet/bgp" + tspb "google.golang.org/protobuf/types/known/timestamppb" + + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) // Returns config file type by retrieving extension from the given path. @@ -427,12 +427,11 @@ func newAfiSafiFromConfigStruct(c *AfiSafi) *api.AfiSafi { } } -func ProtoTimestamp(secs int64) *timestamp.Timestamp { +func ProtoTimestamp(secs int64) *tspb.Timestamp { if secs == 0 { return nil } - t, _ := ptypes.TimestampProto(time.Unix(secs, 0)) - return t + return tspb.New(time.Unix(secs, 0)) } func NewPeerFromConfigStruct(pconf *Neighbor) *api.Peer { diff --git a/internal/pkg/table/adj.go b/internal/pkg/table/adj.go index 49315e87..fc156351 100644 --- a/internal/pkg/table/adj.go +++ b/internal/pkg/table/adj.go @@ -18,7 +18,7 @@ package table import ( "fmt" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) type AdjRib struct { diff --git a/internal/pkg/table/adj_test.go b/internal/pkg/table/adj_test.go index 3ae59465..b719a5b0 100644 --- a/internal/pkg/table/adj_test.go +++ b/internal/pkg/table/adj_test.go @@ -19,7 +19,7 @@ import ( "testing" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/destination.go b/internal/pkg/table/destination.go index 7b6d9631..7d9ccfe1 100644 --- a/internal/pkg/table/destination.go +++ b/internal/pkg/table/destination.go @@ -23,8 +23,8 @@ import ( "net" "sort" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/internal/pkg/table/destination_test.go b/internal/pkg/table/destination_test.go index 3534cb6c..f05ca093 100644 --- a/internal/pkg/table/destination_test.go +++ b/internal/pkg/table/destination_test.go @@ -22,7 +22,7 @@ import ( "testing" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/message.go b/internal/pkg/table/message.go index 12e4928e..8e94954e 100644 --- a/internal/pkg/table/message.go +++ b/internal/pkg/table/message.go @@ -19,7 +19,7 @@ import ( "bytes" "reflect" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/internal/pkg/table/message_test.go b/internal/pkg/table/message_test.go index 8d2431e8..7d5e39d5 100644 --- a/internal/pkg/table/message_test.go +++ b/internal/pkg/table/message_test.go @@ -21,7 +21,7 @@ import ( "testing" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/path.go b/internal/pkg/table/path.go index 15fcfa05..701734ca 100644 --- a/internal/pkg/table/path.go +++ b/internal/pkg/table/path.go @@ -24,8 +24,8 @@ import ( "sort" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/internal/pkg/table/path_test.go b/internal/pkg/table/path_test.go index 50681a0b..db3db9cd 100644 --- a/internal/pkg/table/path_test.go +++ b/internal/pkg/table/path_test.go @@ -6,8 +6,8 @@ import ( "testing" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/policy.go b/internal/pkg/table/policy.go index d200f6f0..0aedc6bc 100644 --- a/internal/pkg/table/policy.go +++ b/internal/pkg/table/policy.go @@ -27,9 +27,9 @@ import ( "sync" "github.com/k-sone/critbitgo" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/internal/pkg/table/policy_test.go b/internal/pkg/table/policy_test.go index ec6b0632..66944a1e 100644 --- a/internal/pkg/table/policy_test.go +++ b/internal/pkg/table/policy_test.go @@ -24,8 +24,8 @@ import ( "testing" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" diff --git a/internal/pkg/table/roa.go b/internal/pkg/table/roa.go index f4ff0aa2..1aa20474 100644 --- a/internal/pkg/table/roa.go +++ b/internal/pkg/table/roa.go @@ -20,8 +20,8 @@ import ( "sort" "github.com/k-sone/critbitgo" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/internal/pkg/table/roa_test.go b/internal/pkg/table/roa_test.go index 74c4f8fb..0d1e635f 100644 --- a/internal/pkg/table/roa_test.go +++ b/internal/pkg/table/roa_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/table.go b/internal/pkg/table/table.go index a9f1323e..a8a0de67 100644 --- a/internal/pkg/table/table.go +++ b/internal/pkg/table/table.go @@ -23,7 +23,7 @@ import ( "unsafe" "github.com/k-sone/critbitgo" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/internal/pkg/table/table_manager.go b/internal/pkg/table/table_manager.go index ae694079..b22d7efe 100644 --- a/internal/pkg/table/table_manager.go +++ b/internal/pkg/table/table_manager.go @@ -24,7 +24,7 @@ import ( farm "github.com/dgryski/go-farm" log "github.com/sirupsen/logrus" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) const ( diff --git a/internal/pkg/table/table_manager_test.go b/internal/pkg/table/table_manager_test.go index 67c26c11..f1bc245d 100644 --- a/internal/pkg/table/table_manager_test.go +++ b/internal/pkg/table/table_manager_test.go @@ -21,7 +21,7 @@ import ( "testing" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/table_test.go b/internal/pkg/table/table_test.go index f72e62b9..aa34779a 100644 --- a/internal/pkg/table/table_test.go +++ b/internal/pkg/table/table_test.go @@ -19,7 +19,7 @@ import ( "testing" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/internal/pkg/table/vrf.go b/internal/pkg/table/vrf.go index dc98e57d..f60765fa 100644 --- a/internal/pkg/table/vrf.go +++ b/internal/pkg/table/vrf.go @@ -16,7 +16,7 @@ package table import ( - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) type Vrf struct { diff --git a/internal/pkg/version/version.go b/internal/pkg/version/version.go index ec9e20ad..4f99791c 100644 --- a/internal/pkg/version/version.go +++ b/internal/pkg/version/version.go @@ -17,12 +17,12 @@ package version import "fmt" -const MAJOR uint = 2 -const MINOR uint = 34 +const MAJOR uint = 3 +const MINOR uint = 0 const PATCH uint = 0 var COMMIT string = "" -var IDENTIFIER string = "" +var IDENTIFIER string = "rc0" var METADATA string = "" func Version() string { diff --git a/internal/pkg/zebra/zapi.go b/internal/pkg/zebra/zapi.go index 9aafbd8e..2860f9fd 100644 --- a/internal/pkg/zebra/zapi.go +++ b/internal/pkg/zebra/zapi.go @@ -19,7 +19,7 @@ import ( "encoding/binary" "errors" "fmt" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" "io" "math" diff --git a/internal/pkg/zebra/zapi_bsd.go b/internal/pkg/zebra/zapi_bsd.go index 8960e796..e12d043b 100644 --- a/internal/pkg/zebra/zapi_bsd.go +++ b/internal/pkg/zebra/zapi_bsd.go @@ -13,6 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build freebsd || netbsd || openbsd // +build freebsd netbsd openbsd package zebra diff --git a/pkg/config/config.go b/pkg/config/config.go index 5e315094..682f5d35 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,16 +1,16 @@ package config import ( - "github.com/golang/protobuf/ptypes/any" log "github.com/sirupsen/logrus" "golang.org/x/net/context" + apb "google.golang.org/protobuf/types/known/anypb" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/server" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/server" ) // ReadConfigFile parses a config file into a BgpConfigSet which can be applied @@ -19,8 +19,8 @@ func ReadConfigFile(configFile, configType string) (*config.BgpConfigSet, error) return config.ReadConfigfile(configFile, configType) } -func marshalRouteTargets(l []string) ([]*any.Any, error) { - rtList := make([]*any.Any, 0, len(l)) +func marshalRouteTargets(l []string) ([]*apb.Any, error) { + rtList := make([]*apb.Any, 0, len(l)) for _, rtString := range l { rt, err := bgp.ParseRouteTarget(rtString) if err != nil { diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 67ffa5e7..5979cf4c 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -6,7 +6,7 @@ import ( "os/signal" "syscall" - "github.com/osrg/gobgp/pkg/server" + "github.com/osrg/gobgp/v3/pkg/server" ) // ExampleUpdateConfig shows how InitialConfig can be used without UpdateConfig diff --git a/pkg/packet/bgp/bgp_race_test.go b/pkg/packet/bgp/bgp_race_test.go index 08038200..2878223c 100644 --- a/pkg/packet/bgp/bgp_race_test.go +++ b/pkg/packet/bgp/bgp_race_test.go @@ -13,6 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build race // +build race package bgp diff --git a/pkg/packet/bgp/prefix_sid.go b/pkg/packet/bgp/prefix_sid.go index 32f575ee..23b826d5 100644 --- a/pkg/packet/bgp/prefix_sid.go +++ b/pkg/packet/bgp/prefix_sid.go @@ -7,8 +7,7 @@ import ( "fmt" "net" - "github.com/golang/protobuf/ptypes" - api "github.com/osrg/gobgp/api" + api "github.com/osrg/gobgp/v3/api" ) const ( @@ -554,11 +553,11 @@ func NewPathAttributePrefixSID(psid *api.PrefixSID) (*PathAttributePrefixSID, er TLVs: make([]PrefixSIDTLVInterface, 0), } for _, raw := range psid.Tlvs { - var tlv ptypes.DynamicAny - if err := ptypes.UnmarshalAny(raw, &tlv); err != nil { + tlv, err := raw.UnmarshalNew() + if err != nil { return nil, err } - switch v := tlv.Message.(type) { + switch v := tlv.(type) { case *api.SRv6L3ServiceTLV: tlvLength, tlvs, err := UnmarshalSubTLVs(v.SubTlvs) if err != nil { @@ -600,11 +599,11 @@ func UnmarshalSubTLVs(stlvs map[uint32]*api.SRv6TLV) (uint16, []PrefixSIDTLVInte }, SubSubTLVs: make([]PrefixSIDTLVInterface, 0), } - var raw ptypes.DynamicAny - if err := ptypes.UnmarshalAny(stlvRaw, &raw); err != nil { + raw, err := stlvRaw.UnmarshalNew() + if err != nil { return 0, nil, err } - infoProto := raw.Message.(*api.SRv6InformationSubTLV) + infoProto := raw.(*api.SRv6InformationSubTLV) info.SID = make([]byte, len(infoProto.Sid)) copy(info.SID, infoProto.Sid) // TODO Once RFC is published add processing of flags @@ -652,11 +651,11 @@ func UnmarshalSubSubTLVs(stlvs map[uint32]*api.SRv6TLV) (uint16, []PrefixSIDTLVI Length: 6, }, } - var raw ptypes.DynamicAny - if err := ptypes.UnmarshalAny(stlvRaw, &raw); err != nil { + raw, err := stlvRaw.UnmarshalNew() + if err != nil { return 0, nil, err } - structureProto := raw.Message.(*api.SRv6StructureSubSubTLV) + structureProto := raw.(*api.SRv6StructureSubSubTLV) structure.LocalBlockLength = uint8(structureProto.LocalBlockLength) structure.LocatorNodeLength = uint8(structureProto.LocalNodeLength) structure.FunctionLength = uint8(structureProto.FunctionLength) diff --git a/pkg/packet/bgp/prefix_sid_test.go b/pkg/packet/bgp/prefix_sid_test.go index a286228c..2df8a3a3 100644 --- a/pkg/packet/bgp/prefix_sid_test.go +++ b/pkg/packet/bgp/prefix_sid_test.go @@ -3,9 +3,6 @@ package bgp import ( "bytes" "testing" - - "github.com/golang/protobuf/ptypes/any" - api "github.com/osrg/gobgp/api" ) func TestRoundTripSubSubTLV(t *testing.T) { @@ -91,34 +88,3 @@ func TestRoundTripPrefixSID(t *testing.T) { }) } } - -func TestNewPathAttributePrefixSID(t *testing.T) { - tests := []struct { - name string - input *api.PrefixSID - }{ - { - name: "path attribute srv6 prefix sid", - input: &api.PrefixSID{ - Tlvs: []*any.Any{ - { - TypeUrl: "type.googleapis.com/gobgpapi.SRv6L3ServiceTLV", - Value: []byte{10, 157, 1, 8, 1, 18, 152, 1, 10, 149, 1, 10, 50, 116, 121, 112, 101, 46, 103, 111, 111, 103, 108, 101, 97, 112, 105, 115, 46, 99, 111, 109, 47, 103, 111, 98, 103, 112, 97, 112, 105, 46, 83, 82, 118, 54, 73, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 83, 117, 98, 84, 76, 86, 18, 95, 10, 16, 32, 1, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 24, 17, 34, 71, 8, 1, 18, 67, 10, 65, 10, 51, 116, 121, 112, 101, 46, 103, 111, 111, 103, 108, 101, 97, 112, 105, 115, 46, 99, 111, 109, 47, 103, 111, 98, 103, 112, 97, 112, 105, 46, 83, 82, 118, 54, 83, 116, 114, 117, 99, 116, 117, 114, 101, 83, 117, 98, 83, 117, 98, 84, 76, 86, 18, 10, 8, 40, 16, 24, 24, 16, 40, 16, 48, 64}, - }, - }, - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - p, err := NewPathAttributePrefixSID(tt.input) - if err != nil { - t.Fatalf("failed with error: %+v", err) - } - t.Logf("resulting prefix sid: %s", p.String()) - b, _ := p.Serialize() - t.Logf("serialized prefix sid: %s", string(b)) - - }) - } -} diff --git a/pkg/packet/bgp/sr_policy.go b/pkg/packet/bgp/sr_policy.go index a636188b..4b5feb8c 100644 --- a/pkg/packet/bgp/sr_policy.go +++ b/pkg/packet/bgp/sr_policy.go @@ -7,7 +7,7 @@ import ( "net" "strconv" - api "github.com/osrg/gobgp/api" + api "github.com/osrg/gobgp/v3/api" ) type SRPolicyNLRI struct { diff --git a/pkg/packet/bmp/bmp.go b/pkg/packet/bmp/bmp.go index 8f2418c1..ec98c7d5 100644 --- a/pkg/packet/bmp/bmp.go +++ b/pkg/packet/bmp/bmp.go @@ -21,7 +21,7 @@ import ( "math" "net" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) type BMPHeader struct { diff --git a/pkg/packet/bmp/bmp_test.go b/pkg/packet/bmp/bmp_test.go index 66150418..b65e91e8 100644 --- a/pkg/packet/bmp/bmp_test.go +++ b/pkg/packet/bmp/bmp_test.go @@ -18,7 +18,7 @@ package bmp import ( "testing" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/packet/mrt/mrt.go b/pkg/packet/mrt/mrt.go index f2005c72..0f00913a 100644 --- a/pkg/packet/mrt/mrt.go +++ b/pkg/packet/mrt/mrt.go @@ -24,7 +24,7 @@ import ( "net" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) const ( diff --git a/pkg/packet/mrt/mrt_test.go b/pkg/packet/mrt/mrt_test.go index 8a710758..275b094e 100644 --- a/pkg/packet/mrt/mrt_test.go +++ b/pkg/packet/mrt/mrt_test.go @@ -22,7 +22,7 @@ import ( "testing" "time" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" "github.com/stretchr/testify/assert" ) diff --git a/pkg/server/bmp.go b/pkg/server/bmp.go index 67eebd0c..12a8726b 100644 --- a/pkg/server/bmp.go +++ b/pkg/server/bmp.go @@ -22,12 +22,13 @@ import ( "strconv" "time" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/packet/bmp" log "github.com/sirupsen/logrus" + + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bmp" ) type ribout map[string][]*table.Path diff --git a/pkg/server/fsm.go b/pkg/server/fsm.go index 2228b7ca..8a64ee4b 100644 --- a/pkg/server/fsm.go +++ b/pkg/server/fsm.go @@ -28,10 +28,10 @@ import ( "time" "github.com/eapache/channels" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/packet/bmp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bmp" log "github.com/sirupsen/logrus" ) diff --git a/pkg/server/fsm_test.go b/pkg/server/fsm_test.go index b2cab3a6..79f2bd4d 100644 --- a/pkg/server/fsm_test.go +++ b/pkg/server/fsm_test.go @@ -25,8 +25,8 @@ import ( "time" "github.com/eapache/channels" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" diff --git a/pkg/server/grpc_server.go b/pkg/server/grpc_server.go index 289ab7ba..72b198fc 100644 --- a/pkg/server/grpc_server.go +++ b/pkg/server/grpc_server.go @@ -28,24 +28,25 @@ import ( "time" farm "github.com/dgryski/go-farm" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" - "github.com/golang/protobuf/ptypes/empty" log "github.com/sirupsen/logrus" "golang.org/x/net/context" "google.golang.org/grpc" + apb "google.golang.org/protobuf/types/known/anypb" + "google.golang.org/protobuf/types/known/emptypb" + tspb "google.golang.org/protobuf/types/known/timestamppb" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) type server struct { bgpServer *BgpServer grpcServer *grpc.Server hosts string + api.UnimplementedGobgpApiServer } func newAPIserver(b *BgpServer, g *grpc.Server, hosts string) *server { @@ -159,13 +160,12 @@ func newValidationFromTableStruct(v *table.Validation) *api.Validation { } } -func toPathAPI(binNlri []byte, binPattrs [][]byte, anyNlri *any.Any, anyPattrs []*any.Any, path *table.Path, v *table.Validation) *api.Path { +func toPathAPI(binNlri []byte, binPattrs [][]byte, anyNlri *apb.Any, anyPattrs []*apb.Any, path *table.Path, v *table.Validation) *api.Path { nlri := path.GetNlri() - t, _ := ptypes.TimestampProto(path.GetTimestamp()) p := &api.Path{ Nlri: anyNlri, Pattrs: anyPattrs, - Age: t, + Age: tspb.New(path.GetTimestamp()), IsWithdraw: path.IsWithdraw, Validation: newValidationFromTableStruct(v), Family: &api.Family{Afi: api.Family_Afi(nlri.AFI()), Safi: api.Family_Safi(nlri.SAFI())}, @@ -265,24 +265,24 @@ func (s *server) MonitorPeer(arg *api.MonitorPeerRequest, stream api.GobgpApi_Mo return err } -func (s *server) ResetPeer(ctx context.Context, r *api.ResetPeerRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.ResetPeer(ctx, r) +func (s *server) ResetPeer(ctx context.Context, r *api.ResetPeerRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.ResetPeer(ctx, r) } -func (s *server) ShutdownPeer(ctx context.Context, r *api.ShutdownPeerRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.ShutdownPeer(ctx, r) +func (s *server) ShutdownPeer(ctx context.Context, r *api.ShutdownPeerRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.ShutdownPeer(ctx, r) } -func (s *server) EnablePeer(ctx context.Context, r *api.EnablePeerRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.EnablePeer(ctx, r) +func (s *server) EnablePeer(ctx context.Context, r *api.EnablePeerRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.EnablePeer(ctx, r) } -func (s *server) DisablePeer(ctx context.Context, r *api.DisablePeerRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DisablePeer(ctx, r) +func (s *server) DisablePeer(ctx context.Context, r *api.DisablePeerRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DisablePeer(ctx, r) } -func (s *server) SetPolicies(ctx context.Context, r *api.SetPoliciesRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.SetPolicies(ctx, r) +func (s *server) SetPolicies(ctx context.Context, r *api.SetPoliciesRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.SetPolicies(ctx, r) } func newRoutingPolicyFromApiStruct(arg *api.SetPoliciesRequest) (*config.RoutingPolicy, error) { @@ -391,16 +391,16 @@ func (s *server) AddPath(ctx context.Context, r *api.AddPathRequest) (*api.AddPa return s.bgpServer.AddPath(ctx, r) } -func (s *server) DeletePath(ctx context.Context, r *api.DeletePathRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeletePath(ctx, r) +func (s *server) DeletePath(ctx context.Context, r *api.DeletePathRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeletePath(ctx, r) } -func (s *server) EnableMrt(ctx context.Context, r *api.EnableMrtRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.EnableMrt(ctx, r) +func (s *server) EnableMrt(ctx context.Context, r *api.EnableMrtRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.EnableMrt(ctx, r) } -func (s *server) DisableMrt(ctx context.Context, r *api.DisableMrtRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DisableMrt(ctx, r) +func (s *server) DisableMrt(ctx context.Context, r *api.DisableMrtRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DisableMrt(ctx, r) } func (s *server) AddPathStream(stream api.GobgpApi_AddPathStreamServer) error { @@ -428,35 +428,35 @@ func (s *server) AddPathStream(stream api.GobgpApi_AddPathStreamServer) error { return err } } - return stream.SendAndClose(&empty.Empty{}) + return stream.SendAndClose(&emptypb.Empty{}) } -func (s *server) AddBmp(ctx context.Context, r *api.AddBmpRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddBmp(ctx, r) +func (s *server) AddBmp(ctx context.Context, r *api.AddBmpRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddBmp(ctx, r) } -func (s *server) DeleteBmp(ctx context.Context, r *api.DeleteBmpRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeleteBmp(ctx, r) +func (s *server) DeleteBmp(ctx context.Context, r *api.DeleteBmpRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeleteBmp(ctx, r) } -func (s *server) AddRpki(ctx context.Context, r *api.AddRpkiRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddRpki(ctx, r) +func (s *server) AddRpki(ctx context.Context, r *api.AddRpkiRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddRpki(ctx, r) } -func (s *server) DeleteRpki(ctx context.Context, r *api.DeleteRpkiRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeleteRpki(ctx, r) +func (s *server) DeleteRpki(ctx context.Context, r *api.DeleteRpkiRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeleteRpki(ctx, r) } -func (s *server) EnableRpki(ctx context.Context, r *api.EnableRpkiRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.EnableRpki(ctx, r) +func (s *server) EnableRpki(ctx context.Context, r *api.EnableRpkiRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.EnableRpki(ctx, r) } -func (s *server) DisableRpki(ctx context.Context, r *api.DisableRpkiRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DisableRpki(ctx, r) +func (s *server) DisableRpki(ctx context.Context, r *api.DisableRpkiRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DisableRpki(ctx, r) } -func (s *server) ResetRpki(ctx context.Context, r *api.ResetRpkiRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.ResetRpki(ctx, r) +func (s *server) ResetRpki(ctx context.Context, r *api.ResetRpkiRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.ResetRpki(ctx, r) } func (s *server) ListRpki(r *api.ListRpkiRequest, stream api.GobgpApi_ListRpkiServer) error { @@ -481,8 +481,8 @@ func (s *server) ListRpkiTable(r *api.ListRpkiTableRequest, stream api.GobgpApi_ return s.bgpServer.ListRpkiTable(ctx, r, fn) } -func (s *server) EnableZebra(ctx context.Context, r *api.EnableZebraRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.EnableZebra(ctx, r) +func (s *server) EnableZebra(ctx context.Context, r *api.EnableZebraRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.EnableZebra(ctx, r) } func (s *server) ListVrf(r *api.ListVrfRequest, stream api.GobgpApi_ListVrfServer) error { @@ -496,12 +496,12 @@ func (s *server) ListVrf(r *api.ListVrfRequest, stream api.GobgpApi_ListVrfServe return s.bgpServer.ListVrf(ctx, r, fn) } -func (s *server) AddVrf(ctx context.Context, r *api.AddVrfRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddVrf(ctx, r) +func (s *server) AddVrf(ctx context.Context, r *api.AddVrfRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddVrf(ctx, r) } -func (s *server) DeleteVrf(ctx context.Context, r *api.DeleteVrfRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeleteVrf(ctx, r) +func (s *server) DeleteVrf(ctx context.Context, r *api.DeleteVrfRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeleteVrf(ctx, r) } func readMpGracefulRestartFromAPIStruct(c *config.MpGracefulRestart, a *api.MpGracefulRestart) { @@ -853,36 +853,36 @@ func newPeerGroupFromAPIStruct(a *api.PeerGroup) (*config.PeerGroup, error) { return pconf, nil } -func (s *server) AddPeer(ctx context.Context, r *api.AddPeerRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddPeer(ctx, r) +func (s *server) AddPeer(ctx context.Context, r *api.AddPeerRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddPeer(ctx, r) } -func (s *server) DeletePeer(ctx context.Context, r *api.DeletePeerRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeletePeer(ctx, r) +func (s *server) DeletePeer(ctx context.Context, r *api.DeletePeerRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeletePeer(ctx, r) } func (s *server) UpdatePeer(ctx context.Context, r *api.UpdatePeerRequest) (*api.UpdatePeerResponse, error) { return s.bgpServer.UpdatePeer(ctx, r) } -func (s *server) AddPeerGroup(ctx context.Context, r *api.AddPeerGroupRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddPeerGroup(ctx, r) +func (s *server) AddPeerGroup(ctx context.Context, r *api.AddPeerGroupRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddPeerGroup(ctx, r) } -func (s *server) DeletePeerGroup(ctx context.Context, r *api.DeletePeerGroupRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeletePeerGroup(ctx, r) +func (s *server) DeletePeerGroup(ctx context.Context, r *api.DeletePeerGroupRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeletePeerGroup(ctx, r) } func (s *server) UpdatePeerGroup(ctx context.Context, r *api.UpdatePeerGroupRequest) (*api.UpdatePeerGroupResponse, error) { return s.bgpServer.UpdatePeerGroup(ctx, r) } -func (s *server) AddDynamicNeighbor(ctx context.Context, r *api.AddDynamicNeighborRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddDynamicNeighbor(ctx, r) +func (s *server) AddDynamicNeighbor(ctx context.Context, r *api.AddDynamicNeighborRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddDynamicNeighbor(ctx, r) } -func (s *server) DeleteDynamicNeighbor(ctx context.Context, r *api.DeleteDynamicNeighborRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeleteDynamicNeighbor(ctx, r) +func (s *server) DeleteDynamicNeighbor(ctx context.Context, r *api.DeleteDynamicNeighborRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeleteDynamicNeighbor(ctx, r) } func newPrefixFromApiStruct(a *api.Prefix) (*table.Prefix, error) { @@ -1044,12 +1044,12 @@ func (s *server) ListDefinedSet(r *api.ListDefinedSetRequest, stream api.GobgpAp return s.bgpServer.ListDefinedSet(ctx, r, fn) } -func (s *server) AddDefinedSet(ctx context.Context, r *api.AddDefinedSetRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddDefinedSet(ctx, r) +func (s *server) AddDefinedSet(ctx context.Context, r *api.AddDefinedSetRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddDefinedSet(ctx, r) } -func (s *server) DeleteDefinedSet(ctx context.Context, r *api.DeleteDefinedSetRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeleteDefinedSet(ctx, r) +func (s *server) DeleteDefinedSet(ctx context.Context, r *api.DeleteDefinedSetRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeleteDefinedSet(ctx, r) } var _regexpMedActionType = regexp.MustCompile(`([+-]?)(\d+)`) @@ -1399,7 +1399,7 @@ func newAfiSafiInConditionFromApiStruct(a []*api.Family) (*table.AfiSafiInCondit if configType, ok := bgp.AddressFamilyNameMap[bgp.RouteFamily(rf)]; ok { afiSafiTypes = append(afiSafiTypes, config.AfiSafiType(configType)) } else { - return nil, fmt.Errorf("unknown afi-safi-in type value: %d", aType) + return nil, fmt.Errorf("unknown afi-safi-in type value: %v", aType) } } return table.NewAfiSafiInCondition(afiSafiTypes) @@ -1613,12 +1613,12 @@ func (s *server) ListStatement(r *api.ListStatementRequest, stream api.GobgpApi_ return s.bgpServer.ListStatement(ctx, r, fn) } -func (s *server) AddStatement(ctx context.Context, r *api.AddStatementRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddStatement(ctx, r) +func (s *server) AddStatement(ctx context.Context, r *api.AddStatementRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddStatement(ctx, r) } -func (s *server) DeleteStatement(ctx context.Context, r *api.DeleteStatementRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeleteStatement(ctx, r) +func (s *server) DeleteStatement(ctx context.Context, r *api.DeleteStatementRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeleteStatement(ctx, r) } func newConfigPolicyFromApiStruct(a *api.Policy) (*config.PolicyDefinition, error) { @@ -1695,12 +1695,12 @@ func (s *server) ListPolicy(r *api.ListPolicyRequest, stream api.GobgpApi_ListPo return s.bgpServer.ListPolicy(ctx, r, fn) } -func (s *server) AddPolicy(ctx context.Context, r *api.AddPolicyRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddPolicy(ctx, r) +func (s *server) AddPolicy(ctx context.Context, r *api.AddPolicyRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddPolicy(ctx, r) } -func (s *server) DeletePolicy(ctx context.Context, r *api.DeletePolicyRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeletePolicy(ctx, r) +func (s *server) DeletePolicy(ctx context.Context, r *api.DeletePolicyRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeletePolicy(ctx, r) } func (s *server) ListPolicyAssignment(r *api.ListPolicyAssignmentRequest, stream api.GobgpApi_ListPolicyAssignmentServer) error { @@ -1733,16 +1733,16 @@ func toPolicyDefinition(policies []*api.Policy) []*config.PolicyDefinition { return l } -func (s *server) AddPolicyAssignment(ctx context.Context, r *api.AddPolicyAssignmentRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.AddPolicyAssignment(ctx, r) +func (s *server) AddPolicyAssignment(ctx context.Context, r *api.AddPolicyAssignmentRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.AddPolicyAssignment(ctx, r) } -func (s *server) DeletePolicyAssignment(ctx context.Context, r *api.DeletePolicyAssignmentRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.DeletePolicyAssignment(ctx, r) +func (s *server) DeletePolicyAssignment(ctx context.Context, r *api.DeletePolicyAssignmentRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.DeletePolicyAssignment(ctx, r) } -func (s *server) SetPolicyAssignment(ctx context.Context, r *api.SetPolicyAssignmentRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.SetPolicyAssignment(ctx, r) +func (s *server) SetPolicyAssignment(ctx context.Context, r *api.SetPolicyAssignmentRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.SetPolicyAssignment(ctx, r) } func (s *server) GetBgp(ctx context.Context, r *api.GetBgpRequest) (*api.GetBgpResponse, error) { @@ -1831,18 +1831,18 @@ func newGlobalFromAPIStruct(a *api.Global) *config.Global { return global } -func (s *server) StartBgp(ctx context.Context, r *api.StartBgpRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.StartBgp(ctx, r) +func (s *server) StartBgp(ctx context.Context, r *api.StartBgpRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.StartBgp(ctx, r) } -func (s *server) StopBgp(ctx context.Context, r *api.StopBgpRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.StopBgp(ctx, r) +func (s *server) StopBgp(ctx context.Context, r *api.StopBgpRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.StopBgp(ctx, r) } func (s *server) GetTable(ctx context.Context, r *api.GetTableRequest) (*api.GetTableResponse, error) { return s.bgpServer.GetTable(ctx, r) } -func (s *server) SetLogLevel(ctx context.Context, r *api.SetLogLevelRequest) (*empty.Empty, error) { - return &empty.Empty{}, s.bgpServer.SetLogLevel(ctx, r) +func (s *server) SetLogLevel(ctx context.Context, r *api.SetLogLevelRequest) (*emptypb.Empty, error) { + return &emptypb.Empty{}, s.bgpServer.SetLogLevel(ctx, r) } diff --git a/pkg/server/mrt.go b/pkg/server/mrt.go index 6ce64c14..f97e0879 100644 --- a/pkg/server/mrt.go +++ b/pkg/server/mrt.go @@ -21,10 +21,10 @@ import ( "os" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/packet/mrt" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/mrt" log "github.com/sirupsen/logrus" ) diff --git a/pkg/server/peer.go b/pkg/server/peer.go index 243a3dcc..3f41cc19 100644 --- a/pkg/server/peer.go +++ b/pkg/server/peer.go @@ -20,9 +20,9 @@ import ( "net" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/pkg/server/rpki.go b/pkg/server/rpki.go index 00fbfcfa..7186e7d1 100644 --- a/pkg/server/rpki.go +++ b/pkg/server/rpki.go @@ -23,13 +23,13 @@ import ( "strconv" "time" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" - "github.com/osrg/gobgp/pkg/packet/rtr" - log "github.com/sirupsen/logrus" "golang.org/x/net/context" + + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/rtr" ) const ( diff --git a/pkg/server/server.go b/pkg/server/server.go index 97ec41cc..9ee32cfc 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -31,12 +31,12 @@ import ( log "github.com/sirupsen/logrus" "google.golang.org/grpc" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/internal/pkg/zebra" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/internal/pkg/zebra" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) type tcpListener struct { diff --git a/pkg/server/server_test.go b/pkg/server/server_test.go index 5220663b..6b2aa471 100644 --- a/pkg/server/server_test.go +++ b/pkg/server/server_test.go @@ -24,17 +24,16 @@ import ( "testing" "time" - "github.com/golang/protobuf/ptypes" - "github.com/golang/protobuf/ptypes/any" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + apb "google.golang.org/protobuf/types/known/anypb" - api "github.com/osrg/gobgp/api" - "github.com/osrg/gobgp/internal/pkg/apiutil" - "github.com/osrg/gobgp/internal/pkg/config" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/pkg/packet/bgp" + api "github.com/osrg/gobgp/v3/api" + "github.com/osrg/gobgp/v3/internal/pkg/apiutil" + "github.com/osrg/gobgp/v3/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) func TestStop(t *testing.T) { @@ -296,18 +295,18 @@ func TestListPathEnableFiltered(test *testing.T) { Safi: api.Family_SAFI_UNICAST, } - nlri1, _ := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri1, _ := apb.New(&api.IPAddressPrefix{ Prefix: "10.1.0.0", PrefixLen: 24, }) - a1, _ := ptypes.MarshalAny(&api.OriginAttribute{ + a1, _ := apb.New(&api.OriginAttribute{ Origin: 0, }) - a2, _ := ptypes.MarshalAny(&api.NextHopAttribute{ + a2, _ := apb.New(&api.NextHopAttribute{ NextHop: "10.0.0.1", }) - attrs := []*any.Any{a1, a2} + attrs := []*apb.Any{a1, a2} t.AddPath(context.Background(), &api.AddPathRequest{ TableType: api.TableType_GLOBAL, @@ -318,7 +317,7 @@ func TestListPathEnableFiltered(test *testing.T) { }, }) - nlri2, _ := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri2, _ := apb.New(&api.IPAddressPrefix{ Prefix: "10.2.0.0", PrefixLen: 24, }) @@ -420,7 +419,7 @@ func TestListPathEnableFiltered(test *testing.T) { }) assert.Nil(err) - nlri3, _ := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri3, _ := apb.New(&api.IPAddressPrefix{ Prefix: "10.3.0.0", PrefixLen: 24, }) @@ -433,7 +432,7 @@ func TestListPathEnableFiltered(test *testing.T) { }, }) - nlri4, _ := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri4, _ := apb.New(&api.IPAddressPrefix{ Prefix: "10.4.0.0", PrefixLen: 24, }) @@ -1382,18 +1381,18 @@ func TestAddDeletePath(t *testing.T) { ctx := context.Background() s := runNewServer(1, "1.1.1.1", 10179) - nlri, _ := ptypes.MarshalAny(&api.IPAddressPrefix{ + nlri, _ := apb.New(&api.IPAddressPrefix{ Prefix: "10.0.0.0", PrefixLen: 24, }) - a1, _ := ptypes.MarshalAny(&api.OriginAttribute{ + a1, _ := apb.New(&api.OriginAttribute{ Origin: 0, }) - a2, _ := ptypes.MarshalAny(&api.NextHopAttribute{ + a2, _ := apb.New(&api.NextHopAttribute{ NextHop: "10.0.0.1", }) - attrs := []*any.Any{a1, a2} + attrs := []*apb.Any{a1, a2} family := &api.Family{ Afi: api.Family_AFI_IP, @@ -1519,7 +1518,7 @@ func TestAddDeletePath(t *testing.T) { assert.Equal(t, len(s.uuidMap), 1) u := r.Uuid - asPath, _ := ptypes.MarshalAny(&api.AsPathAttribute{ + asPath, _ := apb.New(&api.AsPathAttribute{ Segments: []*api.AsSegment{ { Type: 1, // SET @@ -1568,22 +1567,22 @@ func TestAddBogusPath(t *testing.T) { ctx := context.Background() s := runNewServer(1, "1.1.1.1", 10179) - nlri, _ := ptypes.MarshalAny(&api.IPAddressPrefix{}) + nlri, _ := apb.New(&api.IPAddressPrefix{}) - a, _ := ptypes.MarshalAny(&api.MpReachNLRIAttribute{}) + a, _ := apb.New(&api.MpReachNLRIAttribute{}) _, err := s.AddPath(ctx, &api.AddPathRequest{ Path: &api.Path{ Family: &api.Family{Afi: api.Family_AFI_IP, Safi: api.Family_SAFI_UNICAST}, Nlri: nlri, - Pattrs: []*any.Any{a}, + Pattrs: []*apb.Any{a}, }, }) assert.NotNil(t, err) - nlri, _ = ptypes.MarshalAny(&api.IPAddressPrefix{}) + nlri, _ = apb.New(&api.IPAddressPrefix{}) - a, _ = ptypes.MarshalAny(&api.MpReachNLRIAttribute{ + a, _ = apb.New(&api.MpReachNLRIAttribute{ Family: &api.Family{Afi: api.Family_AFI_IP, Safi: api.Family_SAFI_FLOW_SPEC_UNICAST}, }) @@ -1591,7 +1590,7 @@ func TestAddBogusPath(t *testing.T) { Path: &api.Path{ Family: &api.Family{Afi: api.Family_AFI_IP, Safi: api.Family_SAFI_UNICAST}, Nlri: nlri, - Pattrs: []*any.Any{a}, + Pattrs: []*apb.Any{a}, }, }) assert.NotNil(t, err) diff --git a/pkg/server/sockopt.go b/pkg/server/sockopt.go index 235bbbb9..ec616d18 100644 --- a/pkg/server/sockopt.go +++ b/pkg/server/sockopt.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build !linux && !openbsd // +build !linux,!openbsd package server diff --git a/pkg/server/sockopt_bsd.go b/pkg/server/sockopt_bsd.go index 942e1289..58411cc6 100644 --- a/pkg/server/sockopt_bsd.go +++ b/pkg/server/sockopt_bsd.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build dragonfly || freebsd || netbsd // +build dragonfly freebsd netbsd package server diff --git a/pkg/server/sockopt_darwin.go b/pkg/server/sockopt_darwin.go index 30220952..2322d283 100644 --- a/pkg/server/sockopt_darwin.go +++ b/pkg/server/sockopt_darwin.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build darwin // +build darwin package server diff --git a/pkg/server/sockopt_linux.go b/pkg/server/sockopt_linux.go index 55d27bd4..e5d3affa 100644 --- a/pkg/server/sockopt_linux.go +++ b/pkg/server/sockopt_linux.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build linux // +build linux package server diff --git a/pkg/server/sockopt_linux_test.go b/pkg/server/sockopt_linux_test.go index d9ca3d5e..54764ebd 100644 --- a/pkg/server/sockopt_linux_test.go +++ b/pkg/server/sockopt_linux_test.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build linux // +build linux package server diff --git a/pkg/server/sockopt_openbsd.go b/pkg/server/sockopt_openbsd.go index 612047ca..3ff868b7 100644 --- a/pkg/server/sockopt_openbsd.go +++ b/pkg/server/sockopt_openbsd.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build openbsd // +build openbsd package server diff --git a/pkg/server/sockopt_stub.go b/pkg/server/sockopt_stub.go index fd600e3a..372541a1 100644 --- a/pkg/server/sockopt_stub.go +++ b/pkg/server/sockopt_stub.go @@ -12,6 +12,7 @@ // implied. // See the License for the specific language governing permissions and // limitations under the License. +//go:build !linux && !dragonfly && !freebsd && !netbsd && !openbsd && !darwin // +build !linux,!dragonfly,!freebsd,!netbsd,!openbsd,!darwin package server diff --git a/pkg/server/util.go b/pkg/server/util.go index 474d495b..1ca64fc4 100644 --- a/pkg/server/util.go +++ b/pkg/server/util.go @@ -22,7 +22,7 @@ import ( "github.com/eapache/channels" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" ) func cleanInfiniteChannel(ch *channels.InfiniteChannel) { diff --git a/pkg/server/zclient.go b/pkg/server/zclient.go index 645cb0f4..7fab29d0 100644 --- a/pkg/server/zclient.go +++ b/pkg/server/zclient.go @@ -24,9 +24,9 @@ import ( "syscall" "time" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/internal/pkg/zebra" - "github.com/osrg/gobgp/pkg/packet/bgp" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/internal/pkg/zebra" + "github.com/osrg/gobgp/v3/pkg/packet/bgp" log "github.com/sirupsen/logrus" ) diff --git a/pkg/server/zclient_test.go b/pkg/server/zclient_test.go index fbd189d6..0506ea51 100644 --- a/pkg/server/zclient_test.go +++ b/pkg/server/zclient_test.go @@ -22,8 +22,8 @@ import ( "github.com/stretchr/testify/assert" - "github.com/osrg/gobgp/internal/pkg/table" - "github.com/osrg/gobgp/internal/pkg/zebra" + "github.com/osrg/gobgp/v3/internal/pkg/table" + "github.com/osrg/gobgp/v3/internal/pkg/zebra" ) func Test_newPathFromIPRouteMessage(t *testing.T) { diff --git a/tools/config/example_toml.go b/tools/config/example_toml.go index 0018f582..9e1751fd 100644 --- a/tools/config/example_toml.go +++ b/tools/config/example_toml.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/BurntSushi/toml" - "github.com/osrg/gobgp/internal/pkg/config" + "github.com/osrg/gobgp/v3/internal/pkg/config" ) func main() { diff --git a/tools/grep_avoided_functions.sh b/tools/grep_avoided_functions.sh index 26681a43..b8434ff5 100755 --- a/tools/grep_avoided_functions.sh +++ b/tools/grep_avoided_functions.sh @@ -13,7 +13,7 @@ cd "${SCRIPT_DIR}/.." RESULT=0 -PKG_BASE=github.com/osrg/gobgp +PKG_BASE=github.com/osrg/gobgp/v3 for FUNC in ${FUNCS[@]} do diff --git a/tools/grpc/genproto.sh b/tools/grpc/genproto.sh index e82320eb..bb19703b 100755 --- a/tools/grpc/genproto.sh +++ b/tools/grpc/genproto.sh @@ -13,21 +13,15 @@ if ! [[ "$0" =~ "tools/grpc/genproto.sh" ]]; then exit 255 fi -if ! [[ $(protoc --version) =~ "3.7.1" ]]; then - echo "could not find protoc 3.7.1, is it installed + in PATH?" +if ! [[ $(protoc --version) =~ "3.19.1" ]]; then + echo "could not find protoc 3.19.1, is it installed + in PATH?" exit 255 fi echo "installing plugins" -GO111MODULE=on go mod download - -INSTALL_PKGS="github.com/golang/protobuf/protoc-gen-go" -for pkg in ${INSTALL_PKGS}; do - GO111MODULE=on go install "$pkg" -done - -GOBGP="${PWD}" +go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.27.1 +go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0 echo "generating code" -protoc -I "${GOBGP}"/api \ - --go_out=plugins=grpc:${GOBGP}/api "${GOBGP}"/api/*.proto +protoc -I api -I /usr/local/include \ + --go_out=api --go_opt=paths=source_relative --go-grpc_out=api --go-grpc_opt=paths=source_relative api/*.proto diff --git a/tools/tools.go b/tools/tools.go index 2929aa67..7a24f57e 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -18,5 +18,5 @@ package tools import ( - _ "github.com/golang/protobuf/protoc-gen-go" + _ "google.golang.org/protobuf/cmd/protoc-gen-go" )