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" )