/
BudarinSA
/
gobgp
Обзор
Документация
Войти
/
BudarinSA
/
gobgp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
api/attribute.pb.go
6 626 строк
208 KB
Pau Nadeu
api, apiutil: surface RFC 9351 Flex-Algorithm Definition + multi-SID Prefix-SID
03 июн 2026, 18:56
03 июн 2026, 18:56
c29c820
Код
Авторство
О чём код?
// 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.36.6 // protoc (unknown) // source: api/attribute.proto package api import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SRV6Behavior int32 const ( SRV6Behavior_SRV6_BEHAVIOR_UNSPECIFIED SRV6Behavior = 0 SRV6Behavior_SRV6_BEHAVIOR_END SRV6Behavior = 1 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_PSP SRV6Behavior = 2 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_USP SRV6Behavior = 3 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_PSP_USP SRV6Behavior = 4 SRV6Behavior_SRV6_BEHAVIOR_ENDX SRV6Behavior = 5 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_PSP SRV6Behavior = 6 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_USP SRV6Behavior = 7 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_PSP_USP SRV6Behavior = 8 SRV6Behavior_SRV6_BEHAVIOR_ENDT SRV6Behavior = 9 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_PSP SRV6Behavior = 10 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_USP SRV6Behavior = 11 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_PSP_USP SRV6Behavior = 12 SRV6Behavior_SRV6_BEHAVIOR_END_B6_ENCAPS SRV6Behavior = 14 SRV6Behavior_SRV6_BEHAVIOR_END_BM SRV6Behavior = 15 SRV6Behavior_SRV6_BEHAVIOR_END_DX6 SRV6Behavior = 16 SRV6Behavior_SRV6_BEHAVIOR_END_DX4 SRV6Behavior = 17 SRV6Behavior_SRV6_BEHAVIOR_END_DT6 SRV6Behavior = 18 SRV6Behavior_SRV6_BEHAVIOR_END_DT4 SRV6Behavior = 19 SRV6Behavior_SRV6_BEHAVIOR_END_DT46 SRV6Behavior = 20 SRV6Behavior_SRV6_BEHAVIOR_END_DX2 SRV6Behavior = 21 SRV6Behavior_SRV6_BEHAVIOR_END_DX2V SRV6Behavior = 22 SRV6Behavior_SRV6_BEHAVIOR_END_DT2U SRV6Behavior = 23 SRV6Behavior_SRV6_BEHAVIOR_END_DT2M SRV6Behavior = 24 SRV6Behavior_SRV6_BEHAVIOR_END_B6_ENCAPS_RED SRV6Behavior = 27 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_USD SRV6Behavior = 28 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_PSP_USD SRV6Behavior = 29 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_USP_USD SRV6Behavior = 30 SRV6Behavior_SRV6_BEHAVIOR_END_WITH_PSP_USP_USD SRV6Behavior = 31 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_USD SRV6Behavior = 32 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_PSP_USD SRV6Behavior = 33 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_USP_USD SRV6Behavior = 34 SRV6Behavior_SRV6_BEHAVIOR_ENDX_WITH_PSP_USP_USD SRV6Behavior = 35 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_USD SRV6Behavior = 36 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_PSP_USD SRV6Behavior = 37 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_USP_USD SRV6Behavior = 38 SRV6Behavior_SRV6_BEHAVIOR_ENDT_WITH_PSP_USP_USD SRV6Behavior = 39 SRV6Behavior_SRV6_BEHAVIOR_ENDM_GTP6D SRV6Behavior = 69 // 0x0045 SRV6Behavior_SRV6_BEHAVIOR_ENDM_GTP6DI SRV6Behavior = 70 // 0x0046 SRV6Behavior_SRV6_BEHAVIOR_ENDM_GTP6E SRV6Behavior = 71 // 0x0047 SRV6Behavior_SRV6_BEHAVIOR_ENDM_GTP4E SRV6Behavior = 72 // 0x0048 ) // Enum value maps for SRV6Behavior. var ( SRV6Behavior_name = map[int32]string{ 0: "SRV6_BEHAVIOR_UNSPECIFIED", 1: "SRV6_BEHAVIOR_END", 2: "SRV6_BEHAVIOR_END_WITH_PSP", 3: "SRV6_BEHAVIOR_END_WITH_USP", 4: "SRV6_BEHAVIOR_END_WITH_PSP_USP", 5: "SRV6_BEHAVIOR_ENDX", 6: "SRV6_BEHAVIOR_ENDX_WITH_PSP", 7: "SRV6_BEHAVIOR_ENDX_WITH_USP", 8: "SRV6_BEHAVIOR_ENDX_WITH_PSP_USP", 9: "SRV6_BEHAVIOR_ENDT", 10: "SRV6_BEHAVIOR_ENDT_WITH_PSP", 11: "SRV6_BEHAVIOR_ENDT_WITH_USP", 12: "SRV6_BEHAVIOR_ENDT_WITH_PSP_USP", 14: "SRV6_BEHAVIOR_END_B6_ENCAPS", 15: "SRV6_BEHAVIOR_END_BM", 16: "SRV6_BEHAVIOR_END_DX6", 17: "SRV6_BEHAVIOR_END_DX4", 18: "SRV6_BEHAVIOR_END_DT6", 19: "SRV6_BEHAVIOR_END_DT4", 20: "SRV6_BEHAVIOR_END_DT46", 21: "SRV6_BEHAVIOR_END_DX2", 22: "SRV6_BEHAVIOR_END_DX2V", 23: "SRV6_BEHAVIOR_END_DT2U", 24: "SRV6_BEHAVIOR_END_DT2M", 27: "SRV6_BEHAVIOR_END_B6_ENCAPS_RED", 28: "SRV6_BEHAVIOR_END_WITH_USD", 29: "SRV6_BEHAVIOR_END_WITH_PSP_USD", 30: "SRV6_BEHAVIOR_END_WITH_USP_USD", 31: "SRV6_BEHAVIOR_END_WITH_PSP_USP_USD", 32: "SRV6_BEHAVIOR_ENDX_WITH_USD", 33: "SRV6_BEHAVIOR_ENDX_WITH_PSP_USD", 34: "SRV6_BEHAVIOR_ENDX_WITH_USP_USD", 35: "SRV6_BEHAVIOR_ENDX_WITH_PSP_USP_USD", 36: "SRV6_BEHAVIOR_ENDT_WITH_USD", 37: "SRV6_BEHAVIOR_ENDT_WITH_PSP_USD", 38: "SRV6_BEHAVIOR_ENDT_WITH_USP_USD", 39: "SRV6_BEHAVIOR_ENDT_WITH_PSP_USP_USD", 69: "SRV6_BEHAVIOR_ENDM_GTP6D", 70: "SRV6_BEHAVIOR_ENDM_GTP6DI", 71: "SRV6_BEHAVIOR_ENDM_GTP6E", 72: "SRV6_BEHAVIOR_ENDM_GTP4E", } SRV6Behavior_value = map[string]int32{ "SRV6_BEHAVIOR_UNSPECIFIED": 0, "SRV6_BEHAVIOR_END": 1, "SRV6_BEHAVIOR_END_WITH_PSP": 2, "SRV6_BEHAVIOR_END_WITH_USP": 3, "SRV6_BEHAVIOR_END_WITH_PSP_USP": 4, "SRV6_BEHAVIOR_ENDX": 5, "SRV6_BEHAVIOR_ENDX_WITH_PSP": 6, "SRV6_BEHAVIOR_ENDX_WITH_USP": 7, "SRV6_BEHAVIOR_ENDX_WITH_PSP_USP": 8, "SRV6_BEHAVIOR_ENDT": 9, "SRV6_BEHAVIOR_ENDT_WITH_PSP": 10, "SRV6_BEHAVIOR_ENDT_WITH_USP": 11, "SRV6_BEHAVIOR_ENDT_WITH_PSP_USP": 12, "SRV6_BEHAVIOR_END_B6_ENCAPS": 14, "SRV6_BEHAVIOR_END_BM": 15, "SRV6_BEHAVIOR_END_DX6": 16, "SRV6_BEHAVIOR_END_DX4": 17, "SRV6_BEHAVIOR_END_DT6": 18, "SRV6_BEHAVIOR_END_DT4": 19, "SRV6_BEHAVIOR_END_DT46": 20, "SRV6_BEHAVIOR_END_DX2": 21, "SRV6_BEHAVIOR_END_DX2V": 22, "SRV6_BEHAVIOR_END_DT2U": 23, "SRV6_BEHAVIOR_END_DT2M": 24, "SRV6_BEHAVIOR_END_B6_ENCAPS_RED": 27, "SRV6_BEHAVIOR_END_WITH_USD": 28, "SRV6_BEHAVIOR_END_WITH_PSP_USD": 29, "SRV6_BEHAVIOR_END_WITH_USP_USD": 30, "SRV6_BEHAVIOR_END_WITH_PSP_USP_USD": 31, "SRV6_BEHAVIOR_ENDX_WITH_USD": 32, "SRV6_BEHAVIOR_ENDX_WITH_PSP_USD": 33, "SRV6_BEHAVIOR_ENDX_WITH_USP_USD": 34, "SRV6_BEHAVIOR_ENDX_WITH_PSP_USP_USD": 35, "SRV6_BEHAVIOR_ENDT_WITH_USD": 36, "SRV6_BEHAVIOR_ENDT_WITH_PSP_USD": 37, "SRV6_BEHAVIOR_ENDT_WITH_USP_USD": 38, "SRV6_BEHAVIOR_ENDT_WITH_PSP_USP_USD": 39, "SRV6_BEHAVIOR_ENDM_GTP6D": 69, "SRV6_BEHAVIOR_ENDM_GTP6DI": 70, "SRV6_BEHAVIOR_ENDM_GTP6E": 71, "SRV6_BEHAVIOR_ENDM_GTP4E": 72, } ) func (x SRV6Behavior) Enum() *SRV6Behavior { p := new(SRV6Behavior) *p = x return p } func (x SRV6Behavior) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SRV6Behavior) Descriptor() protoreflect.EnumDescriptor { return file_api_attribute_proto_enumTypes[0].Descriptor() } func (SRV6Behavior) Type() protoreflect.EnumType { return &file_api_attribute_proto_enumTypes[0] } func (x SRV6Behavior) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SRV6Behavior.Descriptor instead. func (SRV6Behavior) EnumDescriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{0} } type ENLPType int32 const ( ENLPType_ENLP_TYPE_UNSPECIFIED ENLPType = 0 ENLPType_ENLP_TYPE_TYPE1 ENLPType = 1 ENLPType_ENLP_TYPE_TYPE2 ENLPType = 2 ENLPType_ENLP_TYPE_TYPE3 ENLPType = 3 ENLPType_ENLP_TYPE_TYPE4 ENLPType = 4 ) // Enum value maps for ENLPType. var ( ENLPType_name = map[int32]string{ 0: "ENLP_TYPE_UNSPECIFIED", 1: "ENLP_TYPE_TYPE1", 2: "ENLP_TYPE_TYPE2", 3: "ENLP_TYPE_TYPE3", 4: "ENLP_TYPE_TYPE4", } ENLPType_value = map[string]int32{ "ENLP_TYPE_UNSPECIFIED": 0, "ENLP_TYPE_TYPE1": 1, "ENLP_TYPE_TYPE2": 2, "ENLP_TYPE_TYPE3": 3, "ENLP_TYPE_TYPE4": 4, } ) func (x ENLPType) Enum() *ENLPType { p := new(ENLPType) *p = x return p } func (x ENLPType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ENLPType) Descriptor() protoreflect.EnumDescriptor { return file_api_attribute_proto_enumTypes[1].Descriptor() } func (ENLPType) Type() protoreflect.EnumType { return &file_api_attribute_proto_enumTypes[1] } func (x ENLPType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ENLPType.Descriptor instead. func (ENLPType) EnumDescriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{1} } type AsSegment_Type int32 const ( AsSegment_TYPE_UNSPECIFIED AsSegment_Type = 0 AsSegment_TYPE_AS_SET AsSegment_Type = 1 AsSegment_TYPE_AS_SEQUENCE AsSegment_Type = 2 AsSegment_TYPE_AS_CONFED_SEQUENCE AsSegment_Type = 3 AsSegment_TYPE_AS_CONFED_SET AsSegment_Type = 4 ) // Enum value maps for AsSegment_Type. var ( AsSegment_Type_name = map[int32]string{ 0: "TYPE_UNSPECIFIED", 1: "TYPE_AS_SET", 2: "TYPE_AS_SEQUENCE", 3: "TYPE_AS_CONFED_SEQUENCE", 4: "TYPE_AS_CONFED_SET", } AsSegment_Type_value = map[string]int32{ "TYPE_UNSPECIFIED": 0, "TYPE_AS_SET": 1, "TYPE_AS_SEQUENCE": 2, "TYPE_AS_CONFED_SEQUENCE": 3, "TYPE_AS_CONFED_SET": 4, } ) func (x AsSegment_Type) Enum() *AsSegment_Type { p := new(AsSegment_Type) *p = x return p } func (x AsSegment_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AsSegment_Type) Descriptor() protoreflect.EnumDescriptor { return file_api_attribute_proto_enumTypes[2].Descriptor() } func (AsSegment_Type) Type() protoreflect.EnumType { return &file_api_attribute_proto_enumTypes[2] } func (x AsSegment_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AsSegment_Type.Descriptor instead. func (AsSegment_Type) EnumDescriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{2, 0} } type Attribute struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Attr: // // *Attribute_Unknown // *Attribute_Origin // *Attribute_AsPath // *Attribute_NextHop // *Attribute_MultiExitDisc // *Attribute_LocalPref // *Attribute_AtomicAggregate // *Attribute_Aggregator // *Attribute_Communities // *Attribute_OriginatorId // *Attribute_ClusterList // *Attribute_MpReach // *Attribute_MpUnreach // *Attribute_ExtendedCommunities // *Attribute_As4Path // *Attribute_As4Aggregator // *Attribute_PmsiTunnel // *Attribute_TunnelEncap // *Attribute_Ip6ExtendedCommunities // *Attribute_Aigp // *Attribute_LargeCommunities // *Attribute_Ls // *Attribute_PrefixSid Attr isAttribute_Attr `protobuf_oneof:"attr"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Attribute) Reset() { *x = Attribute{} mi := &file_api_attribute_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Attribute) String() string { return protoimpl.X.MessageStringOf(x) } func (*Attribute) ProtoMessage() {} func (x *Attribute) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Attribute.ProtoReflect.Descriptor instead. func (*Attribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{0} } func (x *Attribute) GetAttr() isAttribute_Attr { if x != nil { return x.Attr } return nil } func (x *Attribute) GetUnknown() *UnknownAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Unknown); ok { return x.Unknown } } return nil } func (x *Attribute) GetOrigin() *OriginAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Origin); ok { return x.Origin } } return nil } func (x *Attribute) GetAsPath() *AsPathAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_AsPath); ok { return x.AsPath } } return nil } func (x *Attribute) GetNextHop() *NextHopAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_NextHop); ok { return x.NextHop } } return nil } func (x *Attribute) GetMultiExitDisc() *MultiExitDiscAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_MultiExitDisc); ok { return x.MultiExitDisc } } return nil } func (x *Attribute) GetLocalPref() *LocalPrefAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_LocalPref); ok { return x.LocalPref } } return nil } func (x *Attribute) GetAtomicAggregate() *AtomicAggregateAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_AtomicAggregate); ok { return x.AtomicAggregate } } return nil } func (x *Attribute) GetAggregator() *AggregatorAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Aggregator); ok { return x.Aggregator } } return nil } func (x *Attribute) GetCommunities() *CommunitiesAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Communities); ok { return x.Communities } } return nil } func (x *Attribute) GetOriginatorId() *OriginatorIdAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_OriginatorId); ok { return x.OriginatorId } } return nil } func (x *Attribute) GetClusterList() *ClusterListAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_ClusterList); ok { return x.ClusterList } } return nil } func (x *Attribute) GetMpReach() *MpReachNLRIAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_MpReach); ok { return x.MpReach } } return nil } func (x *Attribute) GetMpUnreach() *MpUnreachNLRIAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_MpUnreach); ok { return x.MpUnreach } } return nil } func (x *Attribute) GetExtendedCommunities() *ExtendedCommunitiesAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_ExtendedCommunities); ok { return x.ExtendedCommunities } } return nil } func (x *Attribute) GetAs4Path() *As4PathAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_As4Path); ok { return x.As4Path } } return nil } func (x *Attribute) GetAs4Aggregator() *As4AggregatorAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_As4Aggregator); ok { return x.As4Aggregator } } return nil } func (x *Attribute) GetPmsiTunnel() *PmsiTunnelAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_PmsiTunnel); ok { return x.PmsiTunnel } } return nil } func (x *Attribute) GetTunnelEncap() *TunnelEncapAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_TunnelEncap); ok { return x.TunnelEncap } } return nil } func (x *Attribute) GetIp6ExtendedCommunities() *IP6ExtendedCommunitiesAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Ip6ExtendedCommunities); ok { return x.Ip6ExtendedCommunities } } return nil } func (x *Attribute) GetAigp() *AigpAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Aigp); ok { return x.Aigp } } return nil } func (x *Attribute) GetLargeCommunities() *LargeCommunitiesAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_LargeCommunities); ok { return x.LargeCommunities } } return nil } func (x *Attribute) GetLs() *LsAttribute { if x != nil { if x, ok := x.Attr.(*Attribute_Ls); ok { return x.Ls } } return nil } func (x *Attribute) GetPrefixSid() *PrefixSID { if x != nil { if x, ok := x.Attr.(*Attribute_PrefixSid); ok { return x.PrefixSid } } return nil } type isAttribute_Attr interface { isAttribute_Attr() } type Attribute_Unknown struct { Unknown *UnknownAttribute `protobuf:"bytes,1,opt,name=unknown,proto3,oneof"` } type Attribute_Origin struct { Origin *OriginAttribute `protobuf:"bytes,2,opt,name=origin,proto3,oneof"` } type Attribute_AsPath struct { AsPath *AsPathAttribute `protobuf:"bytes,3,opt,name=as_path,json=asPath,proto3,oneof"` } type Attribute_NextHop struct { NextHop *NextHopAttribute `protobuf:"bytes,4,opt,name=next_hop,json=nextHop,proto3,oneof"` } type Attribute_MultiExitDisc struct { MultiExitDisc *MultiExitDiscAttribute `protobuf:"bytes,5,opt,name=multi_exit_disc,json=multiExitDisc,proto3,oneof"` } type Attribute_LocalPref struct { LocalPref *LocalPrefAttribute `protobuf:"bytes,6,opt,name=local_pref,json=localPref,proto3,oneof"` } type Attribute_AtomicAggregate struct { AtomicAggregate *AtomicAggregateAttribute `protobuf:"bytes,7,opt,name=atomic_aggregate,json=atomicAggregate,proto3,oneof"` } type Attribute_Aggregator struct { Aggregator *AggregatorAttribute `protobuf:"bytes,8,opt,name=aggregator,proto3,oneof"` } type Attribute_Communities struct { Communities *CommunitiesAttribute `protobuf:"bytes,9,opt,name=communities,proto3,oneof"` } type Attribute_OriginatorId struct { OriginatorId *OriginatorIdAttribute `protobuf:"bytes,10,opt,name=originator_id,json=originatorId,proto3,oneof"` } type Attribute_ClusterList struct { ClusterList *ClusterListAttribute `protobuf:"bytes,11,opt,name=cluster_list,json=clusterList,proto3,oneof"` } type Attribute_MpReach struct { MpReach *MpReachNLRIAttribute `protobuf:"bytes,12,opt,name=mp_reach,json=mpReach,proto3,oneof"` } type Attribute_MpUnreach struct { MpUnreach *MpUnreachNLRIAttribute `protobuf:"bytes,13,opt,name=mp_unreach,json=mpUnreach,proto3,oneof"` } type Attribute_ExtendedCommunities struct { ExtendedCommunities *ExtendedCommunitiesAttribute `protobuf:"bytes,14,opt,name=extended_communities,json=extendedCommunities,proto3,oneof"` } type Attribute_As4Path struct { As4Path *As4PathAttribute `protobuf:"bytes,15,opt,name=as4_path,json=as4Path,proto3,oneof"` } type Attribute_As4Aggregator struct { As4Aggregator *As4AggregatorAttribute `protobuf:"bytes,16,opt,name=as4_aggregator,json=as4Aggregator,proto3,oneof"` } type Attribute_PmsiTunnel struct { PmsiTunnel *PmsiTunnelAttribute `protobuf:"bytes,17,opt,name=pmsi_tunnel,json=pmsiTunnel,proto3,oneof"` } type Attribute_TunnelEncap struct { TunnelEncap *TunnelEncapAttribute `protobuf:"bytes,18,opt,name=tunnel_encap,json=tunnelEncap,proto3,oneof"` } type Attribute_Ip6ExtendedCommunities struct { Ip6ExtendedCommunities *IP6ExtendedCommunitiesAttribute `protobuf:"bytes,19,opt,name=ip6_extended_communities,json=ip6ExtendedCommunities,proto3,oneof"` } type Attribute_Aigp struct { Aigp *AigpAttribute `protobuf:"bytes,20,opt,name=aigp,proto3,oneof"` } type Attribute_LargeCommunities struct { LargeCommunities *LargeCommunitiesAttribute `protobuf:"bytes,21,opt,name=large_communities,json=largeCommunities,proto3,oneof"` } type Attribute_Ls struct { Ls *LsAttribute `protobuf:"bytes,22,opt,name=ls,proto3,oneof"` } type Attribute_PrefixSid struct { PrefixSid *PrefixSID `protobuf:"bytes,23,opt,name=prefix_sid,json=prefixSid,proto3,oneof"` } func (*Attribute_Unknown) isAttribute_Attr() {} func (*Attribute_Origin) isAttribute_Attr() {} func (*Attribute_AsPath) isAttribute_Attr() {} func (*Attribute_NextHop) isAttribute_Attr() {} func (*Attribute_MultiExitDisc) isAttribute_Attr() {} func (*Attribute_LocalPref) isAttribute_Attr() {} func (*Attribute_AtomicAggregate) isAttribute_Attr() {} func (*Attribute_Aggregator) isAttribute_Attr() {} func (*Attribute_Communities) isAttribute_Attr() {} func (*Attribute_OriginatorId) isAttribute_Attr() {} func (*Attribute_ClusterList) isAttribute_Attr() {} func (*Attribute_MpReach) isAttribute_Attr() {} func (*Attribute_MpUnreach) isAttribute_Attr() {} func (*Attribute_ExtendedCommunities) isAttribute_Attr() {} func (*Attribute_As4Path) isAttribute_Attr() {} func (*Attribute_As4Aggregator) isAttribute_Attr() {} func (*Attribute_PmsiTunnel) isAttribute_Attr() {} func (*Attribute_TunnelEncap) isAttribute_Attr() {} func (*Attribute_Ip6ExtendedCommunities) isAttribute_Attr() {} func (*Attribute_Aigp) isAttribute_Attr() {} func (*Attribute_LargeCommunities) isAttribute_Attr() {} func (*Attribute_Ls) isAttribute_Attr() {} func (*Attribute_PrefixSid) isAttribute_Attr() {} type OriginAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Origin uint32 `protobuf:"varint,1,opt,name=origin,proto3" json:"origin,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OriginAttribute) Reset() { *x = OriginAttribute{} mi := &file_api_attribute_proto_msgTypes[1] 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_api_attribute_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginAttribute.ProtoReflect.Descriptor instead. func (*OriginAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{1} } func (x *OriginAttribute) GetOrigin() uint32 { if x != nil { return x.Origin } return 0 } type AsSegment struct { state protoimpl.MessageState `protogen:"open.v1"` Type AsSegment_Type `protobuf:"varint,1,opt,name=type,proto3,enum=api.AsSegment_Type" json:"type,omitempty"` Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AsSegment) Reset() { *x = AsSegment{} mi := &file_api_attribute_proto_msgTypes[2] 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_api_attribute_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AsSegment.ProtoReflect.Descriptor instead. func (*AsSegment) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{2} } func (x *AsSegment) GetType() AsSegment_Type { if x != nil { return x.Type } return AsSegment_TYPE_UNSPECIFIED } func (x *AsSegment) GetNumbers() []uint32 { if x != nil { return x.Numbers } return nil } type AsPathAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AsPathAttribute) Reset() { *x = AsPathAttribute{} mi := &file_api_attribute_proto_msgTypes[3] 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_api_attribute_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AsPathAttribute.ProtoReflect.Descriptor instead. func (*AsPathAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{3} } func (x *AsPathAttribute) GetSegments() []*AsSegment { if x != nil { return x.Segments } return nil } type NextHopAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *NextHopAttribute) Reset() { *x = NextHopAttribute{} mi := &file_api_attribute_proto_msgTypes[4] 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_api_attribute_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NextHopAttribute.ProtoReflect.Descriptor instead. func (*NextHopAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{4} } func (x *NextHopAttribute) GetNextHop() string { if x != nil { return x.NextHop } return "" } type MultiExitDiscAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Med uint32 `protobuf:"varint,1,opt,name=med,proto3" json:"med,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MultiExitDiscAttribute) Reset() { *x = MultiExitDiscAttribute{} mi := &file_api_attribute_proto_msgTypes[5] 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_api_attribute_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MultiExitDiscAttribute.ProtoReflect.Descriptor instead. func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{5} } func (x *MultiExitDiscAttribute) GetMed() uint32 { if x != nil { return x.Med } return 0 } type LocalPrefAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LocalPrefAttribute) Reset() { *x = LocalPrefAttribute{} mi := &file_api_attribute_proto_msgTypes[6] 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_api_attribute_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LocalPrefAttribute.ProtoReflect.Descriptor instead. func (*LocalPrefAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{6} } func (x *LocalPrefAttribute) GetLocalPref() uint32 { if x != nil { return x.LocalPref } return 0 } type AtomicAggregateAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AtomicAggregateAttribute) Reset() { *x = AtomicAggregateAttribute{} mi := &file_api_attribute_proto_msgTypes[7] 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_api_attribute_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AtomicAggregateAttribute.ProtoReflect.Descriptor instead. func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{7} } type AggregatorAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AggregatorAttribute) Reset() { *x = AggregatorAttribute{} mi := &file_api_attribute_proto_msgTypes[8] 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_api_attribute_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AggregatorAttribute.ProtoReflect.Descriptor instead. func (*AggregatorAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{8} } func (x *AggregatorAttribute) GetAsn() uint32 { if x != nil { return x.Asn } return 0 } func (x *AggregatorAttribute) GetAddress() string { if x != nil { return x.Address } return "" } type CommunitiesAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities,proto3" json:"communities,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommunitiesAttribute) Reset() { *x = CommunitiesAttribute{} mi := &file_api_attribute_proto_msgTypes[9] 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_api_attribute_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunitiesAttribute.ProtoReflect.Descriptor instead. func (*CommunitiesAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{9} } func (x *CommunitiesAttribute) GetCommunities() []uint32 { if x != nil { return x.Communities } return nil } type OriginatorIdAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OriginatorIdAttribute) Reset() { *x = OriginatorIdAttribute{} mi := &file_api_attribute_proto_msgTypes[10] 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_api_attribute_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OriginatorIdAttribute.ProtoReflect.Descriptor instead. func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{10} } func (x *OriginatorIdAttribute) GetId() string { if x != nil { return x.Id } return "" } type ClusterListAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClusterListAttribute) Reset() { *x = ClusterListAttribute{} mi := &file_api_attribute_proto_msgTypes[11] 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_api_attribute_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClusterListAttribute.ProtoReflect.Descriptor instead. func (*ClusterListAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{11} } func (x *ClusterListAttribute) GetIds() []string { if x != nil { return x.Ids } return nil } type MpReachNLRIAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` Nlris []*NLRI `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MpReachNLRIAttribute) Reset() { *x = MpReachNLRIAttribute{} mi := &file_api_attribute_proto_msgTypes[12] 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_api_attribute_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MpReachNLRIAttribute.ProtoReflect.Descriptor instead. func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{12} } func (x *MpReachNLRIAttribute) GetFamily() *Family { if x != nil { return x.Family } return nil } func (x *MpReachNLRIAttribute) GetNextHops() []string { if x != nil { return x.NextHops } return nil } func (x *MpReachNLRIAttribute) GetNlris() []*NLRI { if x != nil { return x.Nlris } return nil } type MpUnreachNLRIAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` // The same as NLRI field of MpReachNLRIAttribute Nlris []*NLRI `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MpUnreachNLRIAttribute) Reset() { *x = MpUnreachNLRIAttribute{} mi := &file_api_attribute_proto_msgTypes[13] 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_api_attribute_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MpUnreachNLRIAttribute.ProtoReflect.Descriptor instead. func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{13} } func (x *MpUnreachNLRIAttribute) GetFamily() *Family { if x != nil { return x.Family } return nil } func (x *MpUnreachNLRIAttribute) GetNlris() []*NLRI { if x != nil { return x.Nlris } return nil } type ExtendedCommunitiesAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Communities []*ExtendedCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ExtendedCommunitiesAttribute) Reset() { *x = ExtendedCommunitiesAttribute{} mi := &file_api_attribute_proto_msgTypes[14] 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_api_attribute_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead. func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{14} } func (x *ExtendedCommunitiesAttribute) GetCommunities() []*ExtendedCommunity { if x != nil { return x.Communities } return nil } type As4PathAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *As4PathAttribute) Reset() { *x = As4PathAttribute{} mi := &file_api_attribute_proto_msgTypes[15] 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_api_attribute_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use As4PathAttribute.ProtoReflect.Descriptor instead. func (*As4PathAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{15} } func (x *As4PathAttribute) GetSegments() []*AsSegment { if x != nil { return x.Segments } return nil } type As4AggregatorAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Asn uint32 `protobuf:"varint,2,opt,name=asn,proto3" json:"asn,omitempty"` Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *As4AggregatorAttribute) Reset() { *x = As4AggregatorAttribute{} mi := &file_api_attribute_proto_msgTypes[16] 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_api_attribute_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use As4AggregatorAttribute.ProtoReflect.Descriptor instead. func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{16} } func (x *As4AggregatorAttribute) GetAsn() uint32 { if x != nil { return x.Asn } return 0 } func (x *As4AggregatorAttribute) GetAddress() string { if x != nil { return x.Address } return "" } type PmsiTunnelAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PmsiTunnelAttribute) Reset() { *x = PmsiTunnelAttribute{} mi := &file_api_attribute_proto_msgTypes[17] 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_api_attribute_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PmsiTunnelAttribute.ProtoReflect.Descriptor instead. func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{17} } func (x *PmsiTunnelAttribute) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *PmsiTunnelAttribute) GetType() uint32 { if x != nil { return x.Type } return 0 } func (x *PmsiTunnelAttribute) GetLabel() uint32 { if x != nil { return x.Label } return 0 } func (x *PmsiTunnelAttribute) GetId() []byte { if x != nil { return x.Id } return nil } type TunnelEncapSubTLVEncapsulation struct { state protoimpl.MessageState `protogen:"open.v1"` Key uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVEncapsulation) Reset() { *x = TunnelEncapSubTLVEncapsulation{} mi := &file_api_attribute_proto_msgTypes[18] 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_api_attribute_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVEncapsulation.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{18} } func (x *TunnelEncapSubTLVEncapsulation) GetKey() uint32 { if x != nil { return x.Key } return 0 } func (x *TunnelEncapSubTLVEncapsulation) GetCookie() []byte { if x != nil { return x.Cookie } return nil } type TunnelEncapSubTLVProtocol struct { state protoimpl.MessageState `protogen:"open.v1"` Protocol uint32 `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVProtocol) Reset() { *x = TunnelEncapSubTLVProtocol{} mi := &file_api_attribute_proto_msgTypes[19] 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_api_attribute_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVProtocol.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{19} } func (x *TunnelEncapSubTLVProtocol) GetProtocol() uint32 { if x != nil { return x.Protocol } return 0 } type TunnelEncapSubTLVColor struct { state protoimpl.MessageState `protogen:"open.v1"` Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVColor) Reset() { *x = TunnelEncapSubTLVColor{} mi := &file_api_attribute_proto_msgTypes[20] 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_api_attribute_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVColor.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{20} } func (x *TunnelEncapSubTLVColor) GetColor() uint32 { if x != nil { return x.Color } return 0 } type TunnelEncapSubTLVSRPreference struct { state protoimpl.MessageState `protogen:"open.v1"` Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` Preference uint32 `protobuf:"varint,2,opt,name=preference,proto3" json:"preference,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRPreference) Reset() { *x = TunnelEncapSubTLVSRPreference{} mi := &file_api_attribute_proto_msgTypes[21] 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_api_attribute_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRPreference.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRPreference) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{21} } func (x *TunnelEncapSubTLVSRPreference) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *TunnelEncapSubTLVSRPreference) GetPreference() uint32 { if x != nil { return x.Preference } return 0 } type TunnelEncapSubTLVSRCandidatePathName struct { state protoimpl.MessageState `protogen:"open.v1"` CandidatePathName string `protobuf:"bytes,1,opt,name=candidate_path_name,json=candidatePathName,proto3" json:"candidate_path_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRCandidatePathName) Reset() { *x = TunnelEncapSubTLVSRCandidatePathName{} mi := &file_api_attribute_proto_msgTypes[22] 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_api_attribute_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRCandidatePathName.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRCandidatePathName) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{22} } func (x *TunnelEncapSubTLVSRCandidatePathName) GetCandidatePathName() string { if x != nil { return x.CandidatePathName } return "" } type TunnelEncapSubTLVSRPriority struct { state protoimpl.MessageState `protogen:"open.v1"` Priority uint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRPriority) Reset() { *x = TunnelEncapSubTLVSRPriority{} mi := &file_api_attribute_proto_msgTypes[23] 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_api_attribute_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRPriority.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRPriority) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{23} } func (x *TunnelEncapSubTLVSRPriority) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } type TunnelEncapSubTLVSRBindingSID struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Bsid: // // *TunnelEncapSubTLVSRBindingSID_SrBindingSid // *TunnelEncapSubTLVSRBindingSID_Srv6BindingSid Bsid isTunnelEncapSubTLVSRBindingSID_Bsid `protobuf_oneof:"bsid"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRBindingSID) Reset() { *x = TunnelEncapSubTLVSRBindingSID{} mi := &file_api_attribute_proto_msgTypes[24] 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_api_attribute_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRBindingSID.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRBindingSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{24} } func (x *TunnelEncapSubTLVSRBindingSID) GetBsid() isTunnelEncapSubTLVSRBindingSID_Bsid { if x != nil { return x.Bsid } return nil } func (x *TunnelEncapSubTLVSRBindingSID) GetSrBindingSid() *SRBindingSID { if x != nil { if x, ok := x.Bsid.(*TunnelEncapSubTLVSRBindingSID_SrBindingSid); ok { return x.SrBindingSid } } return nil } func (x *TunnelEncapSubTLVSRBindingSID) GetSrv6BindingSid() *SRv6BindingSID { if x != nil { if x, ok := x.Bsid.(*TunnelEncapSubTLVSRBindingSID_Srv6BindingSid); ok { return x.Srv6BindingSid } } return nil } type isTunnelEncapSubTLVSRBindingSID_Bsid interface { isTunnelEncapSubTLVSRBindingSID_Bsid() } type TunnelEncapSubTLVSRBindingSID_SrBindingSid struct { SrBindingSid *SRBindingSID `protobuf:"bytes,1,opt,name=sr_binding_sid,json=srBindingSid,proto3,oneof"` } type TunnelEncapSubTLVSRBindingSID_Srv6BindingSid struct { Srv6BindingSid *SRv6BindingSID `protobuf:"bytes,2,opt,name=srv6_binding_sid,json=srv6BindingSid,proto3,oneof"` } func (*TunnelEncapSubTLVSRBindingSID_SrBindingSid) isTunnelEncapSubTLVSRBindingSID_Bsid() {} func (*TunnelEncapSubTLVSRBindingSID_Srv6BindingSid) isTunnelEncapSubTLVSRBindingSID_Bsid() {} type SRBindingSID struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRBindingSID) Reset() { *x = SRBindingSID{} mi := &file_api_attribute_proto_msgTypes[25] 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_api_attribute_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRBindingSID.ProtoReflect.Descriptor instead. func (*SRBindingSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{25} } func (x *SRBindingSID) GetSFlag() bool { if x != nil { return x.SFlag } return false } func (x *SRBindingSID) GetIFlag() bool { if x != nil { return x.IFlag } return false } func (x *SRBindingSID) GetSid() []byte { if x != nil { return x.Sid } return nil } type SRv6EndPointBehavior struct { state protoimpl.MessageState `protogen:"open.v1"` Behavior SRV6Behavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=api.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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6EndPointBehavior) Reset() { *x = SRv6EndPointBehavior{} mi := &file_api_attribute_proto_msgTypes[26] 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_api_attribute_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6EndPointBehavior.ProtoReflect.Descriptor instead. func (*SRv6EndPointBehavior) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{26} } func (x *SRv6EndPointBehavior) GetBehavior() SRV6Behavior { if x != nil { return x.Behavior } return SRV6Behavior_SRV6_BEHAVIOR_UNSPECIFIED } func (x *SRv6EndPointBehavior) GetBlockLen() uint32 { if x != nil { return x.BlockLen } return 0 } func (x *SRv6EndPointBehavior) GetNodeLen() uint32 { if x != nil { return x.NodeLen } return 0 } func (x *SRv6EndPointBehavior) GetFuncLen() uint32 { if x != nil { return x.FuncLen } return 0 } func (x *SRv6EndPointBehavior) GetArgLen() uint32 { if x != nil { return x.ArgLen } return 0 } type SRv6BindingSID struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6BindingSID) Reset() { *x = SRv6BindingSID{} mi := &file_api_attribute_proto_msgTypes[27] 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_api_attribute_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6BindingSID.ProtoReflect.Descriptor instead. func (*SRv6BindingSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{27} } func (x *SRv6BindingSID) GetSFlag() bool { if x != nil { return x.SFlag } return false } func (x *SRv6BindingSID) GetIFlag() bool { if x != nil { return x.IFlag } return false } func (x *SRv6BindingSID) GetBFlag() bool { if x != nil { return x.BFlag } return false } func (x *SRv6BindingSID) GetSid() []byte { if x != nil { return x.Sid } return nil } func (x *SRv6BindingSID) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { if x != nil { return x.EndpointBehaviorStructure } return nil } type TunnelEncapSubTLVSRENLP struct { state protoimpl.MessageState `protogen:"open.v1"` Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` Enlp ENLPType `protobuf:"varint,2,opt,name=enlp,proto3,enum=api.ENLPType" json:"enlp,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRENLP) Reset() { *x = TunnelEncapSubTLVSRENLP{} mi := &file_api_attribute_proto_msgTypes[28] 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_api_attribute_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRENLP.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRENLP) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{28} } func (x *TunnelEncapSubTLVSRENLP) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *TunnelEncapSubTLVSRENLP) GetEnlp() ENLPType { if x != nil { return x.Enlp } return ENLPType_ENLP_TYPE_UNSPECIFIED } type SRWeight struct { state protoimpl.MessageState `protogen:"open.v1"` Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRWeight) Reset() { *x = SRWeight{} mi := &file_api_attribute_proto_msgTypes[29] 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_api_attribute_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRWeight.ProtoReflect.Descriptor instead. func (*SRWeight) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{29} } func (x *SRWeight) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *SRWeight) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } type SegmentFlags struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SegmentFlags) Reset() { *x = SegmentFlags{} mi := &file_api_attribute_proto_msgTypes[30] 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_api_attribute_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SegmentFlags.ProtoReflect.Descriptor instead. func (*SegmentFlags) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{30} } func (x *SegmentFlags) GetVFlag() bool { if x != nil { return x.VFlag } return false } func (x *SegmentFlags) GetAFlag() bool { if x != nil { return x.AFlag } return false } func (x *SegmentFlags) GetSFlag() bool { if x != nil { return x.SFlag } return false } func (x *SegmentFlags) GetBFlag() bool { if x != nil { return x.BFlag } return false } type SegmentTypeA struct { state protoimpl.MessageState `protogen:"open.v1"` Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SegmentTypeA) Reset() { *x = SegmentTypeA{} mi := &file_api_attribute_proto_msgTypes[31] 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_api_attribute_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SegmentTypeA.ProtoReflect.Descriptor instead. func (*SegmentTypeA) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{31} } func (x *SegmentTypeA) GetFlags() *SegmentFlags { if x != nil { return x.Flags } return nil } func (x *SegmentTypeA) GetLabel() uint32 { if x != nil { return x.Label } return 0 } type SegmentTypeB struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SegmentTypeB) Reset() { *x = SegmentTypeB{} mi := &file_api_attribute_proto_msgTypes[32] 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_api_attribute_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SegmentTypeB.ProtoReflect.Descriptor instead. func (*SegmentTypeB) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{32} } func (x *SegmentTypeB) GetFlags() *SegmentFlags { if x != nil { return x.Flags } return nil } func (x *SegmentTypeB) GetSid() []byte { if x != nil { return x.Sid } return nil } func (x *SegmentTypeB) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { if x != nil { return x.EndpointBehaviorStructure } return nil } type TunnelEncapSubTLVSRSegmentList struct { state protoimpl.MessageState `protogen:"open.v1"` Weight *SRWeight `protobuf:"bytes,1,opt,name=weight,proto3" json:"weight,omitempty"` Segments []*TunnelEncapSubTLVSRSegmentList_Segment `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRSegmentList) Reset() { *x = TunnelEncapSubTLVSRSegmentList{} mi := &file_api_attribute_proto_msgTypes[33] 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_api_attribute_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRSegmentList.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRSegmentList) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{33} } func (x *TunnelEncapSubTLVSRSegmentList) GetWeight() *SRWeight { if x != nil { return x.Weight } return nil } func (x *TunnelEncapSubTLVSRSegmentList) GetSegments() []*TunnelEncapSubTLVSRSegmentList_Segment { if x != nil { return x.Segments } return nil } type TunnelEncapSubTLVEgressEndpoint struct { state protoimpl.MessageState `protogen:"open.v1"` Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVEgressEndpoint) Reset() { *x = TunnelEncapSubTLVEgressEndpoint{} mi := &file_api_attribute_proto_msgTypes[34] 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_api_attribute_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVEgressEndpoint.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVEgressEndpoint) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{34} } func (x *TunnelEncapSubTLVEgressEndpoint) GetAddress() string { if x != nil { return x.Address } return "" } type TunnelEncapSubTLVUDPDestPort struct { state protoimpl.MessageState `protogen:"open.v1"` Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVUDPDestPort) Reset() { *x = TunnelEncapSubTLVUDPDestPort{} mi := &file_api_attribute_proto_msgTypes[35] 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_api_attribute_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVUDPDestPort.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVUDPDestPort) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{35} } func (x *TunnelEncapSubTLVUDPDestPort) GetPort() uint32 { if x != nil { return x.Port } return 0 } type TunnelEncapSubTLVUnknown struct { state protoimpl.MessageState `protogen:"open.v1"` Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVUnknown) Reset() { *x = TunnelEncapSubTLVUnknown{} mi := &file_api_attribute_proto_msgTypes[36] 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_api_attribute_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVUnknown.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{36} } func (x *TunnelEncapSubTLVUnknown) GetType() uint32 { if x != nil { return x.Type } return 0 } func (x *TunnelEncapSubTLVUnknown) GetValue() []byte { if x != nil { return x.Value } return nil } type TunnelEncapTLV struct { state protoimpl.MessageState `protogen:"open.v1"` Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` Tlvs []*TunnelEncapTLV_TLV `protobuf:"bytes,2,rep,name=tlvs,proto3" json:"tlvs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapTLV) Reset() { *x = TunnelEncapTLV{} mi := &file_api_attribute_proto_msgTypes[37] 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_api_attribute_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapTLV.ProtoReflect.Descriptor instead. func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{37} } func (x *TunnelEncapTLV) GetType() uint32 { if x != nil { return x.Type } return 0 } func (x *TunnelEncapTLV) GetTlvs() []*TunnelEncapTLV_TLV { if x != nil { return x.Tlvs } return nil } type TunnelEncapAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapAttribute) Reset() { *x = TunnelEncapAttribute{} mi := &file_api_attribute_proto_msgTypes[38] 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_api_attribute_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapAttribute.ProtoReflect.Descriptor instead. func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{38} } func (x *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV { if x != nil { return x.Tlvs } return nil } type IPv6AddressSpecificExtended struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *IPv6AddressSpecificExtended) Reset() { *x = IPv6AddressSpecificExtended{} mi := &file_api_attribute_proto_msgTypes[39] 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_api_attribute_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IPv6AddressSpecificExtended.ProtoReflect.Descriptor instead. func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{39} } func (x *IPv6AddressSpecificExtended) GetIsTransitive() bool { if x != nil { return x.IsTransitive } return false } func (x *IPv6AddressSpecificExtended) GetSubType() uint32 { if x != nil { return x.SubType } return 0 } func (x *IPv6AddressSpecificExtended) GetAddress() string { if x != nil { return x.Address } return "" } func (x *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 { if x != nil { return x.LocalAdmin } return 0 } type RedirectIPv6AddressSpecificExtended struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RedirectIPv6AddressSpecificExtended) Reset() { *x = RedirectIPv6AddressSpecificExtended{} mi := &file_api_attribute_proto_msgTypes[40] 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_api_attribute_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RedirectIPv6AddressSpecificExtended.ProtoReflect.Descriptor instead. func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{40} } func (x *RedirectIPv6AddressSpecificExtended) GetAddress() string { if x != nil { return x.Address } return "" } func (x *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 { if x != nil { return x.LocalAdmin } return 0 } type IP6ExtendedCommunitiesAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Communities []*IP6ExtendedCommunitiesAttribute_Community `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *IP6ExtendedCommunitiesAttribute) Reset() { *x = IP6ExtendedCommunitiesAttribute{} mi := &file_api_attribute_proto_msgTypes[41] 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_api_attribute_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IP6ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead. func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{41} } func (x *IP6ExtendedCommunitiesAttribute) GetCommunities() []*IP6ExtendedCommunitiesAttribute_Community { if x != nil { return x.Communities } return nil } type AigpTLVIGPMetric struct { state protoimpl.MessageState `protogen:"open.v1"` Metric uint64 `protobuf:"varint,1,opt,name=metric,proto3" json:"metric,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AigpTLVIGPMetric) Reset() { *x = AigpTLVIGPMetric{} mi := &file_api_attribute_proto_msgTypes[42] 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_api_attribute_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AigpTLVIGPMetric.ProtoReflect.Descriptor instead. func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{42} } func (x *AigpTLVIGPMetric) GetMetric() uint64 { if x != nil { return x.Metric } return 0 } type AigpTLVUnknown struct { state protoimpl.MessageState `protogen:"open.v1"` Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AigpTLVUnknown) Reset() { *x = AigpTLVUnknown{} mi := &file_api_attribute_proto_msgTypes[43] 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_api_attribute_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AigpTLVUnknown.ProtoReflect.Descriptor instead. func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{43} } func (x *AigpTLVUnknown) GetType() uint32 { if x != nil { return x.Type } return 0 } func (x *AigpTLVUnknown) GetValue() []byte { if x != nil { return x.Value } return nil } type AigpAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Tlvs []*AigpAttribute_TLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AigpAttribute) Reset() { *x = AigpAttribute{} mi := &file_api_attribute_proto_msgTypes[44] 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_api_attribute_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AigpAttribute.ProtoReflect.Descriptor instead. func (*AigpAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{44} } func (x *AigpAttribute) GetTlvs() []*AigpAttribute_TLV { if x != nil { return x.Tlvs } return nil } type LargeCommunity struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LargeCommunity) Reset() { *x = LargeCommunity{} mi := &file_api_attribute_proto_msgTypes[45] 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_api_attribute_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LargeCommunity.ProtoReflect.Descriptor instead. func (*LargeCommunity) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{45} } func (x *LargeCommunity) GetGlobalAdmin() uint32 { if x != nil { return x.GlobalAdmin } return 0 } func (x *LargeCommunity) GetLocalData1() uint32 { if x != nil { return x.LocalData1 } return 0 } func (x *LargeCommunity) GetLocalData2() uint32 { if x != nil { return x.LocalData2 } return 0 } type LargeCommunitiesAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LargeCommunitiesAttribute) Reset() { *x = LargeCommunitiesAttribute{} mi := &file_api_attribute_proto_msgTypes[46] 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_api_attribute_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LargeCommunitiesAttribute.ProtoReflect.Descriptor instead. func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{46} } func (x *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity { if x != nil { return x.Communities } return nil } type LsNodeFlags struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsNodeFlags) Reset() { *x = LsNodeFlags{} mi := &file_api_attribute_proto_msgTypes[47] 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_api_attribute_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsNodeFlags.ProtoReflect.Descriptor instead. func (*LsNodeFlags) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{47} } func (x *LsNodeFlags) GetOverload() bool { if x != nil { return x.Overload } return false } func (x *LsNodeFlags) GetAttached() bool { if x != nil { return x.Attached } return false } func (x *LsNodeFlags) GetExternal() bool { if x != nil { return x.External } return false } func (x *LsNodeFlags) GetAbr() bool { if x != nil { return x.Abr } return false } func (x *LsNodeFlags) GetRouter() bool { if x != nil { return x.Router } return false } func (x *LsNodeFlags) GetV6() bool { if x != nil { return x.V6 } return false } type LsIGPFlags struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsIGPFlags) Reset() { *x = LsIGPFlags{} mi := &file_api_attribute_proto_msgTypes[48] 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_api_attribute_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsIGPFlags.ProtoReflect.Descriptor instead. func (*LsIGPFlags) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{48} } func (x *LsIGPFlags) GetDown() bool { if x != nil { return x.Down } return false } func (x *LsIGPFlags) GetNoUnicast() bool { if x != nil { return x.NoUnicast } return false } func (x *LsIGPFlags) GetLocalAddress() bool { if x != nil { return x.LocalAddress } return false } func (x *LsIGPFlags) GetPropagateNssa() bool { if x != nil { return x.PropagateNssa } return false } type LsSrRange struct { state protoimpl.MessageState `protogen:"open.v1"` Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrRange) Reset() { *x = LsSrRange{} mi := &file_api_attribute_proto_msgTypes[49] 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_api_attribute_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrRange.ProtoReflect.Descriptor instead. func (*LsSrRange) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{49} } func (x *LsSrRange) GetBegin() uint32 { if x != nil { return x.Begin } return 0 } func (x *LsSrRange) GetEnd() uint32 { if x != nil { return x.End } return 0 } type LsSrCapabilities struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrCapabilities) Reset() { *x = LsSrCapabilities{} mi := &file_api_attribute_proto_msgTypes[50] 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_api_attribute_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrCapabilities.ProtoReflect.Descriptor instead. func (*LsSrCapabilities) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{50} } func (x *LsSrCapabilities) GetIpv4Supported() bool { if x != nil { return x.Ipv4Supported } return false } func (x *LsSrCapabilities) GetIpv6Supported() bool { if x != nil { return x.Ipv6Supported } return false } func (x *LsSrCapabilities) GetRanges() []*LsSrRange { if x != nil { return x.Ranges } return nil } type LsSrLocalBlock struct { state protoimpl.MessageState `protogen:"open.v1"` Ranges []*LsSrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrLocalBlock) Reset() { *x = LsSrLocalBlock{} mi := &file_api_attribute_proto_msgTypes[51] 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_api_attribute_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrLocalBlock.ProtoReflect.Descriptor instead. func (*LsSrLocalBlock) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{51} } func (x *LsSrLocalBlock) GetRanges() []*LsSrRange { if x != nil { return x.Ranges } return nil } type LsAttributeNode struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` // RFC 9351 Section 3 Flexible Algorithm Definition (FAD) TLVs // observed for this Node NLRI. A node MAY advertise more than one // FAD, one per algorithm in the [128, 255] Flex-Algorithm range. FlexAlgoDefs []*LsAttributeFlexAlgoDef `protobuf:"bytes,10,rep,name=flex_algo_defs,json=flexAlgoDefs,proto3" json:"flex_algo_defs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributeNode) Reset() { *x = LsAttributeNode{} mi := &file_api_attribute_proto_msgTypes[52] 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_api_attribute_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributeNode.ProtoReflect.Descriptor instead. func (*LsAttributeNode) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{52} } func (x *LsAttributeNode) GetName() string { if x != nil { return x.Name } return "" } func (x *LsAttributeNode) GetFlags() *LsNodeFlags { if x != nil { return x.Flags } return nil } func (x *LsAttributeNode) GetLocalRouterId() string { if x != nil { return x.LocalRouterId } return "" } func (x *LsAttributeNode) GetLocalRouterIdV6() string { if x != nil { return x.LocalRouterIdV6 } return "" } func (x *LsAttributeNode) GetIsisArea() []byte { if x != nil { return x.IsisArea } return nil } func (x *LsAttributeNode) GetOpaque() []byte { if x != nil { return x.Opaque } return nil } func (x *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities { if x != nil { return x.SrCapabilities } return nil } func (x *LsAttributeNode) GetSrAlgorithms() []byte { if x != nil { return x.SrAlgorithms } return nil } func (x *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock { if x != nil { return x.SrLocalBlock } return nil } func (x *LsAttributeNode) GetFlexAlgoDefs() []*LsAttributeFlexAlgoDef { if x != nil { return x.FlexAlgoDefs } return nil } // LsAttributeFlexAlgoDef is the structured projection of a single FAD // TLV (TLV 1039, RFC 9351 Section 3). Reserved Metric-Type values // (3..127) are passed through verbatim with metric_type_known=false // so consumers can render them without guessing semantics. type LsAttributeFlexAlgoDef struct { state protoimpl.MessageState `protogen:"open.v1"` Algorithm uint32 `protobuf:"varint,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"` MetricType uint32 `protobuf:"varint,2,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` MetricTypeKnown bool `protobuf:"varint,3,opt,name=metric_type_known,json=metricTypeKnown,proto3" json:"metric_type_known,omitempty"` CalcType uint32 `protobuf:"varint,4,opt,name=calc_type,json=calcType,proto3" json:"calc_type,omitempty"` Priority uint32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` ExcludeAnyAffinity []uint32 `protobuf:"varint,6,rep,packed,name=exclude_any_affinity,json=excludeAnyAffinity,proto3" json:"exclude_any_affinity,omitempty"` IncludeAnyAffinity []uint32 `protobuf:"varint,7,rep,packed,name=include_any_affinity,json=includeAnyAffinity,proto3" json:"include_any_affinity,omitempty"` IncludeAllAffinity []uint32 `protobuf:"varint,8,rep,packed,name=include_all_affinity,json=includeAllAffinity,proto3" json:"include_all_affinity,omitempty"` DefinitionFlags []byte `protobuf:"bytes,9,opt,name=definition_flags,json=definitionFlags,proto3" json:"definition_flags,omitempty"` ExcludeSrlg []uint32 `protobuf:"varint,10,rep,packed,name=exclude_srlg,json=excludeSrlg,proto3" json:"exclude_srlg,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributeFlexAlgoDef) Reset() { *x = LsAttributeFlexAlgoDef{} mi := &file_api_attribute_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsAttributeFlexAlgoDef) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsAttributeFlexAlgoDef) ProtoMessage() {} func (x *LsAttributeFlexAlgoDef) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributeFlexAlgoDef.ProtoReflect.Descriptor instead. func (*LsAttributeFlexAlgoDef) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{53} } func (x *LsAttributeFlexAlgoDef) GetAlgorithm() uint32 { if x != nil { return x.Algorithm } return 0 } func (x *LsAttributeFlexAlgoDef) GetMetricType() uint32 { if x != nil { return x.MetricType } return 0 } func (x *LsAttributeFlexAlgoDef) GetMetricTypeKnown() bool { if x != nil { return x.MetricTypeKnown } return false } func (x *LsAttributeFlexAlgoDef) GetCalcType() uint32 { if x != nil { return x.CalcType } return 0 } func (x *LsAttributeFlexAlgoDef) GetPriority() uint32 { if x != nil { return x.Priority } return 0 } func (x *LsAttributeFlexAlgoDef) GetExcludeAnyAffinity() []uint32 { if x != nil { return x.ExcludeAnyAffinity } return nil } func (x *LsAttributeFlexAlgoDef) GetIncludeAnyAffinity() []uint32 { if x != nil { return x.IncludeAnyAffinity } return nil } func (x *LsAttributeFlexAlgoDef) GetIncludeAllAffinity() []uint32 { if x != nil { return x.IncludeAllAffinity } return nil } func (x *LsAttributeFlexAlgoDef) GetDefinitionFlags() []byte { if x != nil { return x.DefinitionFlags } return nil } func (x *LsAttributeFlexAlgoDef) GetExcludeSrlg() []uint32 { if x != nil { return x.ExcludeSrlg } return nil } type LsAttributeLink struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` Srv6EndXSid *LsSrv6EndXSID `protobuf:"bytes,15,opt,name=srv6_end_x_sid,json=srv6EndXSid,proto3" json:"srv6_end_x_sid,omitempty"` // RFC 8571 delay/measurement TLVs. UnidirectionalLinkDelayAnomalous bool `protobuf:"varint,16,opt,name=unidirectional_link_delay_anomalous,json=unidirectionalLinkDelayAnomalous,proto3" json:"unidirectional_link_delay_anomalous,omitempty"` UnidirectionalLinkDelay uint32 `protobuf:"varint,17,opt,name=unidirectional_link_delay,json=unidirectionalLinkDelay,proto3" json:"unidirectional_link_delay,omitempty"` MinMaxUnidirectionalLinkDelayAnomalous bool `protobuf:"varint,18,opt,name=min_max_unidirectional_link_delay_anomalous,json=minMaxUnidirectionalLinkDelayAnomalous,proto3" json:"min_max_unidirectional_link_delay_anomalous,omitempty"` MinUnidirectionalLinkDelay uint32 `protobuf:"varint,19,opt,name=min_unidirectional_link_delay,json=minUnidirectionalLinkDelay,proto3" json:"min_unidirectional_link_delay,omitempty"` MaxUnidirectionalLinkDelay uint32 `protobuf:"varint,20,opt,name=max_unidirectional_link_delay,json=maxUnidirectionalLinkDelay,proto3" json:"max_unidirectional_link_delay,omitempty"` UnidirectionalDelayVariation uint32 `protobuf:"varint,21,opt,name=unidirectional_delay_variation,json=unidirectionalDelayVariation,proto3" json:"unidirectional_delay_variation,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributeLink) Reset() { *x = LsAttributeLink{} mi := &file_api_attribute_proto_msgTypes[54] 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_api_attribute_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributeLink.ProtoReflect.Descriptor instead. func (*LsAttributeLink) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{54} } func (x *LsAttributeLink) GetName() string { if x != nil { return x.Name } return "" } func (x *LsAttributeLink) GetLocalRouterId() string { if x != nil { return x.LocalRouterId } return "" } func (x *LsAttributeLink) GetLocalRouterIdV6() string { if x != nil { return x.LocalRouterIdV6 } return "" } func (x *LsAttributeLink) GetRemoteRouterId() string { if x != nil { return x.RemoteRouterId } return "" } func (x *LsAttributeLink) GetRemoteRouterIdV6() string { if x != nil { return x.RemoteRouterIdV6 } return "" } func (x *LsAttributeLink) GetAdminGroup() uint32 { if x != nil { return x.AdminGroup } return 0 } func (x *LsAttributeLink) GetDefaultTeMetric() uint32 { if x != nil { return x.DefaultTeMetric } return 0 } func (x *LsAttributeLink) GetIgpMetric() uint32 { if x != nil { return x.IgpMetric } return 0 } func (x *LsAttributeLink) GetOpaque() []byte { if x != nil { return x.Opaque } return nil } func (x *LsAttributeLink) GetBandwidth() float32 { if x != nil { return x.Bandwidth } return 0 } func (x *LsAttributeLink) GetReservableBandwidth() float32 { if x != nil { return x.ReservableBandwidth } return 0 } func (x *LsAttributeLink) GetUnreservedBandwidth() []float32 { if x != nil { return x.UnreservedBandwidth } return nil } func (x *LsAttributeLink) GetSrAdjacencySid() uint32 { if x != nil { return x.SrAdjacencySid } return 0 } func (x *LsAttributeLink) GetSrlgs() []uint32 { if x != nil { return x.Srlgs } return nil } func (x *LsAttributeLink) GetSrv6EndXSid() *LsSrv6EndXSID { if x != nil { return x.Srv6EndXSid } return nil } func (x *LsAttributeLink) GetUnidirectionalLinkDelayAnomalous() bool { if x != nil { return x.UnidirectionalLinkDelayAnomalous } return false } func (x *LsAttributeLink) GetUnidirectionalLinkDelay() uint32 { if x != nil { return x.UnidirectionalLinkDelay } return 0 } func (x *LsAttributeLink) GetMinMaxUnidirectionalLinkDelayAnomalous() bool { if x != nil { return x.MinMaxUnidirectionalLinkDelayAnomalous } return false } func (x *LsAttributeLink) GetMinUnidirectionalLinkDelay() uint32 { if x != nil { return x.MinUnidirectionalLinkDelay } return 0 } func (x *LsAttributeLink) GetMaxUnidirectionalLinkDelay() uint32 { if x != nil { return x.MaxUnidirectionalLinkDelay } return 0 } func (x *LsAttributeLink) GetUnidirectionalDelayVariation() uint32 { if x != nil { return x.UnidirectionalDelayVariation } return 0 } type LsAttributePrefix struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` // sr_prefix_sid is the SR-MPLS Prefix-SID label when the originator // advertised it with Algorithm = 0 (default SPF). Kept for backward // compatibility with the singular Algorithm-0 lookup callers used // before multi-SID aggregation landed. SrPrefixSid uint32 `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid,proto3" json:"sr_prefix_sid,omitempty"` // sr_prefix_sids carries every Prefix-SID TLV (RFC 9085 // Section 2.1.1) observed on this Prefix NLRI, including the // Algorithm + Flags fields the singular sr_prefix_sid field drops. // Algorithm 0 entries also populate sr_prefix_sid above. SrPrefixSids []*LsAttributePrefixSID `protobuf:"bytes,4,rep,name=sr_prefix_sids,json=srPrefixSids,proto3" json:"sr_prefix_sids,omitempty"` // fad_prefix_metrics carries every Flexible Algorithm Prefix Metric // TLV (FAPM, TLV 1044, RFC 9351 Section 4) observed on this Prefix // NLRI. One entry per Flex-Algorithm announced. FadPrefixMetrics []*LsAttributeFADPrefixMetric `protobuf:"bytes,5,rep,name=fad_prefix_metrics,json=fadPrefixMetrics,proto3" json:"fad_prefix_metrics,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributePrefix) Reset() { *x = LsAttributePrefix{} mi := &file_api_attribute_proto_msgTypes[55] 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_api_attribute_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributePrefix.ProtoReflect.Descriptor instead. func (*LsAttributePrefix) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{55} } func (x *LsAttributePrefix) GetIgpFlags() *LsIGPFlags { if x != nil { return x.IgpFlags } return nil } func (x *LsAttributePrefix) GetOpaque() []byte { if x != nil { return x.Opaque } return nil } func (x *LsAttributePrefix) GetSrPrefixSid() uint32 { if x != nil { return x.SrPrefixSid } return 0 } func (x *LsAttributePrefix) GetSrPrefixSids() []*LsAttributePrefixSID { if x != nil { return x.SrPrefixSids } return nil } func (x *LsAttributePrefix) GetFadPrefixMetrics() []*LsAttributeFADPrefixMetric { if x != nil { return x.FadPrefixMetrics } return nil } // LsAttributePrefixSID is one Prefix-SID TLV (RFC 9085 Section 2.1.1) // projected onto the LsAttribute surface so consumers can read the // Algorithm and Flags fields without re-parsing the wire bytes. type LsAttributePrefixSID struct { state protoimpl.MessageState `protogen:"open.v1"` Algorithm uint32 `protobuf:"varint,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"` Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` Sid uint32 `protobuf:"varint,3,opt,name=sid,proto3" json:"sid,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributePrefixSID) Reset() { *x = LsAttributePrefixSID{} mi := &file_api_attribute_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsAttributePrefixSID) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsAttributePrefixSID) ProtoMessage() {} func (x *LsAttributePrefixSID) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributePrefixSID.ProtoReflect.Descriptor instead. func (*LsAttributePrefixSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{56} } func (x *LsAttributePrefixSID) GetAlgorithm() uint32 { if x != nil { return x.Algorithm } return 0 } func (x *LsAttributePrefixSID) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *LsAttributePrefixSID) GetSid() uint32 { if x != nil { return x.Sid } return 0 } // LsAttributeFADPrefixMetric is one FAPM TLV (RFC 9351 Section 4) // projected onto the LsAttribute surface. type LsAttributeFADPrefixMetric struct { state protoimpl.MessageState `protogen:"open.v1"` Algorithm uint32 `protobuf:"varint,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"` Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` Metric uint32 `protobuf:"varint,3,opt,name=metric,proto3" json:"metric,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributeFADPrefixMetric) Reset() { *x = LsAttributeFADPrefixMetric{} mi := &file_api_attribute_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsAttributeFADPrefixMetric) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsAttributeFADPrefixMetric) ProtoMessage() {} func (x *LsAttributeFADPrefixMetric) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributeFADPrefixMetric.ProtoReflect.Descriptor instead. func (*LsAttributeFADPrefixMetric) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{57} } func (x *LsAttributeFADPrefixMetric) GetAlgorithm() uint32 { if x != nil { return x.Algorithm } return 0 } func (x *LsAttributeFADPrefixMetric) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *LsAttributeFADPrefixMetric) GetMetric() uint32 { if x != nil { return x.Metric } return 0 } type LsBgpPeerSegmentSIDFlags struct { state protoimpl.MessageState `protogen:"open.v1"` Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` Local bool `protobuf:"varint,2,opt,name=local,proto3" json:"local,omitempty"` Backup bool `protobuf:"varint,3,opt,name=backup,proto3" json:"backup,omitempty"` Persistent bool `protobuf:"varint,4,opt,name=persistent,proto3" json:"persistent,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsBgpPeerSegmentSIDFlags) Reset() { *x = LsBgpPeerSegmentSIDFlags{} mi := &file_api_attribute_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsBgpPeerSegmentSIDFlags) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsBgpPeerSegmentSIDFlags) ProtoMessage() {} func (x *LsBgpPeerSegmentSIDFlags) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsBgpPeerSegmentSIDFlags.ProtoReflect.Descriptor instead. func (*LsBgpPeerSegmentSIDFlags) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{58} } func (x *LsBgpPeerSegmentSIDFlags) GetValue() bool { if x != nil { return x.Value } return false } func (x *LsBgpPeerSegmentSIDFlags) GetLocal() bool { if x != nil { return x.Local } return false } func (x *LsBgpPeerSegmentSIDFlags) GetBackup() bool { if x != nil { return x.Backup } return false } func (x *LsBgpPeerSegmentSIDFlags) GetPersistent() bool { if x != nil { return x.Persistent } return false } type LsBgpPeerSegmentSID struct { state protoimpl.MessageState `protogen:"open.v1"` Flags *LsBgpPeerSegmentSIDFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` Sid uint32 `protobuf:"varint,3,opt,name=sid,proto3" json:"sid,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsBgpPeerSegmentSID) Reset() { *x = LsBgpPeerSegmentSID{} mi := &file_api_attribute_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsBgpPeerSegmentSID) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsBgpPeerSegmentSID) ProtoMessage() {} func (x *LsBgpPeerSegmentSID) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsBgpPeerSegmentSID.ProtoReflect.Descriptor instead. func (*LsBgpPeerSegmentSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{59} } func (x *LsBgpPeerSegmentSID) GetFlags() *LsBgpPeerSegmentSIDFlags { if x != nil { return x.Flags } return nil } func (x *LsBgpPeerSegmentSID) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *LsBgpPeerSegmentSID) GetSid() uint32 { if x != nil { return x.Sid } return 0 } type LsAttributeBgpPeerSegment struct { state protoimpl.MessageState `protogen:"open.v1"` BgpPeerNodeSid *LsBgpPeerSegmentSID `protobuf:"bytes,1,opt,name=bgp_peer_node_sid,json=bgpPeerNodeSid,proto3" json:"bgp_peer_node_sid,omitempty"` BgpPeerAdjacencySid *LsBgpPeerSegmentSID `protobuf:"bytes,2,opt,name=bgp_peer_adjacency_sid,json=bgpPeerAdjacencySid,proto3" json:"bgp_peer_adjacency_sid,omitempty"` BgpPeerSetSid *LsBgpPeerSegmentSID `protobuf:"bytes,3,opt,name=bgp_peer_set_sid,json=bgpPeerSetSid,proto3" json:"bgp_peer_set_sid,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributeBgpPeerSegment) Reset() { *x = LsAttributeBgpPeerSegment{} mi := &file_api_attribute_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsAttributeBgpPeerSegment) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsAttributeBgpPeerSegment) ProtoMessage() {} func (x *LsAttributeBgpPeerSegment) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributeBgpPeerSegment.ProtoReflect.Descriptor instead. func (*LsAttributeBgpPeerSegment) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{60} } func (x *LsAttributeBgpPeerSegment) GetBgpPeerNodeSid() *LsBgpPeerSegmentSID { if x != nil { return x.BgpPeerNodeSid } return nil } func (x *LsAttributeBgpPeerSegment) GetBgpPeerAdjacencySid() *LsBgpPeerSegmentSID { if x != nil { return x.BgpPeerAdjacencySid } return nil } func (x *LsAttributeBgpPeerSegment) GetBgpPeerSetSid() *LsBgpPeerSegmentSID { if x != nil { return x.BgpPeerSetSid } return nil } type LsSrv6EndXSID struct { state protoimpl.MessageState `protogen:"open.v1"` EndpointBehavior uint32 `protobuf:"varint,1,opt,name=endpoint_behavior,json=endpointBehavior,proto3" json:"endpoint_behavior,omitempty"` Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` Algorithm uint32 `protobuf:"varint,3,opt,name=algorithm,proto3" json:"algorithm,omitempty"` Weight uint32 `protobuf:"varint,4,opt,name=weight,proto3" json:"weight,omitempty"` Reserved uint32 `protobuf:"varint,5,opt,name=reserved,proto3" json:"reserved,omitempty"` Sids []string `protobuf:"bytes,6,rep,name=sids,proto3" json:"sids,omitempty"` Srv6SidStructure *LsSrv6SIDStructure `protobuf:"bytes,7,opt,name=srv6_sid_structure,json=srv6SidStructure,proto3" json:"srv6_sid_structure,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrv6EndXSID) Reset() { *x = LsSrv6EndXSID{} mi := &file_api_attribute_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsSrv6EndXSID) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsSrv6EndXSID) ProtoMessage() {} func (x *LsSrv6EndXSID) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrv6EndXSID.ProtoReflect.Descriptor instead. func (*LsSrv6EndXSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{61} } func (x *LsSrv6EndXSID) GetEndpointBehavior() uint32 { if x != nil { return x.EndpointBehavior } return 0 } func (x *LsSrv6EndXSID) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *LsSrv6EndXSID) GetAlgorithm() uint32 { if x != nil { return x.Algorithm } return 0 } func (x *LsSrv6EndXSID) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *LsSrv6EndXSID) GetReserved() uint32 { if x != nil { return x.Reserved } return 0 } func (x *LsSrv6EndXSID) GetSids() []string { if x != nil { return x.Sids } return nil } func (x *LsSrv6EndXSID) GetSrv6SidStructure() *LsSrv6SIDStructure { if x != nil { return x.Srv6SidStructure } return nil } type LsSrv6SIDStructure struct { state protoimpl.MessageState `protogen:"open.v1"` LocalBlock uint32 `protobuf:"varint,1,opt,name=local_block,json=localBlock,proto3" json:"local_block,omitempty"` LocalNode uint32 `protobuf:"varint,2,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` LocalFunc uint32 `protobuf:"varint,3,opt,name=local_func,json=localFunc,proto3" json:"local_func,omitempty"` LocalArg uint32 `protobuf:"varint,4,opt,name=local_arg,json=localArg,proto3" json:"local_arg,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrv6SIDStructure) Reset() { *x = LsSrv6SIDStructure{} mi := &file_api_attribute_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsSrv6SIDStructure) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsSrv6SIDStructure) ProtoMessage() {} func (x *LsSrv6SIDStructure) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrv6SIDStructure.ProtoReflect.Descriptor instead. func (*LsSrv6SIDStructure) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{62} } func (x *LsSrv6SIDStructure) GetLocalBlock() uint32 { if x != nil { return x.LocalBlock } return 0 } func (x *LsSrv6SIDStructure) GetLocalNode() uint32 { if x != nil { return x.LocalNode } return 0 } func (x *LsSrv6SIDStructure) GetLocalFunc() uint32 { if x != nil { return x.LocalFunc } return 0 } func (x *LsSrv6SIDStructure) GetLocalArg() uint32 { if x != nil { return x.LocalArg } return 0 } type LsSrv6EndpointBehavior struct { state protoimpl.MessageState `protogen:"open.v1"` EndpointBehavior uint32 `protobuf:"varint,1,opt,name=endpoint_behavior,json=endpointBehavior,proto3" json:"endpoint_behavior,omitempty"` Flags uint32 `protobuf:"varint,2,opt,name=flags,proto3" json:"flags,omitempty"` Algorithm uint32 `protobuf:"varint,3,opt,name=algorithm,proto3" json:"algorithm,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrv6EndpointBehavior) Reset() { *x = LsSrv6EndpointBehavior{} mi := &file_api_attribute_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsSrv6EndpointBehavior) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsSrv6EndpointBehavior) ProtoMessage() {} func (x *LsSrv6EndpointBehavior) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrv6EndpointBehavior.ProtoReflect.Descriptor instead. func (*LsSrv6EndpointBehavior) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{63} } func (x *LsSrv6EndpointBehavior) GetEndpointBehavior() uint32 { if x != nil { return x.EndpointBehavior } return 0 } func (x *LsSrv6EndpointBehavior) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *LsSrv6EndpointBehavior) GetAlgorithm() uint32 { if x != nil { return x.Algorithm } return 0 } type LsSrv6BgpPeerNodeSID struct { state protoimpl.MessageState `protogen:"open.v1"` Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` PeerAs uint32 `protobuf:"varint,3,opt,name=peer_as,json=peerAs,proto3" json:"peer_as,omitempty"` PeerBgpId string `protobuf:"bytes,4,opt,name=peer_bgp_id,json=peerBgpId,proto3" json:"peer_bgp_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsSrv6BgpPeerNodeSID) Reset() { *x = LsSrv6BgpPeerNodeSID{} mi := &file_api_attribute_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsSrv6BgpPeerNodeSID) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsSrv6BgpPeerNodeSID) ProtoMessage() {} func (x *LsSrv6BgpPeerNodeSID) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsSrv6BgpPeerNodeSID.ProtoReflect.Descriptor instead. func (*LsSrv6BgpPeerNodeSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{64} } func (x *LsSrv6BgpPeerNodeSID) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *LsSrv6BgpPeerNodeSID) GetWeight() uint32 { if x != nil { return x.Weight } return 0 } func (x *LsSrv6BgpPeerNodeSID) GetPeerAs() uint32 { if x != nil { return x.PeerAs } return 0 } func (x *LsSrv6BgpPeerNodeSID) GetPeerBgpId() string { if x != nil { return x.PeerBgpId } return "" } type LsAttributeSrv6SID struct { state protoimpl.MessageState `protogen:"open.v1"` Srv6SidStructure *LsSrv6SIDStructure `protobuf:"bytes,1,opt,name=srv6_sid_structure,json=srv6SidStructure,proto3" json:"srv6_sid_structure,omitempty"` Srv6EndpointBehavior *LsSrv6EndpointBehavior `protobuf:"bytes,2,opt,name=srv6_endpoint_behavior,json=srv6EndpointBehavior,proto3" json:"srv6_endpoint_behavior,omitempty"` Srv6BgpPeerNodeSid *LsSrv6BgpPeerNodeSID `protobuf:"bytes,3,opt,name=srv6_bgp_peer_node_sid,json=srv6BgpPeerNodeSid,proto3" json:"srv6_bgp_peer_node_sid,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttributeSrv6SID) Reset() { *x = LsAttributeSrv6SID{} mi := &file_api_attribute_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LsAttributeSrv6SID) String() string { return protoimpl.X.MessageStringOf(x) } func (*LsAttributeSrv6SID) ProtoMessage() {} func (x *LsAttributeSrv6SID) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttributeSrv6SID.ProtoReflect.Descriptor instead. func (*LsAttributeSrv6SID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{65} } func (x *LsAttributeSrv6SID) GetSrv6SidStructure() *LsSrv6SIDStructure { if x != nil { return x.Srv6SidStructure } return nil } func (x *LsAttributeSrv6SID) GetSrv6EndpointBehavior() *LsSrv6EndpointBehavior { if x != nil { return x.Srv6EndpointBehavior } return nil } func (x *LsAttributeSrv6SID) GetSrv6BgpPeerNodeSid() *LsSrv6BgpPeerNodeSID { if x != nil { return x.Srv6BgpPeerNodeSid } return nil } type LsAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` BgpPeerSegment *LsAttributeBgpPeerSegment `protobuf:"bytes,4,opt,name=bgp_peer_segment,json=bgpPeerSegment,proto3" json:"bgp_peer_segment,omitempty"` Srv6Sid *LsAttributeSrv6SID `protobuf:"bytes,5,opt,name=srv6_sid,json=srv6Sid,proto3" json:"srv6_sid,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LsAttribute) Reset() { *x = LsAttribute{} mi := &file_api_attribute_proto_msgTypes[66] 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_api_attribute_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LsAttribute.ProtoReflect.Descriptor instead. func (*LsAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{66} } func (x *LsAttribute) GetNode() *LsAttributeNode { if x != nil { return x.Node } return nil } func (x *LsAttribute) GetLink() *LsAttributeLink { if x != nil { return x.Link } return nil } func (x *LsAttribute) GetPrefix() *LsAttributePrefix { if x != nil { return x.Prefix } return nil } func (x *LsAttribute) GetBgpPeerSegment() *LsAttributeBgpPeerSegment { if x != nil { return x.BgpPeerSegment } return nil } func (x *LsAttribute) GetSrv6Sid() *LsAttributeSrv6SID { if x != nil { return x.Srv6Sid } return nil } type UnknownAttribute struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UnknownAttribute) Reset() { *x = UnknownAttribute{} mi := &file_api_attribute_proto_msgTypes[67] 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_api_attribute_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UnknownAttribute.ProtoReflect.Descriptor instead. func (*UnknownAttribute) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{67} } func (x *UnknownAttribute) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *UnknownAttribute) GetType() uint32 { if x != nil { return x.Type } return 0 } func (x *UnknownAttribute) GetValue() []byte { if x != nil { return x.Value } return nil } // https://www.rfc-editor.org/rfc/rfc9252.html#section-3.2.1 type SRv6StructureSubSubTLV struct { state protoimpl.MessageState `protogen:"open.v1"` LocatorBlockLength uint32 `protobuf:"varint,1,opt,name=locator_block_length,json=locatorBlockLength,proto3" json:"locator_block_length,omitempty"` LocatorNodeLength uint32 `protobuf:"varint,2,opt,name=locator_node_length,json=locatorNodeLength,proto3" json:"locator_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"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6StructureSubSubTLV) Reset() { *x = SRv6StructureSubSubTLV{} mi := &file_api_attribute_proto_msgTypes[68] 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_api_attribute_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6StructureSubSubTLV.ProtoReflect.Descriptor instead. func (*SRv6StructureSubSubTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{68} } func (x *SRv6StructureSubSubTLV) GetLocatorBlockLength() uint32 { if x != nil { return x.LocatorBlockLength } return 0 } func (x *SRv6StructureSubSubTLV) GetLocatorNodeLength() uint32 { if x != nil { return x.LocatorNodeLength } return 0 } func (x *SRv6StructureSubSubTLV) GetFunctionLength() uint32 { if x != nil { return x.FunctionLength } return 0 } func (x *SRv6StructureSubSubTLV) GetArgumentLength() uint32 { if x != nil { return x.ArgumentLength } return 0 } func (x *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 { if x != nil { return x.TranspositionLength } return 0 } func (x *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 { if x != nil { return x.TranspositionOffset } return 0 } type SRv6SubSubTLV struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Tlv: // // *SRv6SubSubTLV_Structure Tlv isSRv6SubSubTLV_Tlv `protobuf_oneof:"tlv"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6SubSubTLV) Reset() { *x = SRv6SubSubTLV{} mi := &file_api_attribute_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SRv6SubSubTLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*SRv6SubSubTLV) ProtoMessage() {} func (x *SRv6SubSubTLV) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6SubSubTLV.ProtoReflect.Descriptor instead. func (*SRv6SubSubTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{69} } func (x *SRv6SubSubTLV) GetTlv() isSRv6SubSubTLV_Tlv { if x != nil { return x.Tlv } return nil } func (x *SRv6SubSubTLV) GetStructure() *SRv6StructureSubSubTLV { if x != nil { if x, ok := x.Tlv.(*SRv6SubSubTLV_Structure); ok { return x.Structure } } return nil } type isSRv6SubSubTLV_Tlv interface { isSRv6SubSubTLV_Tlv() } type SRv6SubSubTLV_Structure struct { Structure *SRv6StructureSubSubTLV `protobuf:"bytes,1,opt,name=structure,proto3,oneof"` } func (*SRv6SubSubTLV_Structure) isSRv6SubSubTLV_Tlv() {} type SRv6SubSubTLVs struct { state protoimpl.MessageState `protogen:"open.v1"` Tlvs []*SRv6SubSubTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6SubSubTLVs) Reset() { *x = SRv6SubSubTLVs{} mi := &file_api_attribute_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SRv6SubSubTLVs) String() string { return protoimpl.X.MessageStringOf(x) } func (*SRv6SubSubTLVs) ProtoMessage() {} func (x *SRv6SubSubTLVs) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6SubSubTLVs.ProtoReflect.Descriptor instead. func (*SRv6SubSubTLVs) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{70} } func (x *SRv6SubSubTLVs) GetTlvs() []*SRv6SubSubTLV { if x != nil { return x.Tlvs } return nil } type SRv6SIDFlags struct { state protoimpl.MessageState `protogen:"open.v1"` // Placeholder for future sid flags Flag_1 bool `protobuf:"varint,1,opt,name=flag_1,json=flag1,proto3" json:"flag_1,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6SIDFlags) Reset() { *x = SRv6SIDFlags{} mi := &file_api_attribute_proto_msgTypes[71] 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_api_attribute_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6SIDFlags.ProtoReflect.Descriptor instead. func (*SRv6SIDFlags) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{71} } func (x *SRv6SIDFlags) GetFlag_1() bool { if x != nil { return x.Flag_1 } return false } // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1 type SRv6InformationSubTLV struct { state protoimpl.MessageState `protogen:"open.v1"` 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"` SubSubTlvs map[uint32]*SRv6SubSubTLVs `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs,proto3" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6InformationSubTLV) Reset() { *x = SRv6InformationSubTLV{} mi := &file_api_attribute_proto_msgTypes[72] 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_api_attribute_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6InformationSubTLV.ProtoReflect.Descriptor instead. func (*SRv6InformationSubTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{72} } func (x *SRv6InformationSubTLV) GetSid() []byte { if x != nil { return x.Sid } return nil } func (x *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags { if x != nil { return x.Flags } return nil } func (x *SRv6InformationSubTLV) GetEndpointBehavior() uint32 { if x != nil { return x.EndpointBehavior } return 0 } func (x *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6SubSubTLVs { if x != nil { return x.SubSubTlvs } return nil } type SRv6SubTLV struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Tlv: // // *SRv6SubTLV_Information Tlv isSRv6SubTLV_Tlv `protobuf_oneof:"tlv"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6SubTLV) Reset() { *x = SRv6SubTLV{} mi := &file_api_attribute_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SRv6SubTLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*SRv6SubTLV) ProtoMessage() {} func (x *SRv6SubTLV) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6SubTLV.ProtoReflect.Descriptor instead. func (*SRv6SubTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{73} } func (x *SRv6SubTLV) GetTlv() isSRv6SubTLV_Tlv { if x != nil { return x.Tlv } return nil } func (x *SRv6SubTLV) GetInformation() *SRv6InformationSubTLV { if x != nil { if x, ok := x.Tlv.(*SRv6SubTLV_Information); ok { return x.Information } } return nil } type isSRv6SubTLV_Tlv interface { isSRv6SubTLV_Tlv() } type SRv6SubTLV_Information struct { Information *SRv6InformationSubTLV `protobuf:"bytes,1,opt,name=information,proto3,oneof"` } func (*SRv6SubTLV_Information) isSRv6SubTLV_Tlv() {} type SRv6SubTLVs struct { state protoimpl.MessageState `protogen:"open.v1"` Tlvs []*SRv6SubTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6SubTLVs) Reset() { *x = SRv6SubTLVs{} mi := &file_api_attribute_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SRv6SubTLVs) String() string { return protoimpl.X.MessageStringOf(x) } func (*SRv6SubTLVs) ProtoMessage() {} func (x *SRv6SubTLVs) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6SubTLVs.ProtoReflect.Descriptor instead. func (*SRv6SubTLVs) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{74} } func (x *SRv6SubTLVs) GetTlvs() []*SRv6SubTLV { if x != nil { return x.Tlvs } return nil } // https://www.rfc-editor.org/rfc/rfc9252.html#section-2 type SRv6L3ServiceTLV struct { state protoimpl.MessageState `protogen:"open.v1"` SubTlvs map[uint32]*SRv6SubTLVs `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6L3ServiceTLV) Reset() { *x = SRv6L3ServiceTLV{} mi := &file_api_attribute_proto_msgTypes[75] 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_api_attribute_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6L3ServiceTLV.ProtoReflect.Descriptor instead. func (*SRv6L3ServiceTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{75} } func (x *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6SubTLVs { if x != nil { return x.SubTlvs } return nil } // https://www.rfc-editor.org/rfc/rfc9252.html#section-2 type SRv6L2ServiceTLV struct { state protoimpl.MessageState `protogen:"open.v1"` SubTlvs map[uint32]*SRv6SubTLVs `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SRv6L2ServiceTLV) Reset() { *x = SRv6L2ServiceTLV{} mi := &file_api_attribute_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SRv6L2ServiceTLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*SRv6L2ServiceTLV) ProtoMessage() {} func (x *SRv6L2ServiceTLV) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SRv6L2ServiceTLV.ProtoReflect.Descriptor instead. func (*SRv6L2ServiceTLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{76} } func (x *SRv6L2ServiceTLV) GetSubTlvs() map[uint32]*SRv6SubTLVs { if x != nil { return x.SubTlvs } return nil } // https://tools.ietf.org/html/rfc8669 type PrefixSID struct { state protoimpl.MessageState `protogen:"open.v1"` Tlvs []*PrefixSID_TLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PrefixSID) Reset() { *x = PrefixSID{} mi := &file_api_attribute_proto_msgTypes[77] 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_api_attribute_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PrefixSID.ProtoReflect.Descriptor instead. func (*PrefixSID) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{77} } func (x *PrefixSID) GetTlvs() []*PrefixSID_TLV { if x != nil { return x.Tlvs } return nil } type TunnelEncapSubTLVSRSegmentList_Segment struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Segment: // // *TunnelEncapSubTLVSRSegmentList_Segment_A // *TunnelEncapSubTLVSRSegmentList_Segment_B Segment isTunnelEncapSubTLVSRSegmentList_Segment_Segment `protobuf_oneof:"segment"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapSubTLVSRSegmentList_Segment) Reset() { *x = TunnelEncapSubTLVSRSegmentList_Segment{} mi := &file_api_attribute_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TunnelEncapSubTLVSRSegmentList_Segment) String() string { return protoimpl.X.MessageStringOf(x) } func (*TunnelEncapSubTLVSRSegmentList_Segment) ProtoMessage() {} func (x *TunnelEncapSubTLVSRSegmentList_Segment) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapSubTLVSRSegmentList_Segment.ProtoReflect.Descriptor instead. func (*TunnelEncapSubTLVSRSegmentList_Segment) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{33, 0} } func (x *TunnelEncapSubTLVSRSegmentList_Segment) GetSegment() isTunnelEncapSubTLVSRSegmentList_Segment_Segment { if x != nil { return x.Segment } return nil } func (x *TunnelEncapSubTLVSRSegmentList_Segment) GetA() *SegmentTypeA { if x != nil { if x, ok := x.Segment.(*TunnelEncapSubTLVSRSegmentList_Segment_A); ok { return x.A } } return nil } func (x *TunnelEncapSubTLVSRSegmentList_Segment) GetB() *SegmentTypeB { if x != nil { if x, ok := x.Segment.(*TunnelEncapSubTLVSRSegmentList_Segment_B); ok { return x.B } } return nil } type isTunnelEncapSubTLVSRSegmentList_Segment_Segment interface { isTunnelEncapSubTLVSRSegmentList_Segment_Segment() } type TunnelEncapSubTLVSRSegmentList_Segment_A struct { A *SegmentTypeA `protobuf:"bytes,1,opt,name=a,proto3,oneof"` } type TunnelEncapSubTLVSRSegmentList_Segment_B struct { B *SegmentTypeB `protobuf:"bytes,2,opt,name=b,proto3,oneof"` } func (*TunnelEncapSubTLVSRSegmentList_Segment_A) isTunnelEncapSubTLVSRSegmentList_Segment_Segment() {} func (*TunnelEncapSubTLVSRSegmentList_Segment_B) isTunnelEncapSubTLVSRSegmentList_Segment_Segment() {} type TunnelEncapTLV_TLV struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Tlv: // // *TunnelEncapTLV_TLV_Unknown // *TunnelEncapTLV_TLV_Encapsulation // *TunnelEncapTLV_TLV_Protocol // *TunnelEncapTLV_TLV_Color // *TunnelEncapTLV_TLV_EgressEndpoint // *TunnelEncapTLV_TLV_UdpDestPort // *TunnelEncapTLV_TLV_SrPreference // *TunnelEncapTLV_TLV_SrPriority // *TunnelEncapTLV_TLV_SrCandidatePathName // *TunnelEncapTLV_TLV_SrEnlp // *TunnelEncapTLV_TLV_SrBindingSid // *TunnelEncapTLV_TLV_SrSegmentList Tlv isTunnelEncapTLV_TLV_Tlv `protobuf_oneof:"tlv"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TunnelEncapTLV_TLV) Reset() { *x = TunnelEncapTLV_TLV{} mi := &file_api_attribute_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TunnelEncapTLV_TLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*TunnelEncapTLV_TLV) ProtoMessage() {} func (x *TunnelEncapTLV_TLV) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TunnelEncapTLV_TLV.ProtoReflect.Descriptor instead. func (*TunnelEncapTLV_TLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{37, 0} } func (x *TunnelEncapTLV_TLV) GetTlv() isTunnelEncapTLV_TLV_Tlv { if x != nil { return x.Tlv } return nil } func (x *TunnelEncapTLV_TLV) GetUnknown() *TunnelEncapSubTLVUnknown { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_Unknown); ok { return x.Unknown } } return nil } func (x *TunnelEncapTLV_TLV) GetEncapsulation() *TunnelEncapSubTLVEncapsulation { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_Encapsulation); ok { return x.Encapsulation } } return nil } func (x *TunnelEncapTLV_TLV) GetProtocol() *TunnelEncapSubTLVProtocol { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_Protocol); ok { return x.Protocol } } return nil } func (x *TunnelEncapTLV_TLV) GetColor() *TunnelEncapSubTLVColor { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_Color); ok { return x.Color } } return nil } func (x *TunnelEncapTLV_TLV) GetEgressEndpoint() *TunnelEncapSubTLVEgressEndpoint { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_EgressEndpoint); ok { return x.EgressEndpoint } } return nil } func (x *TunnelEncapTLV_TLV) GetUdpDestPort() *TunnelEncapSubTLVUDPDestPort { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_UdpDestPort); ok { return x.UdpDestPort } } return nil } func (x *TunnelEncapTLV_TLV) GetSrPreference() *TunnelEncapSubTLVSRPreference { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_SrPreference); ok { return x.SrPreference } } return nil } func (x *TunnelEncapTLV_TLV) GetSrPriority() *TunnelEncapSubTLVSRPriority { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_SrPriority); ok { return x.SrPriority } } return nil } func (x *TunnelEncapTLV_TLV) GetSrCandidatePathName() *TunnelEncapSubTLVSRCandidatePathName { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_SrCandidatePathName); ok { return x.SrCandidatePathName } } return nil } func (x *TunnelEncapTLV_TLV) GetSrEnlp() *TunnelEncapSubTLVSRENLP { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_SrEnlp); ok { return x.SrEnlp } } return nil } func (x *TunnelEncapTLV_TLV) GetSrBindingSid() *TunnelEncapSubTLVSRBindingSID { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_SrBindingSid); ok { return x.SrBindingSid } } return nil } func (x *TunnelEncapTLV_TLV) GetSrSegmentList() *TunnelEncapSubTLVSRSegmentList { if x != nil { if x, ok := x.Tlv.(*TunnelEncapTLV_TLV_SrSegmentList); ok { return x.SrSegmentList } } return nil } type isTunnelEncapTLV_TLV_Tlv interface { isTunnelEncapTLV_TLV_Tlv() } type TunnelEncapTLV_TLV_Unknown struct { Unknown *TunnelEncapSubTLVUnknown `protobuf:"bytes,1,opt,name=unknown,proto3,oneof"` } type TunnelEncapTLV_TLV_Encapsulation struct { Encapsulation *TunnelEncapSubTLVEncapsulation `protobuf:"bytes,2,opt,name=encapsulation,proto3,oneof"` } type TunnelEncapTLV_TLV_Protocol struct { Protocol *TunnelEncapSubTLVProtocol `protobuf:"bytes,3,opt,name=protocol,proto3,oneof"` } type TunnelEncapTLV_TLV_Color struct { Color *TunnelEncapSubTLVColor `protobuf:"bytes,4,opt,name=color,proto3,oneof"` } type TunnelEncapTLV_TLV_EgressEndpoint struct { EgressEndpoint *TunnelEncapSubTLVEgressEndpoint `protobuf:"bytes,5,opt,name=egress_endpoint,json=egressEndpoint,proto3,oneof"` } type TunnelEncapTLV_TLV_UdpDestPort struct { UdpDestPort *TunnelEncapSubTLVUDPDestPort `protobuf:"bytes,6,opt,name=udp_dest_port,json=udpDestPort,proto3,oneof"` } type TunnelEncapTLV_TLV_SrPreference struct { SrPreference *TunnelEncapSubTLVSRPreference `protobuf:"bytes,7,opt,name=sr_preference,json=srPreference,proto3,oneof"` } type TunnelEncapTLV_TLV_SrPriority struct { SrPriority *TunnelEncapSubTLVSRPriority `protobuf:"bytes,8,opt,name=sr_priority,json=srPriority,proto3,oneof"` } type TunnelEncapTLV_TLV_SrCandidatePathName struct { SrCandidatePathName *TunnelEncapSubTLVSRCandidatePathName `protobuf:"bytes,9,opt,name=sr_candidate_path_name,json=srCandidatePathName,proto3,oneof"` } type TunnelEncapTLV_TLV_SrEnlp struct { SrEnlp *TunnelEncapSubTLVSRENLP `protobuf:"bytes,10,opt,name=sr_enlp,json=srEnlp,proto3,oneof"` } type TunnelEncapTLV_TLV_SrBindingSid struct { SrBindingSid *TunnelEncapSubTLVSRBindingSID `protobuf:"bytes,11,opt,name=sr_binding_sid,json=srBindingSid,proto3,oneof"` } type TunnelEncapTLV_TLV_SrSegmentList struct { SrSegmentList *TunnelEncapSubTLVSRSegmentList `protobuf:"bytes,12,opt,name=sr_segment_list,json=srSegmentList,proto3,oneof"` } func (*TunnelEncapTLV_TLV_Unknown) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_Encapsulation) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_Protocol) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_Color) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_EgressEndpoint) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_UdpDestPort) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_SrPreference) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_SrPriority) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_SrCandidatePathName) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_SrEnlp) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_SrBindingSid) isTunnelEncapTLV_TLV_Tlv() {} func (*TunnelEncapTLV_TLV_SrSegmentList) isTunnelEncapTLV_TLV_Tlv() {} type IP6ExtendedCommunitiesAttribute_Community struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Extcom: // // *IP6ExtendedCommunitiesAttribute_Community_Ipv6AddressSpecific // *IP6ExtendedCommunitiesAttribute_Community_RedirectIpv6AddressSpecific Extcom isIP6ExtendedCommunitiesAttribute_Community_Extcom `protobuf_oneof:"extcom"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *IP6ExtendedCommunitiesAttribute_Community) Reset() { *x = IP6ExtendedCommunitiesAttribute_Community{} mi := &file_api_attribute_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *IP6ExtendedCommunitiesAttribute_Community) String() string { return protoimpl.X.MessageStringOf(x) } func (*IP6ExtendedCommunitiesAttribute_Community) ProtoMessage() {} func (x *IP6ExtendedCommunitiesAttribute_Community) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IP6ExtendedCommunitiesAttribute_Community.ProtoReflect.Descriptor instead. func (*IP6ExtendedCommunitiesAttribute_Community) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{41, 0} } func (x *IP6ExtendedCommunitiesAttribute_Community) GetExtcom() isIP6ExtendedCommunitiesAttribute_Community_Extcom { if x != nil { return x.Extcom } return nil } func (x *IP6ExtendedCommunitiesAttribute_Community) GetIpv6AddressSpecific() *IPv6AddressSpecificExtended { if x != nil { if x, ok := x.Extcom.(*IP6ExtendedCommunitiesAttribute_Community_Ipv6AddressSpecific); ok { return x.Ipv6AddressSpecific } } return nil } func (x *IP6ExtendedCommunitiesAttribute_Community) GetRedirectIpv6AddressSpecific() *RedirectIPv6AddressSpecificExtended { if x != nil { if x, ok := x.Extcom.(*IP6ExtendedCommunitiesAttribute_Community_RedirectIpv6AddressSpecific); ok { return x.RedirectIpv6AddressSpecific } } return nil } type isIP6ExtendedCommunitiesAttribute_Community_Extcom interface { isIP6ExtendedCommunitiesAttribute_Community_Extcom() } type IP6ExtendedCommunitiesAttribute_Community_Ipv6AddressSpecific struct { Ipv6AddressSpecific *IPv6AddressSpecificExtended `protobuf:"bytes,1,opt,name=ipv6_address_specific,json=ipv6AddressSpecific,proto3,oneof"` } type IP6ExtendedCommunitiesAttribute_Community_RedirectIpv6AddressSpecific struct { RedirectIpv6AddressSpecific *RedirectIPv6AddressSpecificExtended `protobuf:"bytes,2,opt,name=redirect_ipv6_address_specific,json=redirectIpv6AddressSpecific,proto3,oneof"` } func (*IP6ExtendedCommunitiesAttribute_Community_Ipv6AddressSpecific) isIP6ExtendedCommunitiesAttribute_Community_Extcom() { } func (*IP6ExtendedCommunitiesAttribute_Community_RedirectIpv6AddressSpecific) isIP6ExtendedCommunitiesAttribute_Community_Extcom() { } type AigpAttribute_TLV struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Tlv: // // *AigpAttribute_TLV_Unknown // *AigpAttribute_TLV_IgpMetric Tlv isAigpAttribute_TLV_Tlv `protobuf_oneof:"tlv"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AigpAttribute_TLV) Reset() { *x = AigpAttribute_TLV{} mi := &file_api_attribute_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AigpAttribute_TLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*AigpAttribute_TLV) ProtoMessage() {} func (x *AigpAttribute_TLV) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AigpAttribute_TLV.ProtoReflect.Descriptor instead. func (*AigpAttribute_TLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{44, 0} } func (x *AigpAttribute_TLV) GetTlv() isAigpAttribute_TLV_Tlv { if x != nil { return x.Tlv } return nil } func (x *AigpAttribute_TLV) GetUnknown() *AigpTLVUnknown { if x != nil { if x, ok := x.Tlv.(*AigpAttribute_TLV_Unknown); ok { return x.Unknown } } return nil } func (x *AigpAttribute_TLV) GetIgpMetric() *AigpTLVIGPMetric { if x != nil { if x, ok := x.Tlv.(*AigpAttribute_TLV_IgpMetric); ok { return x.IgpMetric } } return nil } type isAigpAttribute_TLV_Tlv interface { isAigpAttribute_TLV_Tlv() } type AigpAttribute_TLV_Unknown struct { Unknown *AigpTLVUnknown `protobuf:"bytes,1,opt,name=unknown,proto3,oneof"` } type AigpAttribute_TLV_IgpMetric struct { IgpMetric *AigpTLVIGPMetric `protobuf:"bytes,2,opt,name=igp_metric,json=igpMetric,proto3,oneof"` } func (*AigpAttribute_TLV_Unknown) isAigpAttribute_TLV_Tlv() {} func (*AigpAttribute_TLV_IgpMetric) isAigpAttribute_TLV_Tlv() {} // tlv is one of: type PrefixSID_TLV struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Tlv: // // *PrefixSID_TLV_L3Service // *PrefixSID_TLV_L2Service Tlv isPrefixSID_TLV_Tlv `protobuf_oneof:"tlv"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PrefixSID_TLV) Reset() { *x = PrefixSID_TLV{} mi := &file_api_attribute_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PrefixSID_TLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*PrefixSID_TLV) ProtoMessage() {} func (x *PrefixSID_TLV) ProtoReflect() protoreflect.Message { mi := &file_api_attribute_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PrefixSID_TLV.ProtoReflect.Descriptor instead. func (*PrefixSID_TLV) Descriptor() ([]byte, []int) { return file_api_attribute_proto_rawDescGZIP(), []int{77, 0} } func (x *PrefixSID_TLV) GetTlv() isPrefixSID_TLV_Tlv { if x != nil { return x.Tlv } return nil } func (x *PrefixSID_TLV) GetL3Service() *SRv6L3ServiceTLV { if x != nil { if x, ok := x.Tlv.(*PrefixSID_TLV_L3Service); ok { return x.L3Service } } return nil } func (x *PrefixSID_TLV) GetL2Service() *SRv6L2ServiceTLV { if x != nil { if x, ok := x.Tlv.(*PrefixSID_TLV_L2Service); ok { return x.L2Service } } return nil } type isPrefixSID_TLV_Tlv interface { isPrefixSID_TLV_Tlv() } type PrefixSID_TLV_L3Service struct { // IndexLabelTLV Type 1 (not yet implemented) // OriginatorSRGBTLV Type 3 (not yet implemented) L3Service *SRv6L3ServiceTLV `protobuf:"bytes,3,opt,name=l3_service,json=l3Service,proto3,oneof"` } type PrefixSID_TLV_L2Service struct { L2Service *SRv6L2ServiceTLV `protobuf:"bytes,4,opt,name=l2_service,json=l2Service,proto3,oneof"` } func (*PrefixSID_TLV_L3Service) isPrefixSID_TLV_Tlv() {} func (*PrefixSID_TLV_L2Service) isPrefixSID_TLV_Tlv() {} var File_api_attribute_proto protoreflect.FileDescriptor const file_api_attribute_proto_rawDesc = "" + "\n" + "\x13api/attribute.proto\x12\x03api\x1a\x10api/common.proto\x1a\x10api/extcom.proto\x1a\x0eapi/nlri.proto\"\x9b\v\n" + "\tAttribute\x121\n" + "\aunknown\x18\x01 \x01(\v2\x15.api.UnknownAttributeH\x00R\aunknown\x12.\n" + "\x06origin\x18\x02 \x01(\v2\x14.api.OriginAttributeH\x00R\x06origin\x12/\n" + "\aas_path\x18\x03 \x01(\v2\x14.api.AsPathAttributeH\x00R\x06asPath\x122\n" + "\bnext_hop\x18\x04 \x01(\v2\x15.api.NextHopAttributeH\x00R\anextHop\x12E\n" + "\x0fmulti_exit_disc\x18\x05 \x01(\v2\x1b.api.MultiExitDiscAttributeH\x00R\rmultiExitDisc\x128\n" + "\n" + "local_pref\x18\x06 \x01(\v2\x17.api.LocalPrefAttributeH\x00R\tlocalPref\x12J\n" + "\x10atomic_aggregate\x18\a \x01(\v2\x1d.api.AtomicAggregateAttributeH\x00R\x0fatomicAggregate\x12:\n" + "\n" + "aggregator\x18\b \x01(\v2\x18.api.AggregatorAttributeH\x00R\n" + "aggregator\x12=\n" + "\vcommunities\x18\t \x01(\v2\x19.api.CommunitiesAttributeH\x00R\vcommunities\x12A\n" + "\roriginator_id\x18\n" + " \x01(\v2\x1a.api.OriginatorIdAttributeH\x00R\foriginatorId\x12>\n" + "\fcluster_list\x18\v \x01(\v2\x19.api.ClusterListAttributeH\x00R\vclusterList\x126\n" + "\bmp_reach\x18\f \x01(\v2\x19.api.MpReachNLRIAttributeH\x00R\ampReach\x12<\n" + "\n" + "mp_unreach\x18\r \x01(\v2\x1b.api.MpUnreachNLRIAttributeH\x00R\tmpUnreach\x12V\n" + "\x14extended_communities\x18\x0e \x01(\v2!.api.ExtendedCommunitiesAttributeH\x00R\x13extendedCommunities\x122\n" + "\bas4_path\x18\x0f \x01(\v2\x15.api.As4PathAttributeH\x00R\aas4Path\x12D\n" + "\x0eas4_aggregator\x18\x10 \x01(\v2\x1b.api.As4AggregatorAttributeH\x00R\ras4Aggregator\x12;\n" + "\vpmsi_tunnel\x18\x11 \x01(\v2\x18.api.PmsiTunnelAttributeH\x00R\n" + "pmsiTunnel\x12>\n" + "\ftunnel_encap\x18\x12 \x01(\v2\x19.api.TunnelEncapAttributeH\x00R\vtunnelEncap\x12`\n" + "\x18ip6_extended_communities\x18\x13 \x01(\v2$.api.IP6ExtendedCommunitiesAttributeH\x00R\x16ip6ExtendedCommunities\x12(\n" + "\x04aigp\x18\x14 \x01(\v2\x12.api.AigpAttributeH\x00R\x04aigp\x12M\n" + "\x11large_communities\x18\x15 \x01(\v2\x1e.api.LargeCommunitiesAttributeH\x00R\x10largeCommunities\x12\"\n" + "\x02ls\x18\x16 \x01(\v2\x10.api.LsAttributeH\x00R\x02ls\x12/\n" + "\n" + "prefix_sid\x18\x17 \x01(\v2\x0e.api.PrefixSIDH\x00R\tprefixSidB\x06\n" + "\x04attr\")\n" + "\x0fOriginAttribute\x12\x16\n" + "\x06origin\x18\x01 \x01(\rR\x06origin\"\xc8\x01\n" + "\tAsSegment\x12'\n" + "\x04type\x18\x01 \x01(\x0e2\x13.api.AsSegment.TypeR\x04type\x12\x18\n" + "\anumbers\x18\x02 \x03(\rR\anumbers\"x\n" + "\x04Type\x12\x14\n" + "\x10TYPE_UNSPECIFIED\x10\x00\x12\x0f\n" + "\vTYPE_AS_SET\x10\x01\x12\x14\n" + "\x10TYPE_AS_SEQUENCE\x10\x02\x12\x1b\n" + "\x17TYPE_AS_CONFED_SEQUENCE\x10\x03\x12\x16\n" + "\x12TYPE_AS_CONFED_SET\x10\x04\"=\n" + "\x0fAsPathAttribute\x12*\n" + "\bsegments\x18\x01 \x03(\v2\x0e.api.AsSegmentR\bsegments\"-\n" + "\x10NextHopAttribute\x12\x19\n" + "\bnext_hop\x18\x01 \x01(\tR\anextHop\"*\n" + "\x16MultiExitDiscAttribute\x12\x10\n" + "\x03med\x18\x01 \x01(\rR\x03med\"3\n" + "\x12LocalPrefAttribute\x12\x1d\n" + "\n" + "local_pref\x18\x01 \x01(\rR\tlocalPref\"\x1a\n" + "\x18AtomicAggregateAttribute\"A\n" + "\x13AggregatorAttribute\x12\x10\n" + "\x03asn\x18\x01 \x01(\rR\x03asn\x12\x18\n" + "\aaddress\x18\x02 \x01(\tR\aaddress\"8\n" + "\x14CommunitiesAttribute\x12 \n" + "\vcommunities\x18\x01 \x03(\rR\vcommunities\"'\n" + "\x15OriginatorIdAttribute\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"(\n" + "\x14ClusterListAttribute\x12\x10\n" + "\x03ids\x18\x01 \x03(\tR\x03ids\"y\n" + "\x14MpReachNLRIAttribute\x12#\n" + "\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\x12\x1b\n" + "\tnext_hops\x18\x02 \x03(\tR\bnextHops\x12\x1f\n" + "\x05nlris\x18\x03 \x03(\v2\t.api.NLRIR\x05nlris\"^\n" + "\x16MpUnreachNLRIAttribute\x12#\n" + "\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\x12\x1f\n" + "\x05nlris\x18\x03 \x03(\v2\t.api.NLRIR\x05nlris\"X\n" + "\x1cExtendedCommunitiesAttribute\x128\n" + "\vcommunities\x18\x01 \x03(\v2\x16.api.ExtendedCommunityR\vcommunities\">\n" + "\x10As4PathAttribute\x12*\n" + "\bsegments\x18\x01 \x03(\v2\x0e.api.AsSegmentR\bsegments\"D\n" + "\x16As4AggregatorAttribute\x12\x10\n" + "\x03asn\x18\x02 \x01(\rR\x03asn\x12\x18\n" + "\aaddress\x18\x03 \x01(\tR\aaddress\"e\n" + "\x13PmsiTunnelAttribute\x12\x14\n" + "\x05flags\x18\x01 \x01(\rR\x05flags\x12\x12\n" + "\x04type\x18\x02 \x01(\rR\x04type\x12\x14\n" + "\x05label\x18\x03 \x01(\rR\x05label\x12\x0e\n" + "\x02id\x18\x04 \x01(\fR\x02id\"J\n" + "\x1eTunnelEncapSubTLVEncapsulation\x12\x10\n" + "\x03key\x18\x01 \x01(\rR\x03key\x12\x16\n" + "\x06cookie\x18\x02 \x01(\fR\x06cookie\"7\n" + "\x19TunnelEncapSubTLVProtocol\x12\x1a\n" + "\bprotocol\x18\x01 \x01(\rR\bprotocol\".\n" + "\x16TunnelEncapSubTLVColor\x12\x14\n" + "\x05color\x18\x01 \x01(\rR\x05color\"U\n" + "\x1dTunnelEncapSubTLVSRPreference\x12\x14\n" + "\x05flags\x18\x01 \x01(\rR\x05flags\x12\x1e\n" + "\n" + "preference\x18\x02 \x01(\rR\n" + "preference\"V\n" + "$TunnelEncapSubTLVSRCandidatePathName\x12.\n" + "\x13candidate_path_name\x18\x01 \x01(\tR\x11candidatePathName\"9\n" + "\x1bTunnelEncapSubTLVSRPriority\x12\x1a\n" + "\bpriority\x18\x01 \x01(\rR\bpriority\"\xa3\x01\n" + "\x1dTunnelEncapSubTLVSRBindingSID\x129\n" + "\x0esr_binding_sid\x18\x01 \x01(\v2\x11.api.SRBindingSIDH\x00R\fsrBindingSid\x12?\n" + "\x10srv6_binding_sid\x18\x02 \x01(\v2\x13.api.SRv6BindingSIDH\x00R\x0esrv6BindingSidB\x06\n" + "\x04bsid\"N\n" + "\fSRBindingSID\x12\x15\n" + "\x06s_flag\x18\x01 \x01(\bR\x05sFlag\x12\x15\n" + "\x06i_flag\x18\x02 \x01(\bR\x05iFlag\x12\x10\n" + "\x03sid\x18\x03 \x01(\fR\x03sid\"\xb1\x01\n" + "\x14SRv6EndPointBehavior\x12-\n" + "\bbehavior\x18\x01 \x01(\x0e2\x11.api.SRV6BehaviorR\bbehavior\x12\x1b\n" + "\tblock_len\x18\x02 \x01(\rR\bblockLen\x12\x19\n" + "\bnode_len\x18\x03 \x01(\rR\anodeLen\x12\x19\n" + "\bfunc_len\x18\x04 \x01(\rR\afuncLen\x12\x17\n" + "\aarg_len\x18\x05 \x01(\rR\x06argLen\"\xc2\x01\n" + "\x0eSRv6BindingSID\x12\x15\n" + "\x06s_flag\x18\x01 \x01(\bR\x05sFlag\x12\x15\n" + "\x06i_flag\x18\x02 \x01(\bR\x05iFlag\x12\x15\n" + "\x06b_flag\x18\x03 \x01(\bR\x05bFlag\x12\x10\n" + "\x03sid\x18\x04 \x01(\fR\x03sid\x12Y\n" + "\x1bendpoint_behavior_structure\x18\x05 \x01(\v2\x19.api.SRv6EndPointBehaviorR\x19endpointBehaviorStructure\"R\n" + "\x17TunnelEncapSubTLVSRENLP\x12\x14\n" + "\x05flags\x18\x01 \x01(\rR\x05flags\x12!\n" + "\x04enlp\x18\x02 \x01(\x0e2\r.api.ENLPTypeR\x04enlp\"8\n" + "\bSRWeight\x12\x14\n" + "\x05flags\x18\x01 \x01(\rR\x05flags\x12\x16\n" + "\x06weight\x18\x02 \x01(\rR\x06weight\"j\n" + "\fSegmentFlags\x12\x15\n" + "\x06v_flag\x18\x01 \x01(\bR\x05vFlag\x12\x15\n" + "\x06a_flag\x18\x02 \x01(\bR\x05aFlag\x12\x15\n" + "\x06s_flag\x18\x03 \x01(\bR\x05sFlag\x12\x15\n" + "\x06b_flag\x18\x04 \x01(\bR\x05bFlag\"M\n" + "\fSegmentTypeA\x12'\n" + "\x05flags\x18\x01 \x01(\v2\x11.api.SegmentFlagsR\x05flags\x12\x14\n" + "\x05label\x18\x02 \x01(\rR\x05label\"\xa4\x01\n" + "\fSegmentTypeB\x12'\n" + "\x05flags\x18\x01 \x01(\v2\x11.api.SegmentFlagsR\x05flags\x12\x10\n" + "\x03sid\x18\x02 \x01(\fR\x03sid\x12Y\n" + "\x1bendpoint_behavior_structure\x18\x03 \x01(\v2\x19.api.SRv6EndPointBehaviorR\x19endpointBehaviorStructure\"\xec\x01\n" + "\x1eTunnelEncapSubTLVSRSegmentList\x12%\n" + "\x06weight\x18\x01 \x01(\v2\r.api.SRWeightR\x06weight\x12G\n" + "\bsegments\x18\x02 \x03(\v2+.api.TunnelEncapSubTLVSRSegmentList.SegmentR\bsegments\x1aZ\n" + "\aSegment\x12!\n" + "\x01a\x18\x01 \x01(\v2\x11.api.SegmentTypeAH\x00R\x01a\x12!\n" + "\x01b\x18\x02 \x01(\v2\x11.api.SegmentTypeBH\x00R\x01bB\t\n" + "\asegment\";\n" + "\x1fTunnelEncapSubTLVEgressEndpoint\x12\x18\n" + "\aaddress\x18\x01 \x01(\tR\aaddress\"2\n" + "\x1cTunnelEncapSubTLVUDPDestPort\x12\x12\n" + "\x04port\x18\x01 \x01(\rR\x04port\"D\n" + "\x18TunnelEncapSubTLVUnknown\x12\x12\n" + "\x04type\x18\x01 \x01(\rR\x04type\x12\x14\n" + "\x05value\x18\x02 \x01(\fR\x05value\"\xbb\a\n" + "\x0eTunnelEncapTLV\x12\x12\n" + "\x04type\x18\x01 \x01(\rR\x04type\x12+\n" + "\x04tlvs\x18\x02 \x03(\v2\x17.api.TunnelEncapTLV.TLVR\x04tlvs\x1a\xe7\x06\n" + "\x03TLV\x129\n" + "\aunknown\x18\x01 \x01(\v2\x1d.api.TunnelEncapSubTLVUnknownH\x00R\aunknown\x12K\n" + "\rencapsulation\x18\x02 \x01(\v2#.api.TunnelEncapSubTLVEncapsulationH\x00R\rencapsulation\x12<\n" + "\bprotocol\x18\x03 \x01(\v2\x1e.api.TunnelEncapSubTLVProtocolH\x00R\bprotocol\x123\n" + "\x05color\x18\x04 \x01(\v2\x1b.api.TunnelEncapSubTLVColorH\x00R\x05color\x12O\n" + "\x0fegress_endpoint\x18\x05 \x01(\v2$.api.TunnelEncapSubTLVEgressEndpointH\x00R\x0eegressEndpoint\x12G\n" + "\rudp_dest_port\x18\x06 \x01(\v2!.api.TunnelEncapSubTLVUDPDestPortH\x00R\vudpDestPort\x12I\n" + "\rsr_preference\x18\a \x01(\v2\".api.TunnelEncapSubTLVSRPreferenceH\x00R\fsrPreference\x12C\n" + "\vsr_priority\x18\b \x01(\v2 .api.TunnelEncapSubTLVSRPriorityH\x00R\n" + "srPriority\x12`\n" + "\x16sr_candidate_path_name\x18\t \x01(\v2).api.TunnelEncapSubTLVSRCandidatePathNameH\x00R\x13srCandidatePathName\x127\n" + "\asr_enlp\x18\n" + " \x01(\v2\x1c.api.TunnelEncapSubTLVSRENLPH\x00R\x06srEnlp\x12J\n" + "\x0esr_binding_sid\x18\v \x01(\v2\".api.TunnelEncapSubTLVSRBindingSIDH\x00R\fsrBindingSid\x12M\n" + "\x0fsr_segment_list\x18\f \x01(\v2#.api.TunnelEncapSubTLVSRSegmentListH\x00R\rsrSegmentListB\x05\n" + "\x03tlv\"?\n" + "\x14TunnelEncapAttribute\x12'\n" + "\x04tlvs\x18\x01 \x03(\v2\x13.api.TunnelEncapTLVR\x04tlvs\"\x98\x01\n" + "\x1bIPv6AddressSpecificExtended\x12#\n" + "\ris_transitive\x18\x01 \x01(\bR\fisTransitive\x12\x19\n" + "\bsub_type\x18\x02 \x01(\rR\asubType\x12\x18\n" + "\aaddress\x18\x03 \x01(\tR\aaddress\x12\x1f\n" + "\vlocal_admin\x18\x04 \x01(\rR\n" + "localAdmin\"`\n" + "#RedirectIPv6AddressSpecificExtended\x12\x18\n" + "\aaddress\x18\x01 \x01(\tR\aaddress\x12\x1f\n" + "\vlocal_admin\x18\x02 \x01(\rR\n" + "localAdmin\"\xd4\x02\n" + "\x1fIP6ExtendedCommunitiesAttribute\x12P\n" + "\vcommunities\x18\x01 \x03(\v2..api.IP6ExtendedCommunitiesAttribute.CommunityR\vcommunities\x1a\xde\x01\n" + "\tCommunity\x12V\n" + "\x15ipv6_address_specific\x18\x01 \x01(\v2 .api.IPv6AddressSpecificExtendedH\x00R\x13ipv6AddressSpecific\x12o\n" + "\x1eredirect_ipv6_address_specific\x18\x02 \x01(\v2(.api.RedirectIPv6AddressSpecificExtendedH\x00R\x1bredirectIpv6AddressSpecificB\b\n" + "\x06extcom\"*\n" + "\x10AigpTLVIGPMetric\x12\x16\n" + "\x06metric\x18\x01 \x01(\x04R\x06metric\":\n" + "\x0eAigpTLVUnknown\x12\x12\n" + "\x04type\x18\x01 \x01(\rR\x04type\x12\x14\n" + "\x05value\x18\x02 \x01(\fR\x05value\"\xb2\x01\n" + "\rAigpAttribute\x12*\n" + "\x04tlvs\x18\x01 \x03(\v2\x16.api.AigpAttribute.TLVR\x04tlvs\x1au\n" + "\x03TLV\x12/\n" + "\aunknown\x18\x01 \x01(\v2\x13.api.AigpTLVUnknownH\x00R\aunknown\x126\n" + "\n" + "igp_metric\x18\x02 \x01(\v2\x15.api.AigpTLVIGPMetricH\x00R\tigpMetricB\x05\n" + "\x03tlv\"u\n" + "\x0eLargeCommunity\x12!\n" + "\fglobal_admin\x18\x01 \x01(\rR\vglobalAdmin\x12\x1f\n" + "\vlocal_data1\x18\x02 \x01(\rR\n" + "localData1\x12\x1f\n" + "\vlocal_data2\x18\x03 \x01(\rR\n" + "localData2\"R\n" + "\x19LargeCommunitiesAttribute\x125\n" + "\vcommunities\x18\x01 \x03(\v2\x13.api.LargeCommunityR\vcommunities\"\x9b\x01\n" + "\vLsNodeFlags\x12\x1a\n" + "\boverload\x18\x01 \x01(\bR\boverload\x12\x1a\n" + "\battached\x18\x02 \x01(\bR\battached\x12\x1a\n" + "\bexternal\x18\x03 \x01(\bR\bexternal\x12\x10\n" + "\x03abr\x18\x04 \x01(\bR\x03abr\x12\x16\n" + "\x06router\x18\x05 \x01(\bR\x06router\x12\x0e\n" + "\x02v6\x18\x06 \x01(\bR\x02v6\"\x8b\x01\n" + "\n" + "LsIGPFlags\x12\x12\n" + "\x04down\x18\x01 \x01(\bR\x04down\x12\x1d\n" + "\n" + "no_unicast\x18\x02 \x01(\bR\tnoUnicast\x12#\n" + "\rlocal_address\x18\x03 \x01(\bR\flocalAddress\x12%\n" + "\x0epropagate_nssa\x18\x04 \x01(\bR\rpropagateNssa\"3\n" + "\tLsSrRange\x12\x14\n" + "\x05begin\x18\x01 \x01(\rR\x05begin\x12\x10\n" + "\x03end\x18\x02 \x01(\rR\x03end\"\x88\x01\n" + "\x10LsSrCapabilities\x12%\n" + "\x0eipv4_supported\x18\x01 \x01(\bR\ripv4Supported\x12%\n" + "\x0eipv6_supported\x18\x02 \x01(\bR\ripv6Supported\x12&\n" + "\x06ranges\x18\x03 \x03(\v2\x0e.api.LsSrRangeR\x06ranges\"8\n" + "\x0eLsSrLocalBlock\x12&\n" + "\x06ranges\x18\x01 \x03(\v2\x0e.api.LsSrRangeR\x06ranges\"\xba\x03\n" + "\x0fLsAttributeNode\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12&\n" + "\x05flags\x18\x02 \x01(\v2\x10.api.LsNodeFlagsR\x05flags\x12&\n" + "\x0flocal_router_id\x18\x03 \x01(\tR\rlocalRouterId\x12+\n" + "\x12local_router_id_v6\x18\x04 \x01(\tR\x0flocalRouterIdV6\x12\x1b\n" + "\tisis_area\x18\x05 \x01(\fR\bisisArea\x12\x16\n" + "\x06opaque\x18\x06 \x01(\fR\x06opaque\x12>\n" + "\x0fsr_capabilities\x18\a \x01(\v2\x15.api.LsSrCapabilitiesR\x0esrCapabilities\x12#\n" + "\rsr_algorithms\x18\b \x01(\fR\fsrAlgorithms\x129\n" + "\x0esr_local_block\x18\t \x01(\v2\x13.api.LsSrLocalBlockR\fsrLocalBlock\x12A\n" + "\x0eflex_algo_defs\x18\n" + " \x03(\v2\x1b.api.LsAttributeFlexAlgoDefR\fflexAlgoDefs\"\xa0\x03\n" + "\x16LsAttributeFlexAlgoDef\x12\x1c\n" + "\talgorithm\x18\x01 \x01(\rR\talgorithm\x12\x1f\n" + "\vmetric_type\x18\x02 \x01(\rR\n" + "metricType\x12*\n" + "\x11metric_type_known\x18\x03 \x01(\bR\x0fmetricTypeKnown\x12\x1b\n" + "\tcalc_type\x18\x04 \x01(\rR\bcalcType\x12\x1a\n" + "\bpriority\x18\x05 \x01(\rR\bpriority\x120\n" + "\x14exclude_any_affinity\x18\x06 \x03(\rR\x12excludeAnyAffinity\x120\n" + "\x14include_any_affinity\x18\a \x03(\rR\x12includeAnyAffinity\x120\n" + "\x14include_all_affinity\x18\b \x03(\rR\x12includeAllAffinity\x12)\n" + "\x10definition_flags\x18\t \x01(\fR\x0fdefinitionFlags\x12!\n" + "\fexclude_srlg\x18\n" + " \x03(\rR\vexcludeSrlg\"\x88\b\n" + "\x0fLsAttributeLink\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12&\n" + "\x0flocal_router_id\x18\x02 \x01(\tR\rlocalRouterId\x12+\n" + "\x12local_router_id_v6\x18\x03 \x01(\tR\x0flocalRouterIdV6\x12(\n" + "\x10remote_router_id\x18\x04 \x01(\tR\x0eremoteRouterId\x12-\n" + "\x13remote_router_id_v6\x18\x05 \x01(\tR\x10remoteRouterIdV6\x12\x1f\n" + "\vadmin_group\x18\x06 \x01(\rR\n" + "adminGroup\x12*\n" + "\x11default_te_metric\x18\a \x01(\rR\x0fdefaultTeMetric\x12\x1d\n" + "\n" + "igp_metric\x18\b \x01(\rR\tigpMetric\x12\x16\n" + "\x06opaque\x18\t \x01(\fR\x06opaque\x12\x1c\n" + "\tbandwidth\x18\n" + " \x01(\x02R\tbandwidth\x121\n" + "\x14reservable_bandwidth\x18\v \x01(\x02R\x13reservableBandwidth\x121\n" + "\x14unreserved_bandwidth\x18\f \x03(\x02R\x13unreservedBandwidth\x12(\n" + "\x10sr_adjacency_sid\x18\r \x01(\rR\x0esrAdjacencySid\x12\x14\n" + "\x05srlgs\x18\x0e \x03(\rR\x05srlgs\x127\n" + "\x0esrv6_end_x_sid\x18\x0f \x01(\v2\x12.api.LsSrv6EndXSIDR\vsrv6EndXSid\x12M\n" + "#unidirectional_link_delay_anomalous\x18\x10 \x01(\bR unidirectionalLinkDelayAnomalous\x12:\n" + "\x19unidirectional_link_delay\x18\x11 \x01(\rR\x17unidirectionalLinkDelay\x12[\n" + "+min_max_unidirectional_link_delay_anomalous\x18\x12 \x01(\bR&minMaxUnidirectionalLinkDelayAnomalous\x12A\n" + "\x1dmin_unidirectional_link_delay\x18\x13 \x01(\rR\x1aminUnidirectionalLinkDelay\x12A\n" + "\x1dmax_unidirectional_link_delay\x18\x14 \x01(\rR\x1amaxUnidirectionalLinkDelay\x12D\n" + "\x1eunidirectional_delay_variation\x18\x15 \x01(\rR\x1cunidirectionalDelayVariation\"\x8d\x02\n" + "\x11LsAttributePrefix\x12,\n" + "\tigp_flags\x18\x01 \x01(\v2\x0f.api.LsIGPFlagsR\bigpFlags\x12\x16\n" + "\x06opaque\x18\x02 \x01(\fR\x06opaque\x12\"\n" + "\rsr_prefix_sid\x18\x03 \x01(\rR\vsrPrefixSid\x12?\n" + "\x0esr_prefix_sids\x18\x04 \x03(\v2\x19.api.LsAttributePrefixSIDR\fsrPrefixSids\x12M\n" + "\x12fad_prefix_metrics\x18\x05 \x03(\v2\x1f.api.LsAttributeFADPrefixMetricR\x10fadPrefixMetrics\"\\\n" + "\x14LsAttributePrefixSID\x12\x1c\n" + "\talgorithm\x18\x01 \x01(\rR\talgorithm\x12\x14\n" + "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x10\n" + "\x03sid\x18\x03 \x01(\rR\x03sid\"h\n" + "\x1aLsAttributeFADPrefixMetric\x12\x1c\n" + "\talgorithm\x18\x01 \x01(\rR\talgorithm\x12\x14\n" + "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x16\n" + "\x06metric\x18\x03 \x01(\rR\x06metric\"~\n" + "\x18LsBgpPeerSegmentSIDFlags\x12\x14\n" + "\x05value\x18\x01 \x01(\bR\x05value\x12\x14\n" + "\x05local\x18\x02 \x01(\bR\x05local\x12\x16\n" + "\x06backup\x18\x03 \x01(\bR\x06backup\x12\x1e\n" + "\n" + "persistent\x18\x04 \x01(\bR\n" + "persistent\"t\n" + "\x13LsBgpPeerSegmentSID\x123\n" + "\x05flags\x18\x01 \x01(\v2\x1d.api.LsBgpPeerSegmentSIDFlagsR\x05flags\x12\x16\n" + "\x06weight\x18\x02 \x01(\rR\x06weight\x12\x10\n" + "\x03sid\x18\x03 \x01(\rR\x03sid\"\xf2\x01\n" + "\x19LsAttributeBgpPeerSegment\x12C\n" + "\x11bgp_peer_node_sid\x18\x01 \x01(\v2\x18.api.LsBgpPeerSegmentSIDR\x0ebgpPeerNodeSid\x12M\n" + "\x16bgp_peer_adjacency_sid\x18\x02 \x01(\v2\x18.api.LsBgpPeerSegmentSIDR\x13bgpPeerAdjacencySid\x12A\n" + "\x10bgp_peer_set_sid\x18\x03 \x01(\v2\x18.api.LsBgpPeerSegmentSIDR\rbgpPeerSetSid\"\xff\x01\n" + "\rLsSrv6EndXSID\x12+\n" + "\x11endpoint_behavior\x18\x01 \x01(\rR\x10endpointBehavior\x12\x14\n" + "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x1c\n" + "\talgorithm\x18\x03 \x01(\rR\talgorithm\x12\x16\n" + "\x06weight\x18\x04 \x01(\rR\x06weight\x12\x1a\n" + "\breserved\x18\x05 \x01(\rR\breserved\x12\x12\n" + "\x04sids\x18\x06 \x03(\tR\x04sids\x12E\n" + "\x12srv6_sid_structure\x18\a \x01(\v2\x17.api.LsSrv6SIDStructureR\x10srv6SidStructure\"\x90\x01\n" + "\x12LsSrv6SIDStructure\x12\x1f\n" + "\vlocal_block\x18\x01 \x01(\rR\n" + "localBlock\x12\x1d\n" + "\n" + "local_node\x18\x02 \x01(\rR\tlocalNode\x12\x1d\n" + "\n" + "local_func\x18\x03 \x01(\rR\tlocalFunc\x12\x1b\n" + "\tlocal_arg\x18\x04 \x01(\rR\blocalArg\"y\n" + "\x16LsSrv6EndpointBehavior\x12+\n" + "\x11endpoint_behavior\x18\x01 \x01(\rR\x10endpointBehavior\x12\x14\n" + "\x05flags\x18\x02 \x01(\rR\x05flags\x12\x1c\n" + "\talgorithm\x18\x03 \x01(\rR\talgorithm\"}\n" + "\x14LsSrv6BgpPeerNodeSID\x12\x14\n" + "\x05flags\x18\x01 \x01(\rR\x05flags\x12\x16\n" + "\x06weight\x18\x02 \x01(\rR\x06weight\x12\x17\n" + "\apeer_as\x18\x03 \x01(\rR\x06peerAs\x12\x1e\n" + "\vpeer_bgp_id\x18\x04 \x01(\tR\tpeerBgpId\"\xfd\x01\n" + "\x12LsAttributeSrv6SID\x12E\n" + "\x12srv6_sid_structure\x18\x01 \x01(\v2\x17.api.LsSrv6SIDStructureR\x10srv6SidStructure\x12Q\n" + "\x16srv6_endpoint_behavior\x18\x02 \x01(\v2\x1b.api.LsSrv6EndpointBehaviorR\x14srv6EndpointBehavior\x12M\n" + "\x16srv6_bgp_peer_node_sid\x18\x03 \x01(\v2\x19.api.LsSrv6BgpPeerNodeSIDR\x12srv6BgpPeerNodeSid\"\x8f\x02\n" + "\vLsAttribute\x12(\n" + "\x04node\x18\x01 \x01(\v2\x14.api.LsAttributeNodeR\x04node\x12(\n" + "\x04link\x18\x02 \x01(\v2\x14.api.LsAttributeLinkR\x04link\x12.\n" + "\x06prefix\x18\x03 \x01(\v2\x16.api.LsAttributePrefixR\x06prefix\x12H\n" + "\x10bgp_peer_segment\x18\x04 \x01(\v2\x1e.api.LsAttributeBgpPeerSegmentR\x0ebgpPeerSegment\x122\n" + "\bsrv6_sid\x18\x05 \x01(\v2\x17.api.LsAttributeSrv6SIDR\asrv6Sid\"R\n" + "\x10UnknownAttribute\x12\x14\n" + "\x05flags\x18\x01 \x01(\rR\x05flags\x12\x12\n" + "\x04type\x18\x02 \x01(\rR\x04type\x12\x14\n" + "\x05value\x18\x03 \x01(\fR\x05value\"\xb2\x02\n" + "\x16SRv6StructureSubSubTLV\x120\n" + "\x14locator_block_length\x18\x01 \x01(\rR\x12locatorBlockLength\x12.\n" + "\x13locator_node_length\x18\x02 \x01(\rR\x11locatorNodeLength\x12'\n" + "\x0ffunction_length\x18\x03 \x01(\rR\x0efunctionLength\x12'\n" + "\x0fargument_length\x18\x04 \x01(\rR\x0eargumentLength\x121\n" + "\x14transposition_length\x18\x05 \x01(\rR\x13transpositionLength\x121\n" + "\x14transposition_offset\x18\x06 \x01(\rR\x13transpositionOffset\"S\n" + "\rSRv6SubSubTLV\x12;\n" + "\tstructure\x18\x01 \x01(\v2\x1b.api.SRv6StructureSubSubTLVH\x00R\tstructureB\x05\n" + "\x03tlv\"8\n" + "\x0eSRv6SubSubTLVs\x12&\n" + "\x04tlvs\x18\x01 \x03(\v2\x12.api.SRv6SubSubTLVR\x04tlvs\"%\n" + "\fSRv6SIDFlags\x12\x15\n" + "\x06flag_1\x18\x01 \x01(\bR\x05flag1\"\xa1\x02\n" + "\x15SRv6InformationSubTLV\x12\x10\n" + "\x03sid\x18\x01 \x01(\fR\x03sid\x12'\n" + "\x05flags\x18\x02 \x01(\v2\x11.api.SRv6SIDFlagsR\x05flags\x12+\n" + "\x11endpoint_behavior\x18\x03 \x01(\rR\x10endpointBehavior\x12L\n" + "\fsub_sub_tlvs\x18\x04 \x03(\v2*.api.SRv6InformationSubTLV.SubSubTlvsEntryR\n" + "subSubTlvs\x1aR\n" + "\x0fSubSubTlvsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\rR\x03key\x12)\n" + "\x05value\x18\x02 \x01(\v2\x13.api.SRv6SubSubTLVsR\x05value:\x028\x01\"S\n" + "\n" + "SRv6SubTLV\x12>\n" + "\vinformation\x18\x01 \x01(\v2\x1a.api.SRv6InformationSubTLVH\x00R\vinformationB\x05\n" + "\x03tlv\"2\n" + "\vSRv6SubTLVs\x12#\n" + "\x04tlvs\x18\x01 \x03(\v2\x0f.api.SRv6SubTLVR\x04tlvs\"\x9f\x01\n" + "\x10SRv6L3ServiceTLV\x12=\n" + "\bsub_tlvs\x18\x01 \x03(\v2\".api.SRv6L3ServiceTLV.SubTlvsEntryR\asubTlvs\x1aL\n" + "\fSubTlvsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\rR\x03key\x12&\n" + "\x05value\x18\x02 \x01(\v2\x10.api.SRv6SubTLVsR\x05value:\x028\x01\"\x9f\x01\n" + "\x10SRv6L2ServiceTLV\x12=\n" + "\bsub_tlvs\x18\x01 \x03(\v2\".api.SRv6L2ServiceTLV.SubTlvsEntryR\asubTlvs\x1aL\n" + "\fSubTlvsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\rR\x03key\x12&\n" + "\x05value\x18\x02 \x01(\v2\x10.api.SRv6SubTLVsR\x05value:\x028\x01\"\xb1\x01\n" + "\tPrefixSID\x12&\n" + "\x04tlvs\x18\x01 \x03(\v2\x12.api.PrefixSID.TLVR\x04tlvs\x1a|\n" + "\x03TLV\x126\n" + "\n" + "l3_service\x18\x03 \x01(\v2\x15.api.SRv6L3ServiceTLVH\x00R\tl3Service\x126\n" + "\n" + "l2_service\x18\x04 \x01(\v2\x15.api.SRv6L2ServiceTLVH\x00R\tl2ServiceB\x05\n" + "\x03tlv*\xae\n" + "\n" + "\fSRV6Behavior\x12\x1d\n" + "\x19SRV6_BEHAVIOR_UNSPECIFIED\x10\x00\x12\x15\n" + "\x11SRV6_BEHAVIOR_END\x10\x01\x12\x1e\n" + "\x1aSRV6_BEHAVIOR_END_WITH_PSP\x10\x02\x12\x1e\n" + "\x1aSRV6_BEHAVIOR_END_WITH_USP\x10\x03\x12\"\n" + "\x1eSRV6_BEHAVIOR_END_WITH_PSP_USP\x10\x04\x12\x16\n" + "\x12SRV6_BEHAVIOR_ENDX\x10\x05\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_ENDX_WITH_PSP\x10\x06\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_ENDX_WITH_USP\x10\a\x12#\n" + "\x1fSRV6_BEHAVIOR_ENDX_WITH_PSP_USP\x10\b\x12\x16\n" + "\x12SRV6_BEHAVIOR_ENDT\x10\t\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_ENDT_WITH_PSP\x10\n" + "\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_ENDT_WITH_USP\x10\v\x12#\n" + "\x1fSRV6_BEHAVIOR_ENDT_WITH_PSP_USP\x10\f\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_END_B6_ENCAPS\x10\x0e\x12\x18\n" + "\x14SRV6_BEHAVIOR_END_BM\x10\x0f\x12\x19\n" + "\x15SRV6_BEHAVIOR_END_DX6\x10\x10\x12\x19\n" + "\x15SRV6_BEHAVIOR_END_DX4\x10\x11\x12\x19\n" + "\x15SRV6_BEHAVIOR_END_DT6\x10\x12\x12\x19\n" + "\x15SRV6_BEHAVIOR_END_DT4\x10\x13\x12\x1a\n" + "\x16SRV6_BEHAVIOR_END_DT46\x10\x14\x12\x19\n" + "\x15SRV6_BEHAVIOR_END_DX2\x10\x15\x12\x1a\n" + "\x16SRV6_BEHAVIOR_END_DX2V\x10\x16\x12\x1a\n" + "\x16SRV6_BEHAVIOR_END_DT2U\x10\x17\x12\x1a\n" + "\x16SRV6_BEHAVIOR_END_DT2M\x10\x18\x12#\n" + "\x1fSRV6_BEHAVIOR_END_B6_ENCAPS_RED\x10\x1b\x12\x1e\n" + "\x1aSRV6_BEHAVIOR_END_WITH_USD\x10\x1c\x12\"\n" + "\x1eSRV6_BEHAVIOR_END_WITH_PSP_USD\x10\x1d\x12\"\n" + "\x1eSRV6_BEHAVIOR_END_WITH_USP_USD\x10\x1e\x12&\n" + "\"SRV6_BEHAVIOR_END_WITH_PSP_USP_USD\x10\x1f\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_ENDX_WITH_USD\x10 \x12#\n" + "\x1fSRV6_BEHAVIOR_ENDX_WITH_PSP_USD\x10!\x12#\n" + "\x1fSRV6_BEHAVIOR_ENDX_WITH_USP_USD\x10\"\x12'\n" + "#SRV6_BEHAVIOR_ENDX_WITH_PSP_USP_USD\x10#\x12\x1f\n" + "\x1bSRV6_BEHAVIOR_ENDT_WITH_USD\x10$\x12#\n" + "\x1fSRV6_BEHAVIOR_ENDT_WITH_PSP_USD\x10%\x12#\n" + "\x1fSRV6_BEHAVIOR_ENDT_WITH_USP_USD\x10&\x12'\n" + "#SRV6_BEHAVIOR_ENDT_WITH_PSP_USP_USD\x10'\x12\x1c\n" + "\x18SRV6_BEHAVIOR_ENDM_GTP6D\x10E\x12\x1d\n" + "\x19SRV6_BEHAVIOR_ENDM_GTP6DI\x10F\x12\x1c\n" + "\x18SRV6_BEHAVIOR_ENDM_GTP6E\x10G\x12\x1c\n" + "\x18SRV6_BEHAVIOR_ENDM_GTP4E\x10H*y\n" + "\bENLPType\x12\x19\n" + "\x15ENLP_TYPE_UNSPECIFIED\x10\x00\x12\x13\n" + "\x0fENLP_TYPE_TYPE1\x10\x01\x12\x13\n" + "\x0fENLP_TYPE_TYPE2\x10\x02\x12\x13\n" + "\x0fENLP_TYPE_TYPE3\x10\x03\x12\x13\n" + "\x0fENLP_TYPE_TYPE4\x10\x04B\"Z github.com/osrg/gobgp/v4/api;apib\x06proto3" var ( file_api_attribute_proto_rawDescOnce sync.Once file_api_attribute_proto_rawDescData []byte ) func file_api_attribute_proto_rawDescGZIP() []byte { file_api_attribute_proto_rawDescOnce.Do(func() { file_api_attribute_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_attribute_proto_rawDesc), len(file_api_attribute_proto_rawDesc))) }) return file_api_attribute_proto_rawDescData } var file_api_attribute_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_api_attribute_proto_msgTypes = make([]protoimpl.MessageInfo, 86) var file_api_attribute_proto_goTypes = []any{ (SRV6Behavior)(0), // 0: api.SRV6Behavior (ENLPType)(0), // 1: api.ENLPType (AsSegment_Type)(0), // 2: api.AsSegment.Type (*Attribute)(nil), // 3: api.Attribute (*OriginAttribute)(nil), // 4: api.OriginAttribute (*AsSegment)(nil), // 5: api.AsSegment (*AsPathAttribute)(nil), // 6: api.AsPathAttribute (*NextHopAttribute)(nil), // 7: api.NextHopAttribute (*MultiExitDiscAttribute)(nil), // 8: api.MultiExitDiscAttribute (*LocalPrefAttribute)(nil), // 9: api.LocalPrefAttribute (*AtomicAggregateAttribute)(nil), // 10: api.AtomicAggregateAttribute (*AggregatorAttribute)(nil), // 11: api.AggregatorAttribute (*CommunitiesAttribute)(nil), // 12: api.CommunitiesAttribute (*OriginatorIdAttribute)(nil), // 13: api.OriginatorIdAttribute (*ClusterListAttribute)(nil), // 14: api.ClusterListAttribute (*MpReachNLRIAttribute)(nil), // 15: api.MpReachNLRIAttribute (*MpUnreachNLRIAttribute)(nil), // 16: api.MpUnreachNLRIAttribute (*ExtendedCommunitiesAttribute)(nil), // 17: api.ExtendedCommunitiesAttribute (*As4PathAttribute)(nil), // 18: api.As4PathAttribute (*As4AggregatorAttribute)(nil), // 19: api.As4AggregatorAttribute (*PmsiTunnelAttribute)(nil), // 20: api.PmsiTunnelAttribute (*TunnelEncapSubTLVEncapsulation)(nil), // 21: api.TunnelEncapSubTLVEncapsulation (*TunnelEncapSubTLVProtocol)(nil), // 22: api.TunnelEncapSubTLVProtocol (*TunnelEncapSubTLVColor)(nil), // 23: api.TunnelEncapSubTLVColor (*TunnelEncapSubTLVSRPreference)(nil), // 24: api.TunnelEncapSubTLVSRPreference (*TunnelEncapSubTLVSRCandidatePathName)(nil), // 25: api.TunnelEncapSubTLVSRCandidatePathName (*TunnelEncapSubTLVSRPriority)(nil), // 26: api.TunnelEncapSubTLVSRPriority (*TunnelEncapSubTLVSRBindingSID)(nil), // 27: api.TunnelEncapSubTLVSRBindingSID (*SRBindingSID)(nil), // 28: api.SRBindingSID (*SRv6EndPointBehavior)(nil), // 29: api.SRv6EndPointBehavior (*SRv6BindingSID)(nil), // 30: api.SRv6BindingSID (*TunnelEncapSubTLVSRENLP)(nil), // 31: api.TunnelEncapSubTLVSRENLP (*SRWeight)(nil), // 32: api.SRWeight (*SegmentFlags)(nil), // 33: api.SegmentFlags (*SegmentTypeA)(nil), // 34: api.SegmentTypeA (*SegmentTypeB)(nil), // 35: api.SegmentTypeB (*TunnelEncapSubTLVSRSegmentList)(nil), // 36: api.TunnelEncapSubTLVSRSegmentList (*TunnelEncapSubTLVEgressEndpoint)(nil), // 37: api.TunnelEncapSubTLVEgressEndpoint (*TunnelEncapSubTLVUDPDestPort)(nil), // 38: api.TunnelEncapSubTLVUDPDestPort (*TunnelEncapSubTLVUnknown)(nil), // 39: api.TunnelEncapSubTLVUnknown (*TunnelEncapTLV)(nil), // 40: api.TunnelEncapTLV (*TunnelEncapAttribute)(nil), // 41: api.TunnelEncapAttribute (*IPv6AddressSpecificExtended)(nil), // 42: api.IPv6AddressSpecificExtended (*RedirectIPv6AddressSpecificExtended)(nil), // 43: api.RedirectIPv6AddressSpecificExtended (*IP6ExtendedCommunitiesAttribute)(nil), // 44: api.IP6ExtendedCommunitiesAttribute (*AigpTLVIGPMetric)(nil), // 45: api.AigpTLVIGPMetric (*AigpTLVUnknown)(nil), // 46: api.AigpTLVUnknown (*AigpAttribute)(nil), // 47: api.AigpAttribute (*LargeCommunity)(nil), // 48: api.LargeCommunity (*LargeCommunitiesAttribute)(nil), // 49: api.LargeCommunitiesAttribute (*LsNodeFlags)(nil), // 50: api.LsNodeFlags (*LsIGPFlags)(nil), // 51: api.LsIGPFlags (*LsSrRange)(nil), // 52: api.LsSrRange (*LsSrCapabilities)(nil), // 53: api.LsSrCapabilities (*LsSrLocalBlock)(nil), // 54: api.LsSrLocalBlock (*LsAttributeNode)(nil), // 55: api.LsAttributeNode (*LsAttributeFlexAlgoDef)(nil), // 56: api.LsAttributeFlexAlgoDef (*LsAttributeLink)(nil), // 57: api.LsAttributeLink (*LsAttributePrefix)(nil), // 58: api.LsAttributePrefix (*LsAttributePrefixSID)(nil), // 59: api.LsAttributePrefixSID (*LsAttributeFADPrefixMetric)(nil), // 60: api.LsAttributeFADPrefixMetric (*LsBgpPeerSegmentSIDFlags)(nil), // 61: api.LsBgpPeerSegmentSIDFlags (*LsBgpPeerSegmentSID)(nil), // 62: api.LsBgpPeerSegmentSID (*LsAttributeBgpPeerSegment)(nil), // 63: api.LsAttributeBgpPeerSegment (*LsSrv6EndXSID)(nil), // 64: api.LsSrv6EndXSID (*LsSrv6SIDStructure)(nil), // 65: api.LsSrv6SIDStructure (*LsSrv6EndpointBehavior)(nil), // 66: api.LsSrv6EndpointBehavior (*LsSrv6BgpPeerNodeSID)(nil), // 67: api.LsSrv6BgpPeerNodeSID (*LsAttributeSrv6SID)(nil), // 68: api.LsAttributeSrv6SID (*LsAttribute)(nil), // 69: api.LsAttribute (*UnknownAttribute)(nil), // 70: api.UnknownAttribute (*SRv6StructureSubSubTLV)(nil), // 71: api.SRv6StructureSubSubTLV (*SRv6SubSubTLV)(nil), // 72: api.SRv6SubSubTLV (*SRv6SubSubTLVs)(nil), // 73: api.SRv6SubSubTLVs (*SRv6SIDFlags)(nil), // 74: api.SRv6SIDFlags (*SRv6InformationSubTLV)(nil), // 75: api.SRv6InformationSubTLV (*SRv6SubTLV)(nil), // 76: api.SRv6SubTLV (*SRv6SubTLVs)(nil), // 77: api.SRv6SubTLVs (*SRv6L3ServiceTLV)(nil), // 78: api.SRv6L3ServiceTLV (*SRv6L2ServiceTLV)(nil), // 79: api.SRv6L2ServiceTLV (*PrefixSID)(nil), // 80: api.PrefixSID (*TunnelEncapSubTLVSRSegmentList_Segment)(nil), // 81: api.TunnelEncapSubTLVSRSegmentList.Segment (*TunnelEncapTLV_TLV)(nil), // 82: api.TunnelEncapTLV.TLV (*IP6ExtendedCommunitiesAttribute_Community)(nil), // 83: api.IP6ExtendedCommunitiesAttribute.Community (*AigpAttribute_TLV)(nil), // 84: api.AigpAttribute.TLV nil, // 85: api.SRv6InformationSubTLV.SubSubTlvsEntry nil, // 86: api.SRv6L3ServiceTLV.SubTlvsEntry nil, // 87: api.SRv6L2ServiceTLV.SubTlvsEntry (*PrefixSID_TLV)(nil), // 88: api.PrefixSID.TLV (*Family)(nil), // 89: api.Family (*NLRI)(nil), // 90: api.NLRI (*ExtendedCommunity)(nil), // 91: api.ExtendedCommunity } var file_api_attribute_proto_depIdxs = []int32{ 70, // 0: api.Attribute.unknown:type_name -> api.UnknownAttribute 4, // 1: api.Attribute.origin:type_name -> api.OriginAttribute 6, // 2: api.Attribute.as_path:type_name -> api.AsPathAttribute 7, // 3: api.Attribute.next_hop:type_name -> api.NextHopAttribute 8, // 4: api.Attribute.multi_exit_disc:type_name -> api.MultiExitDiscAttribute 9, // 5: api.Attribute.local_pref:type_name -> api.LocalPrefAttribute 10, // 6: api.Attribute.atomic_aggregate:type_name -> api.AtomicAggregateAttribute 11, // 7: api.Attribute.aggregator:type_name -> api.AggregatorAttribute 12, // 8: api.Attribute.communities:type_name -> api.CommunitiesAttribute 13, // 9: api.Attribute.originator_id:type_name -> api.OriginatorIdAttribute 14, // 10: api.Attribute.cluster_list:type_name -> api.ClusterListAttribute 15, // 11: api.Attribute.mp_reach:type_name -> api.MpReachNLRIAttribute 16, // 12: api.Attribute.mp_unreach:type_name -> api.MpUnreachNLRIAttribute 17, // 13: api.Attribute.extended_communities:type_name -> api.ExtendedCommunitiesAttribute 18, // 14: api.Attribute.as4_path:type_name -> api.As4PathAttribute 19, // 15: api.Attribute.as4_aggregator:type_name -> api.As4AggregatorAttribute 20, // 16: api.Attribute.pmsi_tunnel:type_name -> api.PmsiTunnelAttribute 41, // 17: api.Attribute.tunnel_encap:type_name -> api.TunnelEncapAttribute 44, // 18: api.Attribute.ip6_extended_communities:type_name -> api.IP6ExtendedCommunitiesAttribute 47, // 19: api.Attribute.aigp:type_name -> api.AigpAttribute 49, // 20: api.Attribute.large_communities:type_name -> api.LargeCommunitiesAttribute 69, // 21: api.Attribute.ls:type_name -> api.LsAttribute 80, // 22: api.Attribute.prefix_sid:type_name -> api.PrefixSID 2, // 23: api.AsSegment.type:type_name -> api.AsSegment.Type 5, // 24: api.AsPathAttribute.segments:type_name -> api.AsSegment 89, // 25: api.MpReachNLRIAttribute.family:type_name -> api.Family 90, // 26: api.MpReachNLRIAttribute.nlris:type_name -> api.NLRI 89, // 27: api.MpUnreachNLRIAttribute.family:type_name -> api.Family 90, // 28: api.MpUnreachNLRIAttribute.nlris:type_name -> api.NLRI 91, // 29: api.ExtendedCommunitiesAttribute.communities:type_name -> api.ExtendedCommunity 5, // 30: api.As4PathAttribute.segments:type_name -> api.AsSegment 28, // 31: api.TunnelEncapSubTLVSRBindingSID.sr_binding_sid:type_name -> api.SRBindingSID 30, // 32: api.TunnelEncapSubTLVSRBindingSID.srv6_binding_sid:type_name -> api.SRv6BindingSID 0, // 33: api.SRv6EndPointBehavior.behavior:type_name -> api.SRV6Behavior 29, // 34: api.SRv6BindingSID.endpoint_behavior_structure:type_name -> api.SRv6EndPointBehavior 1, // 35: api.TunnelEncapSubTLVSRENLP.enlp:type_name -> api.ENLPType 33, // 36: api.SegmentTypeA.flags:type_name -> api.SegmentFlags 33, // 37: api.SegmentTypeB.flags:type_name -> api.SegmentFlags 29, // 38: api.SegmentTypeB.endpoint_behavior_structure:type_name -> api.SRv6EndPointBehavior 32, // 39: api.TunnelEncapSubTLVSRSegmentList.weight:type_name -> api.SRWeight 81, // 40: api.TunnelEncapSubTLVSRSegmentList.segments:type_name -> api.TunnelEncapSubTLVSRSegmentList.Segment 82, // 41: api.TunnelEncapTLV.tlvs:type_name -> api.TunnelEncapTLV.TLV 40, // 42: api.TunnelEncapAttribute.tlvs:type_name -> api.TunnelEncapTLV 83, // 43: api.IP6ExtendedCommunitiesAttribute.communities:type_name -> api.IP6ExtendedCommunitiesAttribute.Community 84, // 44: api.AigpAttribute.tlvs:type_name -> api.AigpAttribute.TLV 48, // 45: api.LargeCommunitiesAttribute.communities:type_name -> api.LargeCommunity 52, // 46: api.LsSrCapabilities.ranges:type_name -> api.LsSrRange 52, // 47: api.LsSrLocalBlock.ranges:type_name -> api.LsSrRange 50, // 48: api.LsAttributeNode.flags:type_name -> api.LsNodeFlags 53, // 49: api.LsAttributeNode.sr_capabilities:type_name -> api.LsSrCapabilities 54, // 50: api.LsAttributeNode.sr_local_block:type_name -> api.LsSrLocalBlock 56, // 51: api.LsAttributeNode.flex_algo_defs:type_name -> api.LsAttributeFlexAlgoDef 64, // 52: api.LsAttributeLink.srv6_end_x_sid:type_name -> api.LsSrv6EndXSID 51, // 53: api.LsAttributePrefix.igp_flags:type_name -> api.LsIGPFlags 59, // 54: api.LsAttributePrefix.sr_prefix_sids:type_name -> api.LsAttributePrefixSID 60, // 55: api.LsAttributePrefix.fad_prefix_metrics:type_name -> api.LsAttributeFADPrefixMetric 61, // 56: api.LsBgpPeerSegmentSID.flags:type_name -> api.LsBgpPeerSegmentSIDFlags 62, // 57: api.LsAttributeBgpPeerSegment.bgp_peer_node_sid:type_name -> api.LsBgpPeerSegmentSID 62, // 58: api.LsAttributeBgpPeerSegment.bgp_peer_adjacency_sid:type_name -> api.LsBgpPeerSegmentSID 62, // 59: api.LsAttributeBgpPeerSegment.bgp_peer_set_sid:type_name -> api.LsBgpPeerSegmentSID 65, // 60: api.LsSrv6EndXSID.srv6_sid_structure:type_name -> api.LsSrv6SIDStructure 65, // 61: api.LsAttributeSrv6SID.srv6_sid_structure:type_name -> api.LsSrv6SIDStructure 66, // 62: api.LsAttributeSrv6SID.srv6_endpoint_behavior:type_name -> api.LsSrv6EndpointBehavior 67, // 63: api.LsAttributeSrv6SID.srv6_bgp_peer_node_sid:type_name -> api.LsSrv6BgpPeerNodeSID 55, // 64: api.LsAttribute.node:type_name -> api.LsAttributeNode 57, // 65: api.LsAttribute.link:type_name -> api.LsAttributeLink 58, // 66: api.LsAttribute.prefix:type_name -> api.LsAttributePrefix 63, // 67: api.LsAttribute.bgp_peer_segment:type_name -> api.LsAttributeBgpPeerSegment 68, // 68: api.LsAttribute.srv6_sid:type_name -> api.LsAttributeSrv6SID 71, // 69: api.SRv6SubSubTLV.structure:type_name -> api.SRv6StructureSubSubTLV 72, // 70: api.SRv6SubSubTLVs.tlvs:type_name -> api.SRv6SubSubTLV 74, // 71: api.SRv6InformationSubTLV.flags:type_name -> api.SRv6SIDFlags 85, // 72: api.SRv6InformationSubTLV.sub_sub_tlvs:type_name -> api.SRv6InformationSubTLV.SubSubTlvsEntry 75, // 73: api.SRv6SubTLV.information:type_name -> api.SRv6InformationSubTLV 76, // 74: api.SRv6SubTLVs.tlvs:type_name -> api.SRv6SubTLV 86, // 75: api.SRv6L3ServiceTLV.sub_tlvs:type_name -> api.SRv6L3ServiceTLV.SubTlvsEntry 87, // 76: api.SRv6L2ServiceTLV.sub_tlvs:type_name -> api.SRv6L2ServiceTLV.SubTlvsEntry 88, // 77: api.PrefixSID.tlvs:type_name -> api.PrefixSID.TLV 34, // 78: api.TunnelEncapSubTLVSRSegmentList.Segment.a:type_name -> api.SegmentTypeA 35, // 79: api.TunnelEncapSubTLVSRSegmentList.Segment.b:type_name -> api.SegmentTypeB 39, // 80: api.TunnelEncapTLV.TLV.unknown:type_name -> api.TunnelEncapSubTLVUnknown 21, // 81: api.TunnelEncapTLV.TLV.encapsulation:type_name -> api.TunnelEncapSubTLVEncapsulation 22, // 82: api.TunnelEncapTLV.TLV.protocol:type_name -> api.TunnelEncapSubTLVProtocol 23, // 83: api.TunnelEncapTLV.TLV.color:type_name -> api.TunnelEncapSubTLVColor 37, // 84: api.TunnelEncapTLV.TLV.egress_endpoint:type_name -> api.TunnelEncapSubTLVEgressEndpoint 38, // 85: api.TunnelEncapTLV.TLV.udp_dest_port:type_name -> api.TunnelEncapSubTLVUDPDestPort 24, // 86: api.TunnelEncapTLV.TLV.sr_preference:type_name -> api.TunnelEncapSubTLVSRPreference 26, // 87: api.TunnelEncapTLV.TLV.sr_priority:type_name -> api.TunnelEncapSubTLVSRPriority 25, // 88: api.TunnelEncapTLV.TLV.sr_candidate_path_name:type_name -> api.TunnelEncapSubTLVSRCandidatePathName 31, // 89: api.TunnelEncapTLV.TLV.sr_enlp:type_name -> api.TunnelEncapSubTLVSRENLP 27, // 90: api.TunnelEncapTLV.TLV.sr_binding_sid:type_name -> api.TunnelEncapSubTLVSRBindingSID 36, // 91: api.TunnelEncapTLV.TLV.sr_segment_list:type_name -> api.TunnelEncapSubTLVSRSegmentList 42, // 92: api.IP6ExtendedCommunitiesAttribute.Community.ipv6_address_specific:type_name -> api.IPv6AddressSpecificExtended 43, // 93: api.IP6ExtendedCommunitiesAttribute.Community.redirect_ipv6_address_specific:type_name -> api.RedirectIPv6AddressSpecificExtended 46, // 94: api.AigpAttribute.TLV.unknown:type_name -> api.AigpTLVUnknown 45, // 95: api.AigpAttribute.TLV.igp_metric:type_name -> api.AigpTLVIGPMetric 73, // 96: api.SRv6InformationSubTLV.SubSubTlvsEntry.value:type_name -> api.SRv6SubSubTLVs 77, // 97: api.SRv6L3ServiceTLV.SubTlvsEntry.value:type_name -> api.SRv6SubTLVs 77, // 98: api.SRv6L2ServiceTLV.SubTlvsEntry.value:type_name -> api.SRv6SubTLVs 78, // 99: api.PrefixSID.TLV.l3_service:type_name -> api.SRv6L3ServiceTLV 79, // 100: api.PrefixSID.TLV.l2_service:type_name -> api.SRv6L2ServiceTLV 101, // [101:101] is the sub-list for method output_type 101, // [101:101] is the sub-list for method input_type 101, // [101:101] is the sub-list for extension type_name 101, // [101:101] is the sub-list for extension extendee 0, // [0:101] is the sub-list for field type_name } func init() { file_api_attribute_proto_init() } func file_api_attribute_proto_init() { if File_api_attribute_proto != nil { return } file_api_common_proto_init() file_api_extcom_proto_init() file_api_nlri_proto_init() file_api_attribute_proto_msgTypes[0].OneofWrappers = []any{ (*Attribute_Unknown)(nil), (*Attribute_Origin)(nil), (*Attribute_AsPath)(nil), (*Attribute_NextHop)(nil), (*Attribute_MultiExitDisc)(nil), (*Attribute_LocalPref)(nil), (*Attribute_AtomicAggregate)(nil), (*Attribute_Aggregator)(nil), (*Attribute_Communities)(nil), (*Attribute_OriginatorId)(nil), (*Attribute_ClusterList)(nil), (*Attribute_MpReach)(nil), (*Attribute_MpUnreach)(nil), (*Attribute_ExtendedCommunities)(nil), (*Attribute_As4Path)(nil), (*Attribute_As4Aggregator)(nil), (*Attribute_PmsiTunnel)(nil), (*Attribute_TunnelEncap)(nil), (*Attribute_Ip6ExtendedCommunities)(nil), (*Attribute_Aigp)(nil), (*Attribute_LargeCommunities)(nil), (*Attribute_Ls)(nil), (*Attribute_PrefixSid)(nil), } file_api_attribute_proto_msgTypes[24].OneofWrappers = []any{ (*TunnelEncapSubTLVSRBindingSID_SrBindingSid)(nil), (*TunnelEncapSubTLVSRBindingSID_Srv6BindingSid)(nil), } file_api_attribute_proto_msgTypes[69].OneofWrappers = []any{ (*SRv6SubSubTLV_Structure)(nil), } file_api_attribute_proto_msgTypes[73].OneofWrappers = []any{ (*SRv6SubTLV_Information)(nil), } file_api_attribute_proto_msgTypes[78].OneofWrappers = []any{ (*TunnelEncapSubTLVSRSegmentList_Segment_A)(nil), (*TunnelEncapSubTLVSRSegmentList_Segment_B)(nil), } file_api_attribute_proto_msgTypes[79].OneofWrappers = []any{ (*TunnelEncapTLV_TLV_Unknown)(nil), (*TunnelEncapTLV_TLV_Encapsulation)(nil), (*TunnelEncapTLV_TLV_Protocol)(nil), (*TunnelEncapTLV_TLV_Color)(nil), (*TunnelEncapTLV_TLV_EgressEndpoint)(nil), (*TunnelEncapTLV_TLV_UdpDestPort)(nil), (*TunnelEncapTLV_TLV_SrPreference)(nil), (*TunnelEncapTLV_TLV_SrPriority)(nil), (*TunnelEncapTLV_TLV_SrCandidatePathName)(nil), (*TunnelEncapTLV_TLV_SrEnlp)(nil), (*TunnelEncapTLV_TLV_SrBindingSid)(nil), (*TunnelEncapTLV_TLV_SrSegmentList)(nil), } file_api_attribute_proto_msgTypes[80].OneofWrappers = []any{ (*IP6ExtendedCommunitiesAttribute_Community_Ipv6AddressSpecific)(nil), (*IP6ExtendedCommunitiesAttribute_Community_RedirectIpv6AddressSpecific)(nil), } file_api_attribute_proto_msgTypes[81].OneofWrappers = []any{ (*AigpAttribute_TLV_Unknown)(nil), (*AigpAttribute_TLV_IgpMetric)(nil), } file_api_attribute_proto_msgTypes[85].OneofWrappers = []any{ (*PrefixSID_TLV_L3Service)(nil), (*PrefixSID_TLV_L2Service)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_attribute_proto_rawDesc), len(file_api_attribute_proto_rawDesc)), NumEnums: 3, NumMessages: 86, NumExtensions: 0, NumServices: 0, }, GoTypes: file_api_attribute_proto_goTypes, DependencyIndexes: file_api_attribute_proto_depIdxs, EnumInfos: file_api_attribute_proto_enumTypes, MessageInfos: file_api_attribute_proto_msgTypes, }.Build() File_api_attribute_proto = out.File file_api_attribute_proto_goTypes = nil file_api_attribute_proto_depIdxs = nil }